Module: wine
Branch: master
Commit: 0deab78dc5ea69245c73d08ac7da52c9cef8313d
URL: https://gitlab.winehq.org/wine/wine/-/commit/0deab78dc5ea69245c73d08ac7da52…
Author: Jinoh Kang <jinoh.kang.kr(a)gmail.com>
Date: Thu Jul 27 22:39:50 2023 +0900
ws2_32: Avoid relying on linux/ipx.h to define SOL_IPX.
musl libc doesn't supply any definitions for IPX, such as the SOL_IPX
macro. However, it still provides linux/ipx.h from Linux uAPI header
files if it exists.
Linux kernel wouldn't drop linux/ipx.h from uAPI headers until 5.15,
although IPX support has already been marked obsolete since 2018.
Fix this by not defining HAS_IPX if linux/ipx.h has been included but
nothing defines the SOL_IPX macro.
Status of IPX support from other libcs are noted below:
- bionic: netipx/ipx.h does not exist. linux/ipx.h may or may not
exist. Note that sys/socket.h defines SOL_IPX even if linux/ipx.h is
missing.
- glibc: netipx/ipx.h exists. In this case, Wine assumes IPX support
even if the operating system does not support it in runtime.
- BSD variants: netipx/ipx.h may or may not exist. linux/ipx.h does not
exist. Some BSDs supply SO_DEFAULT_HEADERS instead of SOL_IPX.
Fixes: da4e359a700209c840490483f5337a14aa1d448f
---
dlls/ws2_32/unixlib.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/dlls/ws2_32/unixlib.c b/dlls/ws2_32/unixlib.c
index 5cb64aad258..db36f18c7bd 100644
--- a/dlls/ws2_32/unixlib.c
+++ b/dlls/ws2_32/unixlib.c
@@ -75,7 +75,9 @@
# include <linux/types.h>
# endif
# include <linux/ipx.h>
-# define HAS_IPX
+# ifdef SOL_IPX
+# define HAS_IPX
+# endif
#endif
#ifdef HAVE_LINUX_IRDA_H
Module: wine
Branch: master
Commit: 14d4a896bd60d722aa6fed9bbedc39cc36036bef
URL: https://gitlab.winehq.org/wine/wine/-/commit/14d4a896bd60d722aa6fed9bbedc39…
Author: Jinoh Kang <jinoh.kang.kr(a)gmail.com>
Date: Thu Jul 27 22:39:50 2023 +0900
ntdll: Avoid relying on linux/ipx.h to define SOL_IPX.
musl libc doesn't supply any definitions for IPX, such as the SOL_IPX
macro. However, it still provides linux/ipx.h from Linux uAPI header
files if it exists.
Linux kernel wouldn't drop linux/ipx.h from uAPI headers until 5.15,
although IPX support has already been marked obsolete since 2018.
Fix this by not defining HAS_IPX if linux/ipx.h has been included but
nothing defines the SOL_IPX macro.
Status of IPX support from other libcs are noted below:
- bionic: netipx/ipx.h does not exist. linux/ipx.h may or may not
exist. Note that sys/socket.h defines SOL_IPX even if linux/ipx.h is
missing.
- glibc: netipx/ipx.h exists. In this case, Wine assumes IPX support
even if the operating system does not support it in runtime.
- BSD variants: netipx/ipx.h may or may not exist. linux/ipx.h does not
exist. Some BSDs supply SO_DEFAULT_HEADERS instead of SOL_IPX.
Fixes: 954bf9e0505a7368c34047b311d613cff04393a1
---
dlls/ntdll/unix/socket.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/dlls/ntdll/unix/socket.c b/dlls/ntdll/unix/socket.c
index 6969f411955..e09bf34b07d 100644
--- a/dlls/ntdll/unix/socket.c
+++ b/dlls/ntdll/unix/socket.c
@@ -54,7 +54,9 @@
# include <linux/types.h>
# endif
# include <linux/ipx.h>
-# define HAS_IPX
+# ifdef SOL_IPX
+# define HAS_IPX
+# endif
#endif
#ifdef HAVE_LINUX_IRDA_H