-
-
Save LukasRuppert/de9f14197e111b854f90505f90fc1f42 to your computer and use it in GitHub Desktop.
changes made to wine within proton-5.0-9
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c | |
index e4e9bb8095..d10d6e0462 100644 | |
--- a/dlls/ws2_32/socket.c | |
+++ b/dlls/ws2_32/socket.c | |
@@ -377,6 +377,7 @@ static inline const char *debugstr_sockopt(int level, int optname) | |
DEBUG_SOCKOPT(WS_SO_SNDTIMEO); | |
DEBUG_SOCKOPT(WS_SO_TYPE); | |
DEBUG_SOCKOPT(WS_SO_UPDATE_CONNECT_CONTEXT); | |
+ DEBUG_SOCKOPT(WS_SO_RANDOMIZE_PORT); | |
} | |
break; | |
@@ -433,6 +434,8 @@ static inline const char *debugstr_sockopt(int level, int optname) | |
{ | |
DEBUG_SOCKOPT(WS_IPV6_ADD_MEMBERSHIP); | |
DEBUG_SOCKOPT(WS_IPV6_DROP_MEMBERSHIP); | |
+ DEBUG_SOCKOPT(WS_IPV6_PKTINFO); | |
+ DEBUG_SOCKOPT(WS_IPV6_PROTECTION_LEVEL); | |
DEBUG_SOCKOPT(WS_IPV6_MULTICAST_IF); | |
DEBUG_SOCKOPT(WS_IPV6_MULTICAST_HOPS); | |
DEBUG_SOCKOPT(WS_IPV6_MULTICAST_LOOP); | |
@@ -719,6 +722,9 @@ static const int ws_ipv6_map[][2] = | |
#endif | |
#ifdef IPV6_DROP_MEMBERSHIP | |
MAP_OPTION( IPV6_DROP_MEMBERSHIP ), | |
+#endif | |
+#ifdef IPV6_RECVPKTINFO | |
+ { WS_IPV6_PKTINFO, IPV6_RECVPKTINFO }, | |
#endif | |
MAP_OPTION( IPV6_MULTICAST_IF ), | |
MAP_OPTION( IPV6_MULTICAST_HOPS ), | |
@@ -760,6 +766,7 @@ static const int ws_proto_map[][2] = | |
MAP_OPTION( IPPROTO_IPV6 ), | |
MAP_OPTION( IPPROTO_ICMP ), | |
MAP_OPTION( IPPROTO_IGMP ), | |
+ MAP_OPTION( IPPROTO_SCTP ), | |
MAP_OPTION( IPPROTO_RAW ), | |
{FROM_PROTOCOL_INFO, FROM_PROTOCOL_INFO}, | |
}; | |
@@ -772,10 +779,14 @@ static const int ws_aiflag_map[][2] = | |
#ifdef AI_NUMERICSERV | |
MAP_OPTION( AI_NUMERICSERV ), | |
#endif | |
+#ifdef AI_ALL | |
+ MAP_OPTION( AI_ALL ), | |
+#endif | |
#ifdef AI_V4MAPPED | |
MAP_OPTION( AI_V4MAPPED ), | |
#endif | |
MAP_OPTION( AI_ADDRCONFIG ), | |
+ { WS_AI_FQDN, AI_CANONNAME }, | |
}; | |
static const int ws_niflag_map[][2] = | |
@@ -892,6 +903,17 @@ static inline int convert_control_headers(struct msghdr *hdr, WSABUF *control) | |
break; | |
} | |
break; | |
+ case IPPROTO_IPV6: | |
+ switch(cmsg_unix->cmsg_type) | |
+ { | |
+#if defined(IPV6_PKTINFO) | |
+ case IPV6_PKTINFO: | |
+ //TODO: handle IPV6_PKTINFO | |
+#endif | |
+ default: | |
+ FIXME("Unhandled IPPROTO_IPV6 message header type %d\n", cmsg_unix->cmsg_type); | |
+ } | |
+ break; | |
default: | |
FIXME("Unhandled message header level %d\n", cmsg_unix->cmsg_level); | |
break; | |
@@ -4375,6 +4397,9 @@ INT WINAPI WS_getsockopt(SOCKET s, INT level, | |
#endif | |
#ifdef IPV6_DROP_MEMBERSHIP | |
case WS_IPV6_DROP_MEMBERSHIP: | |
+#endif | |
+#ifdef IPV6_RECVPKTINFO | |
+ case WS_IPV6_PKTINFO: | |
#endif | |
case WS_IPV6_MULTICAST_IF: | |
case WS_IPV6_MULTICAST_HOPS: | |
@@ -6074,6 +6099,9 @@ int WINAPI WS_setsockopt(SOCKET s, int level, int optname, | |
#endif | |
#ifdef IPV6_DROP_MEMBERSHIP | |
case WS_IPV6_DROP_MEMBERSHIP: | |
+#endif | |
+#ifdef IPV6_RECVPKTINFO | |
+ case WS_IPV6_PKTINFO: | |
#endif | |
case WS_IPV6_MULTICAST_IF: | |
case WS_IPV6_MULTICAST_HOPS: | |
diff --git a/include/winsock.h b/include/winsock.h | |
index 891fa9de23..d0ff807b2d 100644 | |
--- a/include/winsock.h | |
+++ b/include/winsock.h | |
@@ -263,6 +263,7 @@ extern "C" { | |
#define IPPROTO_IPV6 41 | |
#define IPPROTO_ICMPV6 58 | |
#define IPPROTO_ND 77 | |
+#define IPPROTO_SCTP 132 | |
#define IPPROTO_RAW 255 | |
#define IPPROTO_MAX 256 | |
#else /* USE_WS_PREFIX */ | |
@@ -276,6 +277,7 @@ extern "C" { | |
#define WS_IPPROTO_IPV6 41 | |
#define WS_IPPROTO_ICMPV6 58 | |
#define WS_IPPROTO_ND 77 | |
+#define WS_IPPROTO_SCTP 132 | |
#define WS_IPPROTO_RAW 255 | |
#define WS_IPPROTO_MAX 256 | |
#endif /* USE_WS_PREFIX */ | |
diff --git a/include/ws2ipdef.h b/include/ws2ipdef.h | |
index 4cae361e5f..2fcca666a4 100644 | |
--- a/include/ws2ipdef.h | |
+++ b/include/ws2ipdef.h | |
@@ -177,6 +177,11 @@ typedef struct WS(in_pktinfo) { | |
UINT ipi_ifindex; | |
} IN_PKTINFO, *PIN_PKTINFO; | |
+typedef struct WS(in6_pktinfo) { | |
+ IN6_ADDR ipi6_addr; | |
+ UINT ipi6_ifindex; | |
+} IN6_PKTINFO, *PIN6_PKTINFO; | |
+ | |
#ifndef USE_WS_PREFIX | |
#define IPV6_OPTIONS 1 | |
#define IPV6_HDRINCL 2 | |
diff --git a/include/ws2tcpip.h b/include/ws2tcpip.h | |
index 43c277fa0c..8a038def25 100644 | |
--- a/include/ws2tcpip.h | |
+++ b/include/ws2tcpip.h | |
@@ -72,11 +72,13 @@ typedef ADDRINFOA ADDRINFO, *LPADDRINFO; | |
# define AI_CANONNAME 0x00000002 | |
# define AI_NUMERICHOST 0x00000004 | |
# define AI_NUMERICSERV 0x00000008 | |
+# define AI_ALL 0x00000100 | |
# define AI_ADDRCONFIG 0x00000400 | |
# define AI_V4MAPPED 0x00000800 | |
# define AI_NON_AUTHORITATIVE 0x00004000 | |
# define AI_SECURE 0x00008000 | |
# define AI_RETURN_PREFERRED_NAMES 0x00010000 | |
+# define AI_FQDN 0x00020000 | |
# define AI_DISABLE_IDN_ENCODING 0x00080000 | |
/* getaddrinfo error codes */ | |
# define EAI_AGAIN WSATRY_AGAIN | |
@@ -93,11 +95,13 @@ typedef ADDRINFOA ADDRINFO, *LPADDRINFO; | |
# define WS_AI_CANONNAME 0x00000002 | |
# define WS_AI_NUMERICHOST 0x00000004 | |
# define WS_AI_NUMERICSERV 0x00000008 | |
+# define WS_AI_ALL 0x00000100 | |
# define WS_AI_ADDRCONFIG 0x00000400 | |
# define WS_AI_V4MAPPED 0x00000800 | |
# define WS_AI_NON_AUTHORITATIVE 0x00004000 | |
# define WS_AI_SECURE 0x00008000 | |
# define WS_AI_RETURN_PREFERRED_NAMES 0x00010000 | |
+# define WS_AI_FQDN 0x00020000 | |
# define WS_AI_DISABLE_IDN_ENCODING 0x00080000 | |
/* getaddrinfo error codes */ | |
# define WS_EAI_AGAIN WSATRY_AGAIN |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment