diff --git a/README.md b/README.md index fb345de9..1d9ba742 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ These patches fix the following Wine bugs: * Support for Junction Points ([Wine Bug #12401](http://bugs.winehq.org/show_bug.cgi?id=12401 "Support junction points, i.e. DeviceIoCtl(FSCTL_SET_REPARSE_POINT/FSCTL_GET_REPARSE_POINT)")) * Implement a Microsoft Yahei replacement font ([Wine Bug #13829](http://bugs.winehq.org/show_bug.cgi?id=13829 "Wine does not have CJK fonts")) * GetSecurityInfo returns NULL DACL for process object ([Wine Bug #15980](http://bugs.winehq.org/show_bug.cgi?id=15980 "Rhapsody 2 crashes on startup (GetSecurityInfo returns NULL DACL for process object)")) +* Fix for ConnectNamedPort return value in overlapped mode ([Wine Bug #16550](http://bugs.winehq.org/show_bug.cgi?id=16550 "ConnectNamedPort should never return OK in overlapped mode (affects chromium ui_tests.exe)")) * Workaround for TransactNamedPipe not being supported ([Wine Bug #17273](http://bugs.winehq.org/show_bug.cgi?id=17273 "Many apps and games need SetNamedPipeHandleState implementation (support for named pipe message mode)(FireFox+Flash, Win8/NET 4.x SDK/vcrun2012, WiX installers)")) * Support for process ACLs ([Wine Bug #22006](http://bugs.winehq.org/show_bug.cgi?id=22006 "OpenProcess does not enforce ACL")) * Return correct IMediaSeeking stream positions in quartz ([Wine Bug #23174](http://bugs.winehq.org/show_bug.cgi?id=23174 "Fallout 3: Diologue and Video/sound issues")) diff --git a/patches/Makefile b/patches/Makefile index b8beb994..eab9e044 100644 --- a/patches/Makefile +++ b/patches/Makefile @@ -150,9 +150,10 @@ kernel32-GetVolumePathName.ok: # Patchset kernel32-Named_Pipe # | # | Included patches: -# | * Change return value of stub SetNamedPipeHandleState to TRUE. [by Sebastian Lackner] +# | * Support for NamedPipe operations. [rev 2, by Sebastian Lackner / Dan Kegel] # | # | This patchset fixes the following Wine bugs: +# | * [#16550] ConnectNamedPort should never return OK in overlapped mode (affects chromium ui_tests.exe) # | * [#17273] Many apps and games need SetNamedPipeHandleState implementation (support for named pipe message # | mode)(FireFox+Flash, Win8/NET 4.x SDK/vcrun2012, WiX installers) # | @@ -161,8 +162,9 @@ kernel32-GetVolumePathName.ok: # | kernel32-Named_Pipe.ok: $(PATCH) < kernel32-Named_Pipe/0001-kernel32-Change-return-value-of-stub-SetNamedPipeHandl.patch + $(PATCH) < kernel32-Named_Pipe/0002-kernel32-ConnectNamedPort-should-return-FALSE-and-se.patch @( \ - echo '+ { "kernel32-Named_Pipe", "Sebastian Lackner", "Change return value of stub SetNamedPipeHandleState to TRUE." },'; \ + echo '+ { "kernel32-Named_Pipe", "Sebastian Lackner / Dan Kegel", "Support for NamedPipe operations. [rev 2]" },'; \ ) > kernel32-Named_Pipe.ok # Patchset loader-Cmdline_Diagnostics diff --git a/patches/kernel32-Named_Pipe/0002-kernel32-ConnectNamedPort-should-return-FALSE-and-se.patch b/patches/kernel32-Named_Pipe/0002-kernel32-ConnectNamedPort-should-return-FALSE-and-se.patch new file mode 100644 index 00000000..de950d27 --- /dev/null +++ b/patches/kernel32-Named_Pipe/0002-kernel32-ConnectNamedPort-should-return-FALSE-and-se.patch @@ -0,0 +1,25 @@ +From 873c6600c711af413a0f2b8e71ebf74e3638f474 Mon Sep 17 00:00:00 2001 +From: Dan Kegel +Date: Sat, 26 Jul 2014 14:07:55 -0600 +Subject: kernel32: ConnectNamedPort should return FALSE and set + ERROR_PIPE_CONNECTED on success in overlapped mode. + +--- + dlls/kernel32/sync.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/dlls/kernel32/sync.c b/dlls/kernel32/sync.c +index a274fd3..cf84269 100644 +--- a/dlls/kernel32/sync.c ++++ b/dlls/kernel32/sync.c +@@ -1609,6 +1609,7 @@ BOOL WINAPI ConnectNamedPipe(HANDLE hPipe, LPOVERLAPPED overlapped) + overlapped ? (IO_STATUS_BLOCK *)overlapped : &status_block, + FSCTL_PIPE_LISTEN, NULL, 0, NULL, 0); + ++ if (overlapped && status == STATUS_SUCCESS) status = STATUS_PIPE_CONNECTED; + if (status == STATUS_SUCCESS) return TRUE; + SetLastError( RtlNtStatusToDosError(status) ); + return FALSE; +-- +1.7.9.5 + diff --git a/patches/kernel32-Named_Pipe/definition b/patches/kernel32-Named_Pipe/definition index c9fb1ee0..a2283922 100644 --- a/patches/kernel32-Named_Pipe/definition +++ b/patches/kernel32-Named_Pipe/definition @@ -1,5 +1,6 @@ -Author: Sebastian Lackner -Subject: Change return value of stub SetNamedPipeHandleState to TRUE. -Revision: 1 +Author: Sebastian Lackner / Dan Kegel +Subject: Support for NamedPipe operations. +Revision: 2 +Fixes: [16550] Fix for ConnectNamedPort return value in overlapped mode Fixes: [17273] Workaround for TransactNamedPipe not being supported