]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
windows: disable Unix Sockets for old mingw
authorViktor Szakats <commit@vsz.me>
Mon, 3 Aug 2020 14:27:27 +0000 (14:27 +0000)
committerViktor Szakats <commit@vsz.me>
Mon, 3 Aug 2020 14:31:49 +0000 (14:31 +0000)
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

lib/config-win32.h

index 76ee6b1a777ae48bb61957e7ce745ffb1cc51b8d..316043d8171510951e9cf4ab40de468ed13847ee 100644 (file)
@@ -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                     */