From adb8deeaf2165b3d8061d4b6325f4a7ae5eb7a88 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Sat, 12 Aug 2017 17:09:40 +0200 Subject: [PATCH] Rebase against 797a746fc2a1b17d67b7423293e081e3e7171033. --- ...Add-dll-and-add-stub-for-ordinal-811.patch | 16 +++---- ...32-Don-t-skip-completion-in-AcceptEx.patch | 43 +++++++++++-------- ...ll-Fix-a-TRACE-in-NtGetContextThread.patch | 25 ----------- patches/patchinstall.sh | 18 +------- 4 files changed, 35 insertions(+), 67 deletions(-) delete mode 100644 patches/ntdll-NtGetContextThread/0001-ntdll-Fix-a-TRACE-in-NtGetContextThread.patch diff --git a/patches/api-ms-win-Stub_DLLs/0006-iertutil-Add-dll-and-add-stub-for-ordinal-811.patch b/patches/api-ms-win-Stub_DLLs/0006-iertutil-Add-dll-and-add-stub-for-ordinal-811.patch index f5762998..2159a10f 100644 --- a/patches/api-ms-win-Stub_DLLs/0006-iertutil-Add-dll-and-add-stub-for-ordinal-811.patch +++ b/patches/api-ms-win-Stub_DLLs/0006-iertutil-Add-dll-and-add-stub-for-ordinal-811.patch @@ -1,4 +1,4 @@ -From 6f0d202c753022f704d4211bb628d9f1b990874e Mon Sep 17 00:00:00 2001 +From e20e1494010e20efd0325efe9c535651d4750dfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Sun, 17 Jan 2016 01:11:46 +0100 Subject: iertutil: Add dll and add stub for ordinal 811. @@ -14,20 +14,20 @@ Subject: iertutil: Add dll and add stub for ordinal 811. create mode 100644 dlls/iertutil/main.c diff --git a/configure.ac b/configure.ac -index a3114e4..2de0e77 100644 +index 5ea7db07294..13fe97eed7a 100644 --- a/configure.ac +++ b/configure.ac -@@ -2981,6 +2981,7 @@ WINE_CONFIG_DLL(iccvid,,[clean]) - WINE_CONFIG_DLL(icmp) +@@ -3172,6 +3172,7 @@ WINE_CONFIG_DLL(icmp) WINE_CONFIG_DLL(ieframe,,[clean,implib]) WINE_CONFIG_TEST(dlls/ieframe/tests) + WINE_CONFIG_DLL(ieproxy,,[clean]) +WINE_CONFIG_DLL(iertutil) WINE_CONFIG_DLL(ifsmgr.vxd,enable_win16) WINE_CONFIG_DLL(imaadp32.acm) WINE_CONFIG_DLL(imagehlp,,[implib]) diff --git a/dlls/iertutil/Makefile.in b/dlls/iertutil/Makefile.in new file mode 100644 -index 0000000..268026e +index 00000000000..268026e7031 --- /dev/null +++ b/dlls/iertutil/Makefile.in @@ -0,0 +1,4 @@ @@ -37,7 +37,7 @@ index 0000000..268026e + main.c diff --git a/dlls/iertutil/iertutil.spec b/dlls/iertutil/iertutil.spec new file mode 100644 -index 0000000..a13779b +index 00000000000..a13779bebbd --- /dev/null +++ b/dlls/iertutil/iertutil.spec @@ -0,0 +1,521 @@ @@ -564,7 +564,7 @@ index 0000000..a13779b +@ stub UriFromHostAndScheme diff --git a/dlls/iertutil/main.c b/dlls/iertutil/main.c new file mode 100644 -index 0000000..2b993a4 +index 00000000000..2b993a44ca4 --- /dev/null +++ b/dlls/iertutil/main.c @@ -0,0 +1,48 @@ @@ -617,5 +617,5 @@ index 0000000..2b993a4 + return FALSE; +} -- -2.7.1 +2.13.1 diff --git a/patches/kernel32-SetFileCompletionNotificationModes/0007-ws2_32-Don-t-skip-completion-in-AcceptEx.patch b/patches/kernel32-SetFileCompletionNotificationModes/0007-ws2_32-Don-t-skip-completion-in-AcceptEx.patch index 994f377b..bd56aad6 100644 --- a/patches/kernel32-SetFileCompletionNotificationModes/0007-ws2_32-Don-t-skip-completion-in-AcceptEx.patch +++ b/patches/kernel32-SetFileCompletionNotificationModes/0007-ws2_32-Don-t-skip-completion-in-AcceptEx.patch @@ -1,4 +1,4 @@ -From 2289d4a4f8a8085bd6fd4eebee829ee22df8abc5 Mon Sep 17 00:00:00 2001 +From 38b105229bbdeca9a96da1245b7b467a9ef55e89 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Wed, 14 Jun 2017 14:47:33 +0200 Subject: ws2_32: Don't skip completion in AcceptEx. @@ -7,17 +7,17 @@ Spotted by Jacek Caban. FIXME: It would be better to get rid of the STATUS_MORE_PROCESSING_REQUIRED handling. --- - dlls/ws2_32/socket.c | 13 +++++++------ + dlls/ws2_32/socket.c | 15 ++++++++------- dlls/ws2_32/tests/sock.c | 5 +++++ server/fd.c | 2 +- server/protocol.def | 1 + - 4 files changed, 14 insertions(+), 7 deletions(-) + 4 files changed, 15 insertions(+), 8 deletions(-) diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c -index 886ff82dba9..0340547dce0 100644 +index 06f1c26d7dd..3f898b494ae 100644 --- a/dlls/ws2_32/socket.c +++ b/dlls/ws2_32/socket.c -@@ -654,7 +654,7 @@ static int ws_protocol_info(SOCKET s, int unicode, WSAPROTOCOL_INFOW *buffer, in +@@ -640,7 +640,7 @@ static int ws_protocol_info(SOCKET s, int unicode, WSAPROTOCOL_INFOW *buffer, in int WSAIOCTL_GetInterfaceCount(void); int WSAIOCTL_GetInterfaceName(int intNumber, char *intName); @@ -26,7 +26,7 @@ index 886ff82dba9..0340547dce0 100644 #define MAP_OPTION(opt) { WS_##opt, opt } -@@ -2510,7 +2510,7 @@ static NTSTATUS WS2_async_accept_recv( void *user, IO_STATUS_BLOCK *iosb, NTSTAT +@@ -2457,7 +2457,7 @@ static NTSTATUS WS2_async_accept_recv( void *user, IO_STATUS_BLOCK *iosb, NTSTAT return status; if (wsa->cvalue) @@ -35,7 +35,16 @@ index 886ff82dba9..0340547dce0 100644 release_async_io( &wsa->io ); return status; -@@ -5139,7 +5139,7 @@ INT WINAPI WSAIoctl(SOCKET s, DWORD code, LPVOID in_buff, DWORD in_size, LPVOID +@@ -3589,7 +3589,7 @@ static BOOL WINAPI WS2_ConnectEx(SOCKET s, const struct WS_sockaddr* name, int n + { + ov->Internal = _get_sock_error(s, FD_CONNECT_BIT); + ov->InternalHigh = 0; +- if (cvalue) WS_AddCompletion( s, cvalue, ov->Internal, ov->InternalHigh ); ++ if (cvalue) WS_AddCompletion( s, cvalue, ov->Internal, ov->InternalHigh, FALSE ); + if (ov->hEvent) NtSetEvent( ov->hEvent, NULL ); + status = STATUS_PENDING; + } +@@ -5068,7 +5068,7 @@ INT WINAPI WSAIoctl(SOCKET s, DWORD code, LPVOID in_buff, DWORD in_size, LPVOID overlapped->Internal = status; overlapped->InternalHigh = total; if (overlapped->hEvent) NtSetEvent( overlapped->hEvent, NULL ); @@ -44,7 +53,7 @@ index 886ff82dba9..0340547dce0 100644 } if (!status) -@@ -5534,7 +5534,7 @@ int WINAPI WSAPoll(WSAPOLLFD *wfds, ULONG count, int timeout) +@@ -5463,7 +5463,7 @@ int WINAPI WSAPoll(WSAPOLLFD *wfds, ULONG count, int timeout) /* helper to send completion messages for client-only i/o operation case */ static void WS_AddCompletion( SOCKET sock, ULONG_PTR CompletionValue, NTSTATUS CompletionStatus, @@ -53,7 +62,7 @@ index 886ff82dba9..0340547dce0 100644 { SERVER_START_REQ( add_fd_completion ) { -@@ -5542,6 +5542,7 @@ static void WS_AddCompletion( SOCKET sock, ULONG_PTR CompletionValue, NTSTATUS C +@@ -5471,6 +5471,7 @@ static void WS_AddCompletion( SOCKET sock, ULONG_PTR CompletionValue, NTSTATUS C req->cvalue = CompletionValue; req->status = CompletionStatus; req->information = Information; @@ -61,7 +70,7 @@ index 886ff82dba9..0340547dce0 100644 wine_server_call( req ); } SERVER_END_REQ; -@@ -5686,7 +5687,7 @@ static int WS2_sendto( SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount, +@@ -5615,7 +5616,7 @@ static int WS2_sendto( SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount, if (lpNumberOfBytesSent) *lpNumberOfBytesSent = n; if (!wsa->completion_func) { @@ -70,7 +79,7 @@ index 886ff82dba9..0340547dce0 100644 if (lpOverlapped->hEvent) SetEvent( lpOverlapped->hEvent ); HeapFree( GetProcessHeap(), 0, wsa ); } -@@ -7888,7 +7889,7 @@ static int WS2_recv_base( SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount, +@@ -7937,7 +7938,7 @@ static int WS2_recv_base( SOCKET s, LPWSABUF lpBuffers, DWORD dwBufferCount, iosb->Information = n; if (!wsa->completion_func) { @@ -80,10 +89,10 @@ index 886ff82dba9..0340547dce0 100644 HeapFree( GetProcessHeap(), 0, wsa ); } diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c -index acbec940954..c7f0c01112a 100644 +index 6a77586ffd0..376532eb27d 100644 --- a/dlls/ws2_32/tests/sock.c +++ b/dlls/ws2_32/tests/sock.c -@@ -9939,6 +9939,11 @@ static void test_completion_port(void) +@@ -10003,6 +10003,11 @@ static void test_completion_port(void) ok(io_port != NULL, "failed to create completion port %u\n", GetLastError()); io_info.Flags = FILE_SKIP_COMPLETION_PORT_ON_SUCCESS; @@ -96,10 +105,10 @@ index acbec940954..c7f0c01112a 100644 ok(status == STATUS_SUCCESS || broken(status == STATUS_INVALID_INFO_CLASS) /* XP */, "expected STATUS_SUCCESS, got %08x\n", status); diff --git a/server/fd.c b/server/fd.c -index 1b82bd30860..94febea990b 100644 +index d8f066c7219..e54a81e6a96 100644 --- a/server/fd.c +++ b/server/fd.c -@@ -2704,7 +2704,7 @@ DECL_HANDLER(add_fd_completion) +@@ -2547,7 +2547,7 @@ DECL_HANDLER(add_fd_completion) struct fd *fd = get_handle_fd_obj( current->process, req->handle, 0 ); if (fd) { @@ -109,10 +118,10 @@ index 1b82bd30860..94febea990b 100644 release_object( fd ); } diff --git a/server/protocol.def b/server/protocol.def -index 3912908e519..ba047d5581c 100644 +index c91fd0897a2..3e9f255d641 100644 --- a/server/protocol.def +++ b/server/protocol.def -@@ -3725,6 +3725,7 @@ struct handle_info +@@ -3650,6 +3650,7 @@ struct handle_info apc_param_t cvalue; /* completion value */ apc_param_t information; /* IO_STATUS_BLOCK Information */ unsigned int status; /* completion status */ diff --git a/patches/ntdll-NtGetContextThread/0001-ntdll-Fix-a-TRACE-in-NtGetContextThread.patch b/patches/ntdll-NtGetContextThread/0001-ntdll-Fix-a-TRACE-in-NtGetContextThread.patch deleted file mode 100644 index 8aea80ac..00000000 --- a/patches/ntdll-NtGetContextThread/0001-ntdll-Fix-a-TRACE-in-NtGetContextThread.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 7ffaa68a3d106028b5a1615cf0e61646d8c75515 Mon Sep 17 00:00:00 2001 -From: Sebastian Lackner -Date: Sat, 29 Jul 2017 03:12:15 +0200 -Subject: ntdll: Fix a TRACE in NtGetContextThread. - ---- - dlls/ntdll/signal_i386.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c -index 01e7aa522e3..c46d50eb271 100644 ---- a/dlls/ntdll/signal_i386.c -+++ b/dlls/ntdll/signal_i386.c -@@ -1635,7 +1635,7 @@ NTSTATUS CDECL DECLSPEC_HIDDEN __regs_NtGetContextThread( DWORD edi, DWORD esi, - context->Ebp, context->Esp, context->Eip, context->SegCs, context->SegSs, context->EFlags ); - if (context->ContextFlags & (CONTEXT_SEGMENTS & ~CONTEXT_i386)) - TRACE( "%p: ds=%04x es=%04x fs=%04x gs=%04x\n", handle, -- context->SegCs, context->SegDs, context->SegEs, context->SegFs ); -+ context->SegDs, context->SegEs, context->SegFs, context->SegGs ); - if (context->ContextFlags & (CONTEXT_DEBUG_REGISTERS & ~CONTEXT_i386)) - TRACE( "%p: dr0=%08x dr1=%08x dr2=%08x dr3=%08x dr6=%08x dr7=%08x\n", handle, - context->Dr0, context->Dr1, context->Dr2, context->Dr3, context->Dr6, context->Dr7 ); --- -2.13.1 - diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index c2ebcfce..60dbdd6a 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "52fbaeb2c44e585cacd7f0b57e902dfbcf54d09b" + echo "797a746fc2a1b17d67b7423293e081e3e7171033" } # Show version information @@ -263,7 +263,6 @@ patch_enable_all () enable_ntdll_NtContinue="$1" enable_ntdll_NtCreateThreadEx="$1" enable_ntdll_NtDevicePath="$1" - enable_ntdll_NtGetContextThread="$1" enable_ntdll_NtQueryEaFile="$1" enable_ntdll_NtQuerySection="$1" enable_ntdll_NtQueryVirtualMemory="$1" @@ -1061,9 +1060,6 @@ patch_enable () ntdll-NtDevicePath) enable_ntdll_NtDevicePath="$2" ;; - ntdll-NtGetContextThread) - enable_ntdll_NtGetContextThread="$2" - ;; ntdll-NtQueryEaFile) enable_ntdll_NtQueryEaFile="$2" ;; @@ -6523,18 +6519,6 @@ if test "$enable_ntdll_NtDevicePath" -eq 1; then ) >> "$patchlist" fi -# Patchset ntdll-NtGetContextThread -# | -# | Modified files: -# | * dlls/ntdll/signal_i386.c -# | -if test "$enable_ntdll_NtGetContextThread" -eq 1; then - patch_apply ntdll-NtGetContextThread/0001-ntdll-Fix-a-TRACE-in-NtGetContextThread.patch - ( - printf '%s\n' '+ { "Sebastian Lackner", "ntdll: Fix a TRACE in NtGetContextThread.", 1 },'; - ) >> "$patchlist" -fi - # Patchset ntdll-NtQuerySection # | # | Modified files: