diff options
author | Viktor Szakats <commit@vsz.me> | 2020-08-03 14:27:27 +0000 |
---|---|---|
committer | Viktor Szakats <commit@vsz.me> | 2020-08-03 14:31:49 +0000 |
commit | 8297978c21646588711000c20aa3f7eaef677e03 (patch) | |
tree | 2172734c5ee17ffc7173213ca69f4856e509d4c2 /lib | |
parent | 07fd3fa07f72be639e96119e18ee24d20e8568b1 (diff) | |
download | curl-8297978c21646588711000c20aa3f7eaef677e03.tar.gz |
windows: disable Unix Sockets for old mingw
Classic mingw and 10y+ old versions of mingw-w64 don't ship with
Windows headers having the typedef necessary for Unix Sockets
support, so try detecting these environments to disable this
feature.
Ref: https://sourceforge.net/p/mingw-w64/mingw-w64/ci/cf6afc57179a5910621215f8f4037d406892072c/
Reviewed-by: Daniel Stenberg
Fixes #5674
Closes #5758
Diffstat (limited to 'lib')
-rw-r--r-- | lib/config-win32.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/config-win32.h b/lib/config-win32.h index 76ee6b1a7..316043d81 100644 --- a/lib/config-win32.h +++ b/lib/config-win32.h @@ -718,18 +718,22 @@ Vista #define USE_WIN32_CRYPTO #endif +/* On MinGW the ADDRESS_FAMILY typedef was committed alongside LUP_SECURE, + so we use it to check for the presence of the typedef. */ +#include <ws2tcpip.h> +#if !defined(__MINGW32__) || defined(LUP_SECURE) /* Define to use Unix sockets. */ #define USE_UNIX_SOCKETS #if !defined(UNIX_PATH_MAX) /* Replicating logic present in afunix.h of newer Windows 10 SDK versions */ # define UNIX_PATH_MAX 108 -# include <ws2tcpip.h> /* !checksrc! disable TYPEDEFSTRUCT 1 */ typedef struct sockaddr_un { ADDRESS_FAMILY sun_family; char sun_path[UNIX_PATH_MAX]; } SOCKADDR_UN, *PSOCKADDR_UN; #endif +#endif /* ---------------------------------------------------------------- */ /* ADDITIONAL DEFINITIONS */ |