include


Log

Author Commit Date CI Message
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.
d3x0r a4d80ca5 2017-07-06T23:11:11 Merge branch 'master' of https://github.com/libressl-portable/portable into SkipInstall Fix merge conflicts from GNUInstallDirs merge to master.
d3x0r 2557dd74 2017-07-06T02:09:44 Add option LIBRESSL_SKIP_INSTALL Internally LIBRESSL_SKIP_INSTALL, if not set becomes ENABLE_LIBRESSL_INSTALL so this by default is enabled. defining LIBRESSL_SKIP_INSTALL before hand will disable all install() rules. This is useful if another project includes and links to this statically. I chose to add a prefix to avoid potential name collision because the options are cached globally. If the installation is skipped, maybe it should also disable building apps? I didn't do that.
d3x0r a2bd5eba 2017-07-06T01:49:43 use GNUInstallDirs from cmake to specify install paths. Primarily this is to select whether 'lib64' or 'lib' is used on linux type systems.
kinichiro 530fbba1 2017-05-07T02:23:55 Add definition of in_addr_t for Windows build
kinichiro 048625cf 2017-04-22T23:08:17 Add freezero support
kinichiro c61c9821 2017-03-15T21:02:22 Add support for getpagesize
kinichiro 8877e9bc 2017-03-09T22:49:04 Add recallocarray
kinichiro fb936f89 2017-01-28T02:30:16 Move S_IRGRP and S_IROTH from fcntl.h to sys/stat.h - S_IRGRP and S_IROTH should be defined in sys/stat.h rather than fcntl.h - Old MinGW64 on Ubuntu 14.04 appears not to have S_IRGRP and S_IROTH - MinGW64 has __WIN32 defined but does not have _MSC_VER defined
kinichiro f5026b1f 2017-01-27T02:37:52 Add S_IRGRP and S_IROTH to include/compat/fcntl.h for ocspcheck
kinichiro e57ab149 2017-01-26T15:00:06 Add STDOUT_FILENO to include/compat/unistd.h
kinichiro 7dd0650d 2017-01-26T13:58:27 Add inet_ntop and memmem for ocspcheck
kinichiro b249f68e 2017-01-19T09:58:21 Fix fcntl.h shim since HP-UX 11.31 (ia64) does not define O_CLOEXEC
Brent Cook 3b2560fe 2017-01-16T10:36:05 MSVSC fixes
Brent Cook f21bd20c 2017-01-16T09:56:20 add open(2) shim to handle O_BINARY and O_CLOEXEC
Brent Cook 51a53876 2017-01-15T22:28:36 add fcntl shim
Brent Cook 057e7a85 2017-01-15T10:15:51 add noreturn attribute to compat functions
Brent Cook dfb6b11e 2017-01-15T04:30:41 include pipe2/socketpair compat for macOS
Brent Cook cb63e633 2016-10-30T23:14:03 define PATH_MAX in more msvc versions
kinichiro 14905877 2016-10-18T17:13:56 Enable tests on Visual Studio - add patch for aeadtest.c to undef IN - add patch for ocsp_test.c to call BIO_sock_init() before getaddrinfo() - define STDERR_FILENO in unistd.h to build pkcs7test.c - add option ENABLE_VSTEST(default OFF) to enable test on Visual Studio - modify to pass test data file as an argument (aeadtest, evptest) - add Windows scripts (ocsptest, pq_test, ssltest, testdsa, testenc, testrsa) - do not build pidwraptest on MSVC - fix some indentations
Brent Cook b7ba692f 2016-09-14T23:40:10 ensure that __STRING works
Brent Cook 08837a82 2016-09-04T09:04:01 more cdefs.h removal
Brent Cook 6f24864a 2016-09-04T07:57:13 cdefs.h should not be required anywhere
Brent Cook 6040ff04 2016-09-04T07:38:16 wire up sys/types.h to pull in sys/cdefs.h
kinichiro 2510a5e6 2016-04-07T15:08:12 modify cmake to build nc - modify structure of CMakeLists.txt under apps/ * move apps/CMakeLists.txt to apps/openssl/ since this is for openssl build * create new apps/nc/CMakeLists.txt for nc build * modify apps/CMakeLists.txt just add_subdirectory() - add checking and compile of arc4random_uniform() - add installing man files, openssl.1 and nc.1
kinichiro 14aa5f73 2016-03-13T19:17:24 modify include/compat/netinet/ip.h - add including <netinet/in_systm.h> for n_long on HP-UX
Brent Cook 8c91563f 2016-01-18T09:50:23 add solaris include for getentropy(2)
Brent Cook 07e541cc 2016-01-03T19:05:05 replace err.h macros with inline functions Passing NULL for the format is just easier with a function.
Brent Cook 38c577d7 2016-01-03T18:56:24 include strings.h in string.h on AIX as well