https://git.reactos.org/?p=reactos.git;a=commitdiff;h=666fe66fe97d3d0f602fd3...
commit 666fe66fe97d3d0f602fd30d5f3987f980f2c934 Author: Joachim Henze Joachim.Henze@reactos.org AuthorDate: Wed May 13 02:39:37 2020 +0200 Commit: Joachim Henze Joachim.Henze@reactos.org CommitDate: Wed May 13 02:39:37 2020 +0200
[MSAFD] Workaround regression CORE-15804
To fix 'MSTSC fails to connect with error "ERROR: Bad packet header"' which regressed by 0.4.12-dev-752-g 6bc61f63f1e0ad20ab09f881d6968558eba9a8e6
In 0.4.12 and 0.4.13 releases I totally reverted Pierre Schweitzer's work instead.
Thanks to Doug Lyons, author of this new workaround, we can keep Pierre's work. We think MSAFD is a better place to workaround than our MSTSC binary, because our MSTSC runs fine on W2K3SP2.
I will backport this new workaround also into 0.4.14RC. --- dll/win32/msafd/misc/dllmain.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/dll/win32/msafd/misc/dllmain.c b/dll/win32/msafd/misc/dllmain.c index 4f8e76c10a3..52d71e702fe 100644 --- a/dll/win32/msafd/misc/dllmain.c +++ b/dll/win32/msafd/misc/dllmain.c @@ -2890,6 +2890,10 @@ WSPSetSockOpt( return SOCKET_ERROR; }
+ /* FIXME: We should not have to limit the packet receive buffer size like this. workaround for CORE-15804 */ + if (*(PULONG)optval > 0x2000) + *(PULONG)optval = 0x2000; + SetSocketInformation(Socket, AFD_INFO_RECEIVE_WINDOW_SIZE, NULL,