[PATCH 3/3] ws2_32: Adjusted IPv6 PROTOCOL_INFOW structs

Robin Ebert ebertrobin2002 at gmail.com
Thu Aug 13 05:57:44 CDT 2020


Signed-off-by: Robin Ebert <ebertrobin2002 at gmail.com>
---
 dlls/ws2_32/socket.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
index cb03f8ea..72c7048d 100644
--- a/dlls/ws2_32/socket.c
+++ b/dlls/ws2_32/socket.c
@@ -190,6 +190,8 @@ static const WCHAR NameSpxW[]   = {'S', 'P', 'X', '\0'};
 static const WCHAR NameSpxIIW[] = {'S', 'P', 'X', ' ', 'I', 'I', '\0'};
 static const WCHAR NameTcpW[]   = {'T', 'C', 'P', '/', 'I', 'P', '\0'};
 static const WCHAR NameUdpW[]   = {'U', 'D', 'P', '/', 'I', 'P', '\0'};
+static const WCHAR NameTcp6W[]   = {'T', 'C', 'P', '/', 'I', 'P', 'v', '6', '\0'};
+static const WCHAR NameUdp6W[]   = {'U', 'D', 'P', '/', 'I', 'P', 'v', '6', '\0'};
 
 /* Taken from Win2k */
 static const GUID ProviderIdIP = { 0xe70f1aa0, 0xab8b, 0x11cf,
@@ -198,6 +200,9 @@ static const GUID ProviderIdIPX = { 0x11058240, 0xbe47, 0x11cf,
                                     { 0x95, 0xc8, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92 } };
 static const GUID ProviderIdSPX = { 0x11058241, 0xbe47, 0x11cf,
                                     { 0x95, 0xc8, 0x00, 0x80, 0x5f, 0x48, 0xa1, 0x92 } };
+/* Taken from Win 10 */
+static const GUID ProviderIdIP6 = { 4192907456, 9940, 4560,
+                                   { 187, 191, 0, 170, 0, 108, 52, 228 } };
 
 static const INT valid_protocols[] =
 {
@@ -2234,7 +2239,7 @@ static BOOL WS_AF_INET6_EnterSingleProtocolW( INT protocol, WSAPROTOCOL_INFOW* i
         info->dwServiceFlags1 = XP1_IFS_HANDLES | XP1_EXPEDITED_DATA |
                                 XP1_GRACEFUL_CLOSE | XP1_GUARANTEED_ORDER |
                                 XP1_GUARANTEED_DELIVERY;
-        info->ProviderId = ProviderIdIP;
+        info->ProviderId = ProviderIdIP6;
         info->dwCatalogEntryId = 0x3ec;
         info->dwProviderFlags = PFL_MATCHES_PROTOCOL_ZERO;
         info->ProtocolChain.ChainLen = 1;
@@ -2242,15 +2247,15 @@ static BOOL WS_AF_INET6_EnterSingleProtocolW( INT protocol, WSAPROTOCOL_INFOW* i
         info->iMaxSockAddr = 0x1c;
         info->iMinSockAddr = 0x1c;
         info->iSocketType = WS_SOCK_STREAM;
-        strcpyW( info->szProtocol, NameTcpW );
+        strcpyW( info->szProtocol, NameTcp6W );
         break;
 
     case WS_IPPROTO_UDP:
         info->dwServiceFlags1 = XP1_IFS_HANDLES | XP1_SUPPORT_BROADCAST |
                                 XP1_SUPPORT_MULTIPOINT | XP1_MESSAGE_ORIENTED |
                                 XP1_CONNECTIONLESS;
-        info->ProviderId = ProviderIdIP;
-        info->dwCatalogEntryId = 0x3ea;
+        info->ProviderId = ProviderIdIP6;
+        info->dwCatalogEntryId = 0x3ed;
         info->dwProviderFlags = PFL_MATCHES_PROTOCOL_ZERO;
         info->ProtocolChain.ChainLen = 1;
         info->iVersion = 2;
@@ -2258,7 +2263,7 @@ static BOOL WS_AF_INET6_EnterSingleProtocolW( INT protocol, WSAPROTOCOL_INFOW* i
         info->iMinSockAddr = 0x1c;
         info->iSocketType = WS_SOCK_DGRAM;
         info->dwMessageSize = 0xffbb;
-        strcpyW( info->szProtocol, NameUdpW );
+        strcpyW( info->szProtocol, NameUdp6W );
         break;
 
     default:
-- 
2.20.1




More information about the wine-devel mailing list