You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Rebase against 1f947b1c62c4f6fdfad4da812567cf33c904c1eb.
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user