Theo Buehler
166e80048c
compat/netinet/ip.h: add compat define for IPTOS_DSCP_VA
2025-12-18 08:42:32 -07:00
Brent Cook
7ed28d2f50
add mkstemp for msvc builds
2025-10-07 05:38:30 -05:00
Theo Buehler
e4e25cd281
Make opensslconf.h MI again
2025-08-26 00:55:50 -06:00
Theo Buehler
23a96ede97
Mop up RC4_CHUNK - opensslconf.h is now MI
...
Change-Id: I6a6a69646afcda5abaa40e9efb586abb80eeafb5
2025-08-17 21:05:36 +02:00
Theo Buehler
7218171381
Sync DES_UNROLL removal from opensslconf.h
...
Change-Id: I6a6a6964d015e92505a3a24785cdc3ea2535ad5e
2025-07-27 15:29:19 +02:00
Theo Buehler
18024b9d62
Sync BN_LLONG removal from opensslconf.h
...
Change-Id: I6a6a6964e4319a0fb0a0ecf5b4f6ea226beca433
2025-07-22 18:40:54 +02:00
Theo Buehler
80ec6b9286
Add missing loongarch64/opensslconf.h
...
Fixes #1183
2025-07-07 17:01:57 +02:00
Theo Buehler
392481066b
Garbage collect BF_PTR
...
Change-Id: I6a6a6964f3ff8920845f29bc620ef51d94c3f5f4
2025-06-11 06:09:21 +02:00
Theo Buehler
5c4a7673b5
Remove MI constants which now live in other headers
2025-06-09 16:42:42 +02:00
Theo Buehler
fa0d2b1c87
Remove ${MULTIPLE_OF_EIGHT}_BIT*
2025-06-09 10:55:47 +02:00
Theo Buehler
2a0571ece2
Remove DES_PTR
2025-06-09 10:54:35 +02:00
Theo Buehler
fde752e948
sync opensslconf.h: remove DES_RISC* logic
...
Change-Id: I6a6a696436b84c468fe7fc86f7f026918c68bf6f
2025-06-06 12:52:58 +02:00
Theo Buehler
dd7ad9c30b
sync opensslconf.h: only HEADER_DES_H remains
...
Change-Id: I6a6a6964d1f15bb620559cb4eaa57d323fe5e6f0
2025-06-05 08:40:54 +02:00
Theo Buehler
bad9c1b83a
Remove md2 leftovers
2025-06-05 00:10:46 +02:00
Brent Cook
340037f69a
add autotools build copyright headers
2025-06-01 08:22:33 +07:00
Brent Cook
c51665d429
add copyright headers to Cmake files
...
based on original committer and date
2025-06-01 08:22:33 +07:00
Brent Cook
9ba4b33d66
change prefix for fstat
2025-04-16 04:26:34 -05:00
Brent Cook
78b86a2af6
switch to using high bit for fd detection of file/socket
2025-04-12 16:59:51 -05:00
Theo Buehler
1087da12fc
Sync opensslconf.h, add crypto_arch.h for mips
...
This was easy enough to make compile. As long as it doesn't get in the
way, I think we can keep this.
Fixes #1110
2025-04-12 18:06:24 +02:00
Ivan A. Melnikov
031c2f1722
Basic loongarch64 support
...
Just wire things up to make the project buildable
on LoongArch64.
opensslconf.h is taken form riscv64 folder as is,
and is the same as on some other 64 bit architectures.
Refs: https://github.com/libressl/portable/issues/1123
Signed-off-by: Ivan A. Melnikov <iv@altlinux.org >
2025-04-10 17:22:36 +04:00
Cameron Lowell Palmer
5626ce43e3
Add in missing endianess functions for Apple targets
2024-12-20 06:52:34 -06:00
Theo Buehler
bf808ea0fc
Provide getdelim and getline compat shims
...
These are portable implementations from NetBSD that are needed on
Windows and perhaps some other platforms with the new versions of
the mlkem tests.
2024-12-20 01:14:04 +01:00
Theo Buehler
d58e3559c2
Attempt to fix windows
2024-11-23 13:32:04 -07:00
Theo Buehler
3467d6f282
Attempt to fix 2038 problem with MSVC
2024-10-06 18:56:01 -05:00
Thomas Petazzoni
3b5f0177ff
include/CMakeLists.txt: error out when architecture is not supported
...
Since commit b98c56fd5e ("stop exposing
hidden defines in public opensslconf.h"), only a subset of CPU
architectures is supported by libressl. However, when a build is
attempted for an unsupported architecture, it doesn't fail with a
clear error message at configure time, but it fails with a weird error
at build time:
crypto/../include/openssl/rc4.h:75:9: error: unknown type name 'RC4_INT'
In order to help users, let's bail out nicely at configure time with a
good error message when the CPU architecture is not supported.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com >
2024-07-13 14:41:36 +02:00
Viktor Szakats
a279b68be9
distribute compat/stdint.h
...
Fixes #1064
2024-06-05 21:05:28 +02:00
Theo Buehler
f9874d49f6
Remove timegm() compat
...
Now that all uses of gmtime_r() and timegm() have been converted to
OPENSSL_gmtime() and OPENSSL_timegm(), this is no longer needed.
2024-05-25 13:49:18 +02:00
Brent Cook
53edbd00c1
define _MSC_VER when preprocessing, add guards
2024-02-25 18:29:14 -06:00
Brent Cook
950b5bc1fb
include placeholder cet.h for cpp
2024-02-25 18:12:24 -06:00
Christian Andersen
5bd332ec20
Windows: Improve the check for endianness when using Visual Studio.
...
Visual studio does not define __BYTE_ORDER__ so all architectures
were detected as LITTLE_ENDIAN since both __BYTE_ORDER__ and
__ORDER_LITTLE_ENDIAN__ would evaluate to 0 and compare equal. This
updates the checks to use CMakes detection of endianness, with a hard
error, if this also fails.
2024-02-04 22:24:10 +01:00
Theo Buehler
c515f24515
pthread_once() returns an error code on failure
2023-12-19 20:18:29 +01:00
Theo Buehler
f6f90b9779
Fix build on windows
2023-12-14 18:28:55 +01:00
Theo Buehler
0491aef86c
pthreads.h: avoid undefined behavior
...
You can't pass a function pointer through a void pointer.
So wrap the pthread callback in a struct.
Fixes #966
2023-12-12 23:25:06 +01:00
Theo Buehler
0d8aa3eb21
Land #964
2023-12-12 08:25:37 +01:00
Viktor Szakats
529f90ddd8
windows: minor compat header fixes
...
- posix_win.c: use `snprintf` as-is with _MSC_VER >= 1900
- stdio.h: include socket header before windows.h
- pthread.h: delete exec permission from source file
2023-12-11 21:56:09 +00:00
Theo Buehler
0a446e81ed
Prefix some compat symbols with libressl_
...
See #928 . This isn't a full fix, but should remove much of the friction
already.
2023-12-11 17:14:07 +01:00
Brent Cook
1fd73818df
adjust how sizeof time_t is set, the current way causes issues with MSVC 2022's preprocessor
2023-10-29 16:52:28 -05:00
Pierre Wendling
c4bb6b79ea
MSVC: Enable building ocspcheck.
...
- Add `STDIN_FILENO` to compat unistd header.
- Use quotes to include compat getopt header in the compat unistd.
- Export additional symbols needed by ocspcheck (optarg, optind,
ftruncate)
2023-10-29 12:28:44 -05:00
Brent Cook
1defa3baa5
package getopt compat files
2023-10-01 21:11:11 -05:00
Pierre Wendling
5432e22b25
CMake: Copy public headers to the build directory.
2023-08-19 12:16:15 -04:00
Theo Buehler
ebc38481f0
Simplify and fix solaris endian.h macros
...
Fixes #898
2023-08-17 21:15:41 +02:00
Brent Cook
29159e34e3
add htole32/le32toh for Solaris
2023-08-16 05:20:48 -05:00
Theo Buehler
3c49cfb344
Add htole32 and le32toh for macos and windows
...
Windows assumes little endian for now...
2023-08-16 00:03:48 +02:00
Brent Cook
7463f87cf1
add compat getopt implementation, remove patches
...
This adds a getopt implementation for compatibility where it is not
available, removing a couple of regress patches.
Note, this is a slightly modified copy from OpenBSD libc that doesn't
expose getopt_long, which has dependency conflicts with Windows system
headers and isn't needed anyway.
2023-07-07 12:11:20 +03:00
Brent Cook
4aa7642130
update endian compatibility shim
...
Prefer function-like macros where possible, some style tweaks, and add
Solaris support.
2023-07-06 11:07:42 +03:00
Brent Cook
3a757272d0
move attribute shims
...
There's not a great place for these, but since they are internal, we can
just move them to the most common header.
2023-07-05 07:08:32 -05:00
Brent Cook
71ce0b8c3e
generate opensslconf.h in build dir for cmake
2023-07-04 10:37:24 +03:00
Theo Buehler
765a8fac94
endian.h: Use POSIX names instead old BSD names
2023-05-17 16:49:25 +02:00
Theo Buehler
7f31918653
attempt to appease mingw32
2023-04-11 17:04:13 +02:00
Theo Buehler
6bbcefa48b
Import endianness compat from iked (via tobhe)
2023-04-11 16:06:24 +02:00