From 1fe2ba1ddc0dff04c8fa093bf3e23ffb25ff3a4d Mon Sep 17 00:00:00 2001 From: "Erich E. Hoover" Date: Wed, 7 Jan 2015 10:50:48 -0700 Subject: [PATCH] Added patch for WSARecv to call SetLastError on success. --- README.md | 3 ++- debian/changelog | 1 + patches/patchinstall.sh | 19 +++++++++++++++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index aaed5115..9445e119 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ Wine. All those differences are also documented on the Included bug fixes and improvements =================================== -**Bugfixes and features included in the next upcoming release [24]:** +**Bugfixes and features included in the next upcoming release [25]:** * Add nvapi stubs required for GPU PhysX support * Add stub for D3DXComputeNormalMap @@ -62,6 +62,7 @@ Included bug fixes and improvements * Support for named pipe message mode (Linux only) ([Wine Bug #17195](https://bugs.winehq.org/show_bug.cgi?id=17195)) * Try harder to get the host name address in getaddrinfo() ([Wine Bug #29609](https://bugs.winehq.org/show_bug.cgi?id=29609)) * Use actual program name if available to describe PulseAudio streams +* WSARecv should call SetLastError on success ([Wine Bug #31438](https://bugs.winehq.org/show_bug.cgi?id=31438)) * ntdll is missing WinSqm[Start|End]Session implementation ([Wine Bug #31971](https://bugs.winehq.org/show_bug.cgi?id=31971)) diff --git a/debian/changelog b/debian/changelog index a3d8295d..f8ac2c5f 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,7 @@ wine-staging (1.7.34) UNRELEASED; urgency=low * Fix issue in user32-WndProc patch which caused crashes for some 16-bit apps. * Fix issue in ws2_32-WriteWatches patch which can cause exceptions on the signal stack. * Fix issue with invalid handles being incorrect when a new process is created. + * Added patch for WSARecv to call SetLastError on success. * Added patch for CreateProcess to prioritize the working directory over the system search path. * Added patch with stubs for WinSqm[Start|End]Session. * Added patch to fix handling of subdirectory in FtpFindFirstFile. diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index c97709c4..ce5cd7f0 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -179,6 +179,7 @@ patch_enable_all () enable_wpcap_Dynamic_Linking="$1" enable_ws2_32_Connect_Time="$1" enable_ws2_32_TransmitFile="$1" + enable_ws2_32_WSARecv_Last_Error="$1" enable_ws2_32_getaddrinfo="$1" enable_wtsapi32_EnumerateProcesses="$1" } @@ -568,6 +569,9 @@ patch_enable () ws2_32-TransmitFile) enable_ws2_32_TransmitFile="$2" ;; + ws2_32-WSARecv_Last_Error) + enable_ws2_32_WSARecv_Last_Error="$2" + ;; ws2_32-getaddrinfo) enable_ws2_32_getaddrinfo="$2" ;; @@ -3304,6 +3308,21 @@ if [ "$enable_ws2_32_TransmitFile" -eq 1 ]; then ) >> "$patchlist" fi +# Patchset ws2_32-WSARecv_Last_Error +# | +# | This patchset fixes the following Wine bugs: +# | * [#31438] WSARecv should call SetLastError on success +# | +# | Modified files: +# | * dlls/ws2_32/socket.c, dlls/ws2_32/tests/sock.c +# | +if [ "$enable_ws2_32_WSARecv_Last_Error" -eq 1 ]; then + patch_apply ws2_32-WSARecv_Last_Error/0001-ws2_32-Call-SetLastError-for-successful-WSARecv.patch + ( + echo '+ { "Heiko Przybyl", "ws2_32: Call SetLastError for successful WSARecv.", 1 },'; + ) >> "$patchlist" +fi + # Patchset ws2_32-getaddrinfo # | # | This patchset fixes the following Wine bugs: