include

Branch


Log

Author Commit Date CI Message
Brent Cook 7ed28d2f 2025-10-07T05:38:30 add mkstemp for msvc builds
Theo Buehler e4e25cd2 2025-08-26T00:47:10 Make opensslconf.h MI again
Theo Buehler 23a96ede 2025-08-15T23:00:00 Mop up RC4_CHUNK - opensslconf.h is now MI Change-Id: I6a6a69646afcda5abaa40e9efb586abb80eeafb5
Theo Buehler 72181713 2025-07-27T15:29:05 Sync DES_UNROLL removal from opensslconf.h Change-Id: I6a6a6964d015e92505a3a24785cdc3ea2535ad5e
Theo Buehler 18024b9d 2025-07-22T18:40:35 Sync BN_LLONG removal from opensslconf.h Change-Id: I6a6a6964e4319a0fb0a0ecf5b4f6ea226beca433
Theo Buehler 80ec6b92 2025-07-07T16:52:33 Add missing loongarch64/opensslconf.h Fixes #1183
Theo Buehler 39248106 2025-06-10T15:15:39 Garbage collect BF_PTR Change-Id: I6a6a6964f3ff8920845f29bc620ef51d94c3f5f4
Theo Buehler 5c4a7673 2025-06-09T16:42:25 Remove MI constants which now live in other headers
Theo Buehler fa0d2b1c 2025-06-09T10:55:25 Remove ${MULTIPLE_OF_EIGHT}_BIT*
Theo Buehler 2a0571ec 2025-06-09T10:54:04 Remove DES_PTR
Theo Buehler fde752e9 2025-06-05T11:17:57 sync opensslconf.h: remove DES_RISC* logic Change-Id: I6a6a696436b84c468fe7fc86f7f026918c68bf6f
Theo Buehler dd7ad9c3 2025-06-05T08:39:51 sync opensslconf.h: only HEADER_DES_H remains Change-Id: I6a6a6964d1f15bb620559cb4eaa57d323fe5e6f0
Theo Buehler bad9c1b8 2025-06-05T00:10:38 Remove md2 leftovers
Brent Cook 340037f6 2025-06-01T08:20:41 add autotools build copyright headers
Brent Cook c51665d4 2025-06-01T08:11:22 add copyright headers to Cmake files based on original committer and date
Brent Cook 9ba4b33d 2025-04-16T04:26:34 change prefix for fstat
Brent Cook 78b86a2a 2025-04-12T16:59:51 switch to using high bit for fd detection of file/socket
Theo Buehler 1087da12 2025-04-11T18:31:04 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
Ivan A. Melnikov 031c2f17 2025-04-10T17:09:19 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>
Cameron Lowell Palmer 5626ce43 2024-12-20T06:52:34 Add in missing endianess functions for Apple targets
Theo Buehler bf808ea0 2024-12-19T20:24:33 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.
Theo Buehler d58e3559 2024-11-23T13:32:04 Attempt to fix windows
Theo Buehler 3467d6f2 2024-08-02T21:54:08 Attempt to fix 2038 problem with MSVC
Thomas Petazzoni 3b5f0177 2024-07-13T14:32:29 include/CMakeLists.txt: error out when architecture is not supported Since commit b98c56fd5e86fa76eb55a98a2266a923f64f705c ("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>
Viktor Szakats a279b68b 2024-06-05T21:05:24 distribute `compat/stdint.h` Fixes #1064
Theo Buehler f9874d49 2024-05-25T08:56:45 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.
Brent Cook 53edbd00 2024-02-25T18:29:14 define _MSC_VER when preprocessing, add guards
Brent Cook 950b5bc1 2024-02-25T18:12:24 include placeholder cet.h for cpp
Christian Andersen 5bd332ec 2024-02-04T19:16:14 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.
Theo Buehler c515f245 2023-12-19T20:18:29 pthread_once() returns an error code on failure
Theo Buehler f6f90b97 2023-12-14T18:28:55 Fix build on windows
Theo Buehler 0491aef8 2023-12-12T23:20:44 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
Theo Buehler 0d8aa3eb 2023-12-12T08:25:37 Land #964
Viktor Szakats 529f90dd 2023-12-11T21:53:59 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
Theo Buehler 0a446e81 2023-11-18T10:53:09 Prefix some compat symbols with libressl_ See #928. This isn't a full fix, but should remove much of the friction already.
Brent Cook 1fd73818 2023-10-15T19:05:29 adjust how sizeof time_t is set, the current way causes issues with MSVC 2022's preprocessor
Pierre Wendling c4bb6b79 2023-09-12T18:33:46 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)
Brent Cook 1defa3ba 2023-10-01T21:11:11 package getopt compat files
Pierre Wendling 5432e22b 2023-08-06T15:04:02 CMake: Copy public headers to the build directory.
Theo Buehler ebc38481 2023-08-17T20:46:14 Simplify and fix solaris endian.h macros Fixes #898
Brent Cook 29159e34 2023-08-16T05:20:48 add htole32/le32toh for Solaris
Theo Buehler 3c49cfb3 2023-08-15T23:52:26 Add htole32 and le32toh for macos and windows Windows assumes little endian for now...
Brent Cook 7463f87c 2023-07-07T11:46:21 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.
Brent Cook 4aa76421 2023-07-06T11:06:25 update endian compatibility shim Prefer function-like macros where possible, some style tweaks, and add Solaris support.
Brent Cook 3a757272 2023-07-05T07:08:32 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.
Brent Cook 71ce0b8c 2023-07-04T10:37:24 generate opensslconf.h in build dir for cmake
Theo Buehler 765a8fac 2023-05-17T16:49:25 endian.h: Use POSIX names instead old BSD names
Theo Buehler 7f319186 2023-04-11T16:37:04 attempt to appease mingw32
Theo Buehler 6bbcefa4 2023-04-11T16:06:24 Import endianness compat from iked (via tobhe)
Brent Cook 6501696d 2023-03-23T06:35:41 generate opensslconf.h for mips
Brent Cook 73d924f6 2023-03-23T06:07:31 fix mips/mips64 builds
Brent Cook b98c56fd 2023-02-28T01:51:41 stop exposing hidden defines in public opensslconf.h pull in hidden headers instead, patching drectly for Windows support
Brent Cook 8fc30eca 2023-02-21T00:25:04 generate and include arch-specific headers for CMake builds
Brent Cook c3e1e50c 2023-02-15T19:32:16 update Makefile.am.tpl to build and install correct opensslconf.h
Brent Cook 3c7747fd 2023-02-15T07:56:44 generate opensslconf.h based on host cpu architecture
Jiajie Chen ef2d6c70 2022-07-12T22:29:39 Detect machine/endian.h for macOS
Sebastian Blunt fe903fb7 2022-04-15T23:48:50 Fix unreachable nc portability shim This fixes nc failing to run on darwin due to it incorrectly setting the linux-specific SOCK_NONBLOCK flag on connect. nc already had a portability shim in apps/nc/compat/sys/socket.h, which kicks in if SOCK_NONBLOCK is undefined. But that header includes include/compat/sys/socket.h, which also has a portability shim that defines a default value for SOCK_NONBLOCK if it's undefined. Thus the first portability shim was unreachable. Fixes this by moving the NEED_SOCKET_FLAGS flag into the outer shim, and having the inner shim activate if NEED_SOCKET_FLAGS is defined. This closes https://github.com/libressl-portable/portable/issues/631
Brent Cook f6deadbe 2022-03-16T04:21:18 add vwarnx
Brent Cook f6906672 2021-11-09T22:34:58 Autoconf updates Move machine/endian.h to endian.h, use AC_HEADER_RESOLV over individual header checks, and include prerequisites for netinet/ip.h check.
Jonas 'Sortie' Termansen fcf6c877 2021-10-03T13:33:16 Support operating systems without some non-POSIX headers The arpa/nameser.h, netinet/ip.h, and resolv.h headers are not crucial to building LibreSSL. The netinet/ip.h header is used in nc(1) for optional IPTOS_ features that can be ifdef'd on systems without support. The endian.h header is the upcoming standard header and should be used whenever available and correct. The machine/endian.h header is non-standard and doesn't have to exist on POSIX systems. Fix the check for getpagesize(3) not forward declaring the function, such that CFLAGS with -Werror=implicit-function-declaration doesn't cause the check to fail.
Brent Cook 921c0675 2021-04-05T02:32:35 Add '--enable-libtls-only' build option
Brent Cook 90f1c4db 2021-02-28T10:04:51 fix leak in Windows version of pthread_mutex_free Free the lock pointer in addition to the critical section. Thanks to martinkucera74 on github.
Brent Cook 527482b5 2020-12-21T09:39:12 add win32 pthread_mutex_destroy implementation
Joel Sing 17c88164 2020-09-20T02:09:35 Make pthread_mutex static initialisation work on Windows. This takes the dynamic initialisation code added to CRYPTO_lock() in e5081719 and applies it to the Window's pthread_mutex implementation. This allows for PTHREAD_MUTEX_INITIALIZER to be used on Windows. bcook has agreed to place this code in the public domain (as per the rest of the code in pthread.h).
kinichiro 461ec453 2020-09-13T12:58:37 Add queue.h tree.h _null.h Import queue.h tree.h _null.h header files from OpenBSD upstream since x509_issuer_cache.c requires them.
kinichiro 65b01cff 2020-09-13T12:55:02 Add PTHREAD_MUTEX_INITIALIZER
kinichiro 7bf5edc4 2020-07-22T21:32:34 Add architecture define for s390/s390x and remove redundant sparc check
kinichiro 74235827 2020-07-15T01:25:34 Get __STRICT_ALIGNMENT from machine/endian.h
Brent Cook e34586db 2020-04-14T22:38:10 include <windows.h>
Brent Cook 79f2a52a 2020-04-14T22:29:37 avoid exporting a sleep() symbol from libcrypto Since it seems only MSVC lacks sleep(), and it's only used by apps, lets special-case that and make it available as a static inline function instead.
Ørjan Malde b80c4bf2 2019-10-20T20:22:22 initial support for midipix
Brent Cook a2befe33 2019-05-10T11:06:51 unconditionally define reallocarray deal with systems missing it but with it exported as a symbol
Brent Cook a67ba9f4 2019-04-11T07:28:49 add pthread_mutex* windows compat for libtls
Brent Cook 53524626 2019-02-09T09:03:13 add __dead__ annotation support
Brent Cook cc0a0e12 2019-02-01T05:14:57 add syslog to compat headers
Brent Cook a6d7ea95 2019-01-31T09:45:56 update autoconf for latest compat functions
Brent Cook b6479e01 2019-01-01T23:07:00 define in_port_t for Android
Brent Cook 7af3ba34 2019-01-06T13:20:29 add configure-time check for timespecsub
Brent Cook d5c155fc 2019-01-01T15:57:36 add stdint.h shim, include limits for SIZE_MAX on Android
Brent Cook 4f1c9507 2018-11-16T05:05:15 hide clock_gettime definition on WIN32
Brent Cook 387d2ae2 2018-11-11T11:00:00 change windows compatibility stubs for pthread_t to be more like other OSes
kinichiro 4fe24eb5 2018-08-22T00:12:56 Disable unveil
Sergei Trofimovich 787d8d24 2018-05-19T17:31:42 __warn_references: tweak assembly for "gnu.warning" section On some targets ';' (like hppa) is treated as a comment in assembly files. This occasionally causes the following assembly failures: ``` Error: can't resolve `.gnu.warning.EVP_DecryptFinal' {.gnu.warning.EVP_DecryptFinal section} - `.Ltext0' {.text section} ``` Note how branch (or other reference) attempts to cross the boundary across two section types: '.text' and '.gnu.warning'. Tobias Ulmer notes that openbsd already uses newlines for similar macro: https://github.com/openbsd/src/blob/master/sys/arch/hppa/include/cdefs.h This change switches from ';' to newline as well. Tested on hppa2.0 and x86_64. Reported-by: Jeroen Roovers Bug: https://bugs.gentoo.org/656104 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Brent Cook 31c98c29 2018-03-23T15:35:58 always allow upstream time.h to be visible
Brent Cook 6b513a1c 2018-03-23T13:45:05 add proper guard and typedef
Brent Cook 4b2a8cd1 2018-03-23T11:10:16 adjust definition of compat clock_gettime
Brent Cook 7ffaf004 2018-03-22T21:11:46 hide clock_gettime on win32
Brent Cook 987aa6a0 2018-03-22T20:50:24 add clock_gettime for macos 10.11 and earlier
Brent Cook 0e46c1e8 2018-03-18T10:36:51 add pthread_self/pthread_equal for win32
Brent Cook 0e69421d 2018-03-14T13:01:24 re-add headers for distribution
Brent Cook 4799f0d9 2018-03-14T12:58:48 syntax updates
Brent Cook cfdaa118 2018-03-14T12:56:26 prefer including windows.h over the internal header
Brent Cook d5608b38 2018-03-14T07:30:55 add pthread_once(3) implementation for Windows
Brent Cook 3fb9e63b 2018-03-14T07:29:04 bump base requirement to Windows Vista, use builtin inet_ntop/pton
kinichiro 3681d022 2018-02-25T01:59:39 Add compat bits for libtls on Windows
kinichiro f2953bc2 2018-02-11T23:31:43 Add file permission define for Windows and MinGW build
kinichiro 1f4bfb9a 2018-01-06T00:28:49 Call va_end soon after using variable length variable - This fix MSVC compiler warning C4702 "unreachable code".
kinichiro 965a8910 2017-12-25T16:30:49 Add CLOCK_MONOTONIC and timersub for the OS that does not have them
Brent Cook 7b6953e9 2017-12-12T03:31:35 add timerspecsub
Aric Belsito cbe57bef 2017-09-08T13:43:38 Some CMake Fixes. pqueue.h was getting installed when it shouldn't. pkgconfig files were not getting installed or generated.