Signed-off-by: Robin Ebert ebertrobin2002@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 9387801c..d3083f8b 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[] = { @@ -2236,7 +2241,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; @@ -2244,15 +2249,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; @@ -2260,7 +2265,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: