Rebase against 95a49bdce6cd5a35d5035456e576ab81239fb081.

This commit is contained in:
Sebastian Lackner
2017-06-17 21:01:05 +02:00
parent 907dc4eae6
commit dbe0e706a4
4 changed files with 23 additions and 62 deletions

View File

@@ -1,4 +1,4 @@
From a30764f2b6ae3311242b881ecfaf5a243e3ac387 Mon Sep 17 00:00:00 2001
From a6ac9b12f875e5ff57d4b837f66d1d62639fe93a Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@wine-staging.com>
Date: Wed, 4 Mar 2015 13:16:20 -0700
Subject: ws2_32: Add support for TF_DISCONNECT to TransmitFile.
@@ -9,10 +9,10 @@ Subject: ws2_32: Add support for TF_DISCONNECT to TransmitFile.
2 files changed, 24 insertions(+), 3 deletions(-)
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
index 4977bbfa592..ecec3dc5314 100644
index bd080a0b16..eebf3e02eb 100644
--- a/dlls/ws2_32/socket.c
+++ b/dlls/ws2_32/socket.c
@@ -3032,7 +3032,16 @@ static NTSTATUS WS2_transmitfile_base( int fd, struct ws2_transmitfile_async *ws
@@ -3030,7 +3030,16 @@ static NTSTATUS WS2_transmitfile_base( int fd, struct ws2_transmitfile_async *ws
return wsaErrStatus();
}
@@ -30,15 +30,15 @@ index 4977bbfa592..ecec3dc5314 100644
}
/***********************************************************************
@@ -3069,6 +3078,7 @@ static BOOL WINAPI WS2_TransmitFile( SOCKET s, HANDLE h, DWORD file_bytes, DWORD
@@ -3066,6 +3075,7 @@ static BOOL WINAPI WS2_TransmitFile( SOCKET s, HANDLE h, DWORD file_bytes, DWORD
LPOVERLAPPED overlapped, LPTRANSMIT_FILE_BUFFERS buffers,
DWORD flags )
{
+ DWORD unsupported_flags = flags & ~(TF_DISCONNECT);
union generic_unix_sockaddr uaddr;
unsigned int uaddrlen = sizeof(uaddr);
socklen_t uaddrlen = sizeof(uaddr);
struct ws2_transmitfile_async *wsa;
@@ -3090,8 +3100,8 @@ static BOOL WINAPI WS2_TransmitFile( SOCKET s, HANDLE h, DWORD file_bytes, DWORD
@@ -3087,8 +3097,8 @@ static BOOL WINAPI WS2_TransmitFile( SOCKET s, HANDLE h, DWORD file_bytes, DWORD
WSASetLastError( WSAENOTCONN );
return FALSE;
}
@@ -50,10 +50,10 @@ index 4977bbfa592..ecec3dc5314 100644
if (h && GetFileType( h ) != FILE_TYPE_DISK)
{
diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c
index 720808887cf..2084dceb987 100644
index 23464ac1f1..57e2dd97d9 100644
--- a/dlls/ws2_32/tests/sock.c
+++ b/dlls/ws2_32/tests/sock.c
@@ -8404,6 +8404,17 @@ static void test_TransmitFile(void)
@@ -8682,6 +8682,17 @@ static void test_TransmitFile(void)
ok(memcmp(buf, &footer_msg[0], sizeof(footer_msg)) == 0,
"TransmitFile footer buffer did not match!\n");
@@ -72,5 +72,5 @@ index 720808887cf..2084dceb987 100644
closesocket(client);
client = socket(AF_INET, SOCK_DGRAM, 0);
--
2.11.0
2.13.1

View File

@@ -1,4 +1,4 @@
From c9763b1c3d31bdf050339d03935c014ec187e9a4 Mon Sep 17 00:00:00 2001
From 07fe34fdfb46c17db9aeb46c2ce44ba2a7db9698 Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
Date: Thu, 16 Jan 2014 19:08:30 -0700
Subject: ws2_32: Add support for TF_REUSE_SOCKET to TransmitFile.
@@ -12,10 +12,10 @@ Subject: ws2_32: Add support for TF_REUSE_SOCKET to TransmitFile.
5 files changed, 75 insertions(+), 11 deletions(-)
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
index cb0e45d29d..22311e8694 100644
index eebf3e02eb..da82a35740 100644
--- a/dlls/ws2_32/socket.c
+++ b/dlls/ws2_32/socket.c
@@ -3019,6 +3019,17 @@ static NTSTATUS WS2_transmitfile_base( int fd, struct ws2_transmitfile_async *ws
@@ -3033,6 +3033,17 @@ static NTSTATUS WS2_transmitfile_base( int fd, struct ws2_transmitfile_async *ws
if (status != STATUS_SUCCESS)
return status;
@@ -33,20 +33,20 @@ index cb0e45d29d..22311e8694 100644
if (wsa->flags & TF_DISCONNECT)
{
/* we can't use WS_closesocket because it modifies the last error */
@@ -3061,7 +3072,7 @@ static BOOL WINAPI WS2_TransmitFile( SOCKET s, HANDLE h, DWORD file_bytes, DWORD
@@ -3075,7 +3086,7 @@ static BOOL WINAPI WS2_TransmitFile( SOCKET s, HANDLE h, DWORD file_bytes, DWORD
LPOVERLAPPED overlapped, LPTRANSMIT_FILE_BUFFERS buffers,
DWORD flags )
{
- DWORD unsupported_flags = flags & ~(TF_DISCONNECT);
+ DWORD unsupported_flags = flags & ~(TF_DISCONNECT|TF_REUSE_SOCKET);
union generic_unix_sockaddr uaddr;
unsigned int uaddrlen = sizeof(uaddr);
socklen_t uaddrlen = sizeof(uaddr);
struct ws2_transmitfile_async *wsa;
diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c
index 3c68cf597d..1f3d55d202 100644
index 57e2dd97d9..d4f967df42 100644
--- a/dlls/ws2_32/tests/sock.c
+++ b/dlls/ws2_32/tests/sock.c
@@ -8580,7 +8580,6 @@ static void test_TransmitFile(void)
@@ -8694,7 +8694,6 @@ static void test_TransmitFile(void)
err, WSAENOTSOCK);
/* Test TransmitFile with a UDP datagram socket */
@@ -67,10 +67,10 @@ index cf9adf57eb..2feb22466e 100644
#define FD_WINE_NONBLOCKING 0x20000000
#define FD_WINE_CONNECTED 0x40000000
diff --git a/server/protocol.def b/server/protocol.def
index 87285a4038..cf5f5376ca 100644
index 1f88c6a5c8..e192011d46 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -1299,6 +1299,12 @@ enum server_fd_type
@@ -1312,6 +1312,12 @@ enum server_fd_type
@END
@@ -196,5 +196,5 @@ index 1625ed3a42..076c606f5d 100644
DECL_HANDLER(set_socket_event)
{
--
2.11.0
2.13.1