diff --git a/CMakeLists.txt b/CMakeLists.txt index a71ece122..bd0fe1cbd 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -130,9 +130,15 @@ if(HAVE___UINT128_T) list(APPEND WOLFSSL_DEFINITIONS "-DHAVE___UINT128_T") endif() -include(TestBigEndian) - -test_big_endian(WORDS_BIGENDIAN) +if(CMAKE_VERSION VERSION_LESS "3.20") + # TestBigEndian was deprecated in 3.20 + include(TestBigEndian) + test_big_endian(IS_BIG_ENDIAN) + set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") + if(IS_BIG_ENDIAN) + set(CMAKE_C_BYTE_ORDER "BIG_ENDIAN") + endif() +endif() # Thread local storage include(CheckCSourceCompiles) @@ -576,7 +582,7 @@ if(WOLFSSL_LEAN_PSK OR (WOLFSSL_LEAN_TLS AND NOT WOLFSSL_TLS13)) override_cache(WOLFSSL_AESGCM "no") endif() -if(WOLFSSL_AESGCM AND NOT WORDS_BIGENDIAN) +if(WOLFSSL_AESGCM AND CMAKE_C_BYTE_ORDER STREQUAL "LITTLE_ENDIAN") override_cache(WOLFSSL_AESGCM "4bit") endif() @@ -2081,7 +2087,7 @@ endif() # Suppress some warnings about separate compilation, inlining add_definitions("-DWOLFSSL_IGNORE_FILE_WARN") # Generate user options header -message("Generating user options header...") +message(STATUS "Generating user options header...") if (${CMAKE_DISABLE_SOURCE_CHANGES}) set(WOLFSSL_BUILD_OUT_OF_TREE_DEFAULT "${CMAKE_DISABLE_SOURCE_CHANGES}") else() diff --git a/cmake/config.in b/cmake/config.in index 4082325b5..d1b61aa14 100644 --- a/cmake/config.in +++ b/cmake/config.in @@ -1,6 +1,12 @@ /* Define to 1 if you have the header file. */ #cmakedefine HAVE_ARPA_INET_H @HAVE_ARPA_INET_H@ +/* Define to 1 if you have the header file. */ +#cmakedefine HAVE_SYS_IOCTL_H @HAVE_SYS_IOCTL_H@ + +/* Define to 1 if you have the header file. */ +#cmakedefine HAVE_NETDB_H @HAVE_NETDB_H@ + /* Define to 1 if you have the header file. */ #cmakedefine HAVE_SYS_SOCKET_H @HAVE_SYS_SOCKET_H@ diff --git a/wolfssl/openssl/crypto.h b/wolfssl/openssl/crypto.h index f57626f33..a51fc7b08 100644 --- a/wolfssl/openssl/crypto.h +++ b/wolfssl/openssl/crypto.h @@ -96,13 +96,8 @@ WOLFSSL_API int wolfSSL_OPENSSL_init_crypto(word64 opts, const OPENSSL_INIT_SETT #define SSLeay_version wolfSSLeay_version #define SSLeay wolfSSLeay #define OpenSSL_version_num wolfSSL_OpenSSL_version_num +#define SSLEAY_VERSION_NUMBER OPENSSL_VERSION_NUMBER -#if defined(WOLFSSL_QT) || defined(WOLFSSL_HITCH) - #define SSLEAY_VERSION 0x10001000L -#else - #define SSLEAY_VERSION 0x0090600fL -#endif -#define SSLEAY_VERSION_NUMBER SSLEAY_VERSION #define CRYPTO_lock wc_LockMutex_ex /* this function was used to set the default malloc, free, and realloc */ diff --git a/wolfssl/openssl/opensslv.h b/wolfssl/openssl/opensslv.h index c426ef431..57404c928 100644 --- a/wolfssl/openssl/opensslv.h +++ b/wolfssl/openssl/opensslv.h @@ -57,6 +57,10 @@ #define OPENSSL_VERSION_TEXT "wolfSSL " LIBWOLFSSL_VERSION_STRING #define OPENSSL_VERSION 0 +#ifndef OPENSSL_IS_WOLFSSL +#define OPENSSL_IS_WOLFSSL +#endif + #endif /* OPENSSL_EXTRA || OPENSSL_EXTRA_X509_SMALL */ #endif /* header */ diff --git a/wolfssl/quic.h b/wolfssl/quic.h index c1462cbae..8e173a0fd 100644 --- a/wolfssl/quic.h +++ b/wolfssl/quic.h @@ -32,6 +32,8 @@ #ifdef WOLFSSL_QUIC +#include + /* QUIC operates on three encryption levels which determine * which keys/algos are used for de-/encryption. These are * kept separately for incoming and outgoing data and. diff --git a/wolfssl/wolfcrypt/types.h b/wolfssl/wolfcrypt/types.h index 1abdfb9a3..8c754ddf6 100644 --- a/wolfssl/wolfcrypt/types.h +++ b/wolfssl/wolfcrypt/types.h @@ -911,8 +911,12 @@ typedef struct w64wrapper { #if !defined(NO_FILESYSTEM) && !defined(NO_STDIO_FILESYSTEM) #ifndef XGETENV - #include - #define XGETENV getenv + #ifdef NO_GETENV + #define XGETENV(x) (NULL) + #else + #include + #define XGETENV getenv + #endif #endif #endif /* !NO_FILESYSTEM && !NO_STDIO_FILESYSTEM */ @@ -927,7 +931,11 @@ typedef struct w64wrapper { #endif #if defined(OPENSSL_ALL) || defined(OPENSSL_EXTRA) || defined(OPENSSL_EXTRA_X509_SMALL) #define XISALNUM(c) isalnum((c)) - #define XISASCII(c) isascii((c)) + #ifdef NO_STDLIB_ISASCII + #define XISASCII(c) (((c) >= 0 && (c) <= 127) ? 1 : 0) + #else + #define XISASCII(c) isascii((c)) + #endif #define XISSPACE(c) isspace((c)) #endif /* needed by wolfSSL_check_domain_name() */ diff --git a/wolfssl/wolfcrypt/wc_port.h b/wolfssl/wolfcrypt/wc_port.h index 91df407f5..c4ded9c14 100644 --- a/wolfssl/wolfcrypt/wc_port.h +++ b/wolfssl/wolfcrypt/wc_port.h @@ -732,7 +732,9 @@ WOLFSSL_ABI WOLFSSL_API int wolfCrypt_Cleanup(void); #define SEPARATOR_CHAR ':' #else - #include + #ifndef NO_WOLFSSL_DIR + #include + #endif #include #include #define XWRITE write diff --git a/wolfssl/wolfio.h b/wolfssl/wolfio.h index ac686d6b1..7336f8a5c 100644 --- a/wolfssl/wolfio.h +++ b/wolfssl/wolfio.h @@ -163,11 +163,15 @@ #include #include #include - #include + #ifdef HAVE_NETDB_H + #include + #endif #ifdef __PPU #include #else - #include + #ifdef HAVE_SYS_IOCTL_H + #include + #endif #endif #endif #endif