aboutsummaryrefslogtreecommitdiff
path: root/include/compat (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Attempt to fix 2038 problem with MSVCTheo Buehler2024-10-061-0/+9
|
* Remove timegm() compatTheo Buehler2024-05-251-9/+0
| | | | | Now that all uses of gmtime_r() and timegm() have been converted to OPENSSL_gmtime() and OPENSSL_timegm(), this is no longer needed.
* define _MSC_VER when preprocessing, add guardsBrent Cook2024-02-251-1/+7
|
* include placeholder cet.h for cppBrent Cook2024-02-251-0/+13
|
* Windows: Improve the check for endianness when using Visual Studio.Christian Andersen2024-02-041-1/+16
| | | | | | | | 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.
* pthread_once() returns an error code on failureTheo Buehler2023-12-191-1/+1
|
* Fix build on windowsTheo Buehler2023-12-141-0/+1
|
* pthreads.h: avoid undefined behaviorTheo Buehler2023-12-121-3/+8
| | | | | | | You can't pass a function pointer through a void pointer. So wrap the pthread callback in a struct. Fixes #966
* Land #964Theo Buehler2023-12-122-1/+1
|\
| * windows: minor compat header fixesViktor Szakats2023-12-112-1/+1
| | | | | | | | | | | | - 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
* | Prefix some compat symbols with libressl_Theo Buehler2023-12-113-0/+23
|/ | | | | See #928. This isn't a full fix, but should remove much of the friction already.
* adjust how sizeof time_t is set, the current way causes issues with MSVC ↵Brent Cook2023-10-291-0/+8
| | | | 2022's preprocessor
* MSVC: Enable building ocspcheck.Pierre Wendling2023-10-291-1/+2
| | | | | | | - 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)
* Simplify and fix solaris endian.h macrosTheo Buehler2023-08-171-7/+4
| | | | Fixes #898
* add htole32/le32toh for SolarisBrent Cook2023-08-161-0/+2
|
* Add htole32 and le32toh for macos and windowsTheo Buehler2023-08-161-0/+4
| | | | Windows assumes little endian for now...
* add compat getopt implementation, remove patchesBrent Cook2023-07-072-0/+54
| | | | | | | | | 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.
* update endian compatibility shimBrent Cook2023-07-061-18/+36
| | | | | Prefer function-like macros where possible, some style tweaks, and add Solaris support.
* move attribute shimsBrent Cook2023-07-052-12/+12
| | | | | There's not a great place for these, but since they are internal, we can just move them to the most common header.
* endian.h: Use POSIX names instead old BSD namesTheo Buehler2023-05-171-7/+7
|
* attempt to appease mingw32Theo Buehler2023-04-111-0/+9
|
* Import endianness compat from iked (via tobhe)Theo Buehler2023-04-111-0/+61
|
* Detect machine/endian.h for macOSJiajie Chen2022-07-121-0/+3
|
* Fix unreachable nc portability shimSebastian Blunt2022-04-151-0/+1
| | | | | | | | | | | | | | | | 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
* add vwarnxBrent Cook2022-03-161-3/+9
|
* Autoconf updatesBrent Cook2021-11-091-5/+2
| | | | | Move machine/endian.h to endian.h, use AC_HEADER_RESOLV over individual header checks, and include prerequisites for netinet/ip.h check.
* Support operating systems without some non-POSIX headersJonas 'Sortie' Termansen2021-10-034-2/+6
| | | | | | | | | | | | | | 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.
* fix leak in Windows version of pthread_mutex_freeBrent Cook2021-02-281-0/+1
| | | | | Free the lock pointer in addition to the critical section. Thanks to martinkucera74 on github.
* add win32 pthread_mutex_destroy implementationBrent Cook2020-12-211-0/+7
|
* Make pthread_mutex static initialisation work on Windows.Joel Sing2020-09-201-5/+23
| | | | | | | | | 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).
* Add queue.h tree.h _null.hkinichiro2020-09-133-0/+1560
| | | | | Import queue.h tree.h _null.h header files from OpenBSD upstream since x509_issuer_cache.c requires them.
* Add PTHREAD_MUTEX_INITIALIZERkinichiro2020-09-131-0/+5
|
* Add architecture define for s390/s390x and remove redundant sparc checkkinichiro2020-07-221-0/+1
|
* Get __STRICT_ALIGNMENT from machine/endian.hkinichiro2020-07-211-0/+10
|
* include <windows.h>Brent Cook2020-04-141-0/+1
|
* avoid exporting a sleep() symbol from libcryptoBrent Cook2020-04-141-1/+7
| | | | | | 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.
* initial support for midipixØrjan Malde2019-10-201-1/+1
|
* unconditionally define reallocarrayBrent Cook2019-05-101-2/+0
| | | | deal with systems missing it but with it exported as a symbol
* add pthread_mutex* windows compat for libtlsBrent Cook2019-04-111-0/+29
|
* add __dead__ annotation supportBrent Cook2019-02-091-0/+8
|
* update autoconf for latest compat functionsBrent Cook2019-01-312-0/+41
|
* define in_port_t for AndroidBrent Cook2019-01-071-0/+9
|
* add configure-time check for timespecsubBrent Cook2019-01-061-1/+6
|
* add stdint.h shim, include limits for SIZE_MAX on AndroidBrent Cook2019-01-011-0/+19
|
* hide clock_gettime definition on WIN32Brent Cook2018-11-161-0/+2
|
* change windows compatibility stubs for pthread_t to be more like other OSesBrent Cook2018-11-111-8/+3
|
* Disable unveilkinichiro2018-08-221-0/+1
|
* __warn_references: tweak assembly for "gnu.warning" sectionSergei Trofimovich2018-05-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* always allow upstream time.h to be visibleBrent Cook2018-03-231-3/+3
|
* add proper guard and typedefBrent Cook2018-03-231-1/+7
|