aboutsummaryrefslogtreecommitdiff
path: root/include (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Basic loongarch64 supportIvan A. Melnikov2025-04-103-0/+159
| | | | | | | | | | | 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>
* Add in missing endianess functions for Apple targetsCameron Lowell Palmer2024-12-201-2/+2
|
* Provide getdelim and getline compat shimsTheo Buehler2024-12-201-0/+12
| | | | | | These are portable implementations from NetBSD that are needed on Windows and perhaps some other platforms with the new versions of the mlkem tests.
* Attempt to fix windowsTheo Buehler2024-11-231-0/+4
|
* Attempt to fix 2038 problem with MSVCTheo Buehler2024-10-061-0/+9
|
* include/CMakeLists.txt: error out when architecture is not supportedThomas Petazzoni2024-07-131-0/+2
| | | | | | | | | | | | | | | | 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>
* distribute `compat/stdint.h`Viktor Szakats2024-06-051-0/+1
| | | | Fixes #1064
* 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)
* package getopt compat filesBrent Cook2023-10-011-0/+1
|
* CMake: Copy public headers to the build directory.Pierre Wendling2023-08-191-0/+8
|
* 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.
* generate opensslconf.h in build dir for cmakeBrent Cook2023-07-041-2/+5
|
* 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
|
* generate opensslconf.h for mipsBrent Cook2023-03-233-0/+6
|
* fix mips/mips64 buildsBrent Cook2023-03-231-0/+154
|
* stop exposing hidden defines in public opensslconf.hBrent Cook2023-02-283-31/+11
| | | | pull in hidden headers instead, patching drectly for Windows support
* generate and include arch-specific headers for CMake buildsBrent Cook2023-02-211-0/+23
|
* update Makefile.am.tpl to build and install correct opensslconf.hBrent Cook2023-02-151-1/+37
|
* generate opensslconf.h based on host cpu architectureBrent Cook2023-02-152-0/+29
|
* 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-092-7/+3
| | | | | 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.
* Add '--enable-libtls-only' build optionBrent Cook2021-04-071-0/+1
|
* 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-134-0/+1563
| | | | | 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
|