From d066e6b9a57ca009cec3ecd403c0931399275777 Mon Sep 17 00:00:00 2001 From: Jiri Malak Date: Sun, 23 Feb 2025 11:15:38 +0100 Subject: [PATCH] correct comment for _WINSOCKAPI_ macro manipulation The issue is with MINGW winsock2.h header file which is not compatible with Miscrosoft version and handle _WINSOCKAPI_ macro differently --- src/ssl_load.c | 2 +- wolfcrypt/benchmark/benchmark.c | 2 +- wolfcrypt/src/random.c | 2 +- wolfssl/internal.h | 4 ++-- wolfssl/test.h | 2 +- wolfssl/wolfcrypt/wc_port.h | 6 ++++-- 6 files changed, 10 insertions(+), 8 deletions(-) diff --git a/src/ssl_load.c b/src/ssl_load.c index 4ff31a4de5..80931992a7 100644 --- a/src/ssl_load.c +++ b/src/ssl_load.c @@ -38,7 +38,7 @@ #define _WINSOCKAPI_ /* block inclusion of winsock.h header file */ #include #include - #undef _WINSOCKAPI_ + #undef _WINSOCKAPI_ /* undefine it for MINGW winsock2.h header file */ /* mingw gcc does not support pragma comment, and the * linking with crypt32 is handled in configure.ac */ diff --git a/wolfcrypt/benchmark/benchmark.c b/wolfcrypt/benchmark/benchmark.c index c96777c3ed..fe482d6266 100644 --- a/wolfcrypt/benchmark/benchmark.c +++ b/wolfcrypt/benchmark/benchmark.c @@ -14584,7 +14584,7 @@ void bench_sphincsKeySign(byte level, byte optim) #define WIN32_LEAN_AND_MEAN #define _WINSOCKAPI_ /* block inclusion of winsock.h header file */ #include - #undef _WINSOCKAPI_ + #undef _WINSOCKAPI_ /* undefine it for MINGW winsock2.h header file */ double current_time(int reset) { diff --git a/wolfcrypt/src/random.c b/wolfcrypt/src/random.c index 3d368e98ee..1201e948a7 100644 --- a/wolfcrypt/src/random.c +++ b/wolfcrypt/src/random.c @@ -90,7 +90,7 @@ This library contains implementation for the random number generator. #define _WINSOCKAPI_ /* block inclusion of winsock.h header file */ #include #include - #undef _WINSOCKAPI_ + #undef _WINSOCKAPI_ /* undefine it for MINGW winsock2.h header file */ #elif defined(HAVE_WNR) #include #include diff --git a/wolfssl/internal.h b/wolfssl/internal.h index 2198b917c0..88f7b16168 100644 --- a/wolfssl/internal.h +++ b/wolfssl/internal.h @@ -156,7 +156,7 @@ #elif defined(__NT__) #define _WINSOCKAPI_ /* block inclusion of winsock.h header file */ #include - #undef _WINSOCKAPI_ + #undef _WINSOCKAPI_ /* undefine it for MINGW winsock2.h header file */ #elif defined(__LINUX__) #ifndef SINGLE_THREADED #define WOLFSSL_PTHREADS @@ -169,7 +169,7 @@ #else #define _WINSOCKAPI_ /* block inclusion of winsock.h header file */ #include - #undef _WINSOCKAPI_ + #undef _WINSOCKAPI_ /* undefine it for MINGW winsock2.h header file */ #endif #elif defined(THREADX) #ifndef SINGLE_THREADED diff --git a/wolfssl/test.h b/wolfssl/test.h index 6b63238a3e..6fa29344b8 100644 --- a/wolfssl/test.h +++ b/wolfssl/test.h @@ -2124,7 +2124,7 @@ static WC_INLINE unsigned int my_psk_client_cs_cb(WOLFSSL* ssl, #define WIN32_LEAN_AND_MEAN #define _WINSOCKAPI_ /* block inclusion of winsock.h header file */ #include - #undef _WINSOCKAPI_ + #undef _WINSOCKAPI_ /* undefine it for MINGW winsock2.h header file */ static WC_INLINE double current_time(int reset) { diff --git a/wolfssl/wolfcrypt/wc_port.h b/wolfssl/wolfcrypt/wc_port.h index 314e85645c..29e30e6172 100644 --- a/wolfssl/wolfcrypt/wc_port.h +++ b/wolfssl/wolfcrypt/wc_port.h @@ -125,6 +125,7 @@ #if defined(USE_WINDOWS_API) #define _WINSOCKAPI_ /* block inclusion of winsock.h header file */ #include + #undef _WINSOCKAPI_ /* undefine it for MINGW winsock2.h header file */ #include #elif defined(__OS2__) #define INCL_DOSSEMAPHORES @@ -143,6 +144,7 @@ #if defined(USE_WINDOWS_API) #define _WINSOCKAPI_ /* block inclusion of winsock.h header file */ #include + #undef _WINSOCKAPI_ /* undefine it for MINGW winsock2.h header file */ #elif defined(__OS2__) #include #endif @@ -162,8 +164,7 @@ #if !defined(WOLFSSL_SGX) && !defined(WOLFSSL_NOT_WINDOWS_API) #define _WINSOCKAPI_ /* block inclusion of winsock.h header file. */ #include - /* winsock2.h expects _WINSOCKAPI_ to be undef, and defines it. */ - #undef _WINSOCKAPI_ + #undef _WINSOCKAPI_ /* undefine it for MINGW winsock2.h header file */ #ifndef WOLFSSL_USER_IO #include #include /* required for InetPton */ @@ -1218,6 +1219,7 @@ WOLFSSL_ABI WOLFSSL_API int wolfCrypt_Cleanup(void); #elif defined(_WIN32_WCE) #define _WINSOCKAPI_ /* block inclusion of winsock.h header file */ #include + #undef _WINSOCKAPI_ /* undefine it for MINGW winsock2.h header file */ #include /* For file system */ time_t windows_time(time_t* timer);