Rebase against 1f947b1c62c4f6fdfad4da812567cf33c904c1eb.

This commit is contained in:
Alistair Leslie-Hughes
2025-03-07 10:06:44 +11:00
parent 0682c26496
commit 0af25de63c
2 changed files with 16 additions and 16 deletions

View File

@@ -1,4 +1,4 @@
From 9bffa2d6f3a270a2d0b3f72da0f5cdfa549abfe4 Mon Sep 17 00:00:00 2001
From d7527f7ea978ac1b74717f0ecbde72b410b0ab63 Mon Sep 17 00:00:00 2001
From: Ally Sommers <dropbear.sh@gmail.com>
Date: Thu, 30 Jan 2025 23:47:16 +0100
Subject: [PATCH] ws2_32: Add support for AF_UNIX sockets.
@@ -44,7 +44,7 @@ index a02194f843f..a0c5969c82f 100644
struct async_recv_ioctl
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
index eb84558cbac..c2521d7645f 100644
index eb61c588c58..b550a2ae5b7 100644
--- a/dlls/ws2_32/socket.c
+++ b/dlls/ws2_32/socket.c
@@ -167,6 +167,19 @@ static const WSAPROTOCOL_INFOW supported_protocols[] =
@@ -67,9 +67,9 @@ index eb84558cbac..c2521d7645f 100644
};
DECLARE_CRITICAL_SECTION(cs_socket_list);
@@ -226,6 +239,11 @@ const char *debugstr_sockaddr( const struct sockaddr *a )
addr,
((const SOCKADDR_IRDA *)a)->irdaServiceName);
@@ -237,6 +250,11 @@ const char *debugstr_sockaddr( const struct sockaddr *a )
bth_addr.rgBytes[1], bth_addr.rgBytes[0], wine_dbgstr_guid( &addr->serviceClassId ),
addr->port );
}
+ case AF_UNIX:
+ {
@@ -79,7 +79,7 @@ index eb84558cbac..c2521d7645f 100644
default:
return wine_dbg_sprintf("{ family %d }", a->sa_family);
}
@@ -1106,6 +1124,10 @@ int WINAPI bind( SOCKET s, const struct sockaddr *addr, int len )
@@ -1117,6 +1135,10 @@ int WINAPI bind( SOCKET s, const struct sockaddr *addr, int len )
HANDLE sync_event;
NTSTATUS status;
@@ -90,7 +90,7 @@ index eb84558cbac..c2521d7645f 100644
TRACE( "socket %#Ix, addr %s\n", s, debugstr_sockaddr(addr) );
if (!addr)
@@ -1148,6 +1170,14 @@ int WINAPI bind( SOCKET s, const struct sockaddr *addr, int len )
@@ -1159,6 +1181,14 @@ int WINAPI bind( SOCKET s, const struct sockaddr *addr, int len )
}
break;
@@ -105,7 +105,7 @@ index eb84558cbac..c2521d7645f 100644
default:
FIXME( "unknown protocol %u\n", addr->sa_family );
SetLastError( WSAEAFNOSUPPORT );
@@ -1156,7 +1186,29 @@ int WINAPI bind( SOCKET s, const struct sockaddr *addr, int len )
@@ -1167,7 +1197,29 @@ int WINAPI bind( SOCKET s, const struct sockaddr *addr, int len )
if (!(sync_event = get_sync_event())) return -1;
@@ -136,7 +136,7 @@ index eb84558cbac..c2521d7645f 100644
ret_addr = malloc( len );
if (!params || !ret_addr)
{
@@ -1166,10 +1218,14 @@ int WINAPI bind( SOCKET s, const struct sockaddr *addr, int len )
@@ -1177,10 +1229,14 @@ int WINAPI bind( SOCKET s, const struct sockaddr *addr, int len )
return -1;
}
params->unknown = 0;
@@ -153,7 +153,7 @@ index eb84558cbac..c2521d7645f 100644
if (status == STATUS_PENDING)
{
if (WaitForSingleObject( sync_event, INFINITE ) == WAIT_FAILED)
@@ -1182,6 +1238,7 @@ int WINAPI bind( SOCKET s, const struct sockaddr *addr, int len )
@@ -1193,6 +1249,7 @@ int WINAPI bind( SOCKET s, const struct sockaddr *addr, int len )
free( params );
free( ret_addr );
@@ -161,7 +161,7 @@ index eb84558cbac..c2521d7645f 100644
SetLastError( NtStatusToWSAError( status ) );
return status ? -1 : 0;
@@ -1222,11 +1279,24 @@ int WINAPI connect( SOCKET s, const struct sockaddr *addr, int len )
@@ -1233,11 +1290,24 @@ int WINAPI connect( SOCKET s, const struct sockaddr *addr, int len )
HANDLE sync_event;
NTSTATUS status;
@@ -187,7 +187,7 @@ index eb84558cbac..c2521d7645f 100644
{
SetLastError( ERROR_NOT_ENOUGH_MEMORY );
return -1;
@@ -1234,10 +1304,13 @@ int WINAPI connect( SOCKET s, const struct sockaddr *addr, int len )
@@ -1245,10 +1315,13 @@ int WINAPI connect( SOCKET s, const struct sockaddr *addr, int len )
params->addr_len = len;
params->synchronous = TRUE;
memcpy( params + 1, addr, len );
@@ -203,10 +203,10 @@ index eb84558cbac..c2521d7645f 100644
{
if (wait_event_alertable( sync_event ) == WAIT_FAILED) return -1;
diff --git a/dlls/ws2_32/ws2_32_private.h b/dlls/ws2_32/ws2_32_private.h
index 9e116de814d..5708ae60d91 100644
index 9a4d0794151..af99716efa7 100644
--- a/dlls/ws2_32/ws2_32_private.h
+++ b/dlls/ws2_32/ws2_32_private.h
@@ -44,6 +44,7 @@
@@ -47,6 +47,7 @@
#include "mstcpip.h"
#include "af_irda.h"
#include "winnt.h"
@@ -214,7 +214,7 @@ index 9e116de814d..5708ae60d91 100644
#define USE_WC_PREFIX /* For CMSG_DATA */
#include "iphlpapi.h"
#include "ip2string.h"
@@ -71,6 +72,18 @@ static inline char *strdupWtoA( const WCHAR *str )
@@ -74,6 +75,18 @@ static inline char *strdupWtoA( const WCHAR *str )
return ret;
}