https://git.reactos.org/?p=reactos.git;a=commitdiff;h=666fe66fe97d3d0f602fd…
commit 666fe66fe97d3d0f602fd30d5f3987f980f2c934
Author: Joachim Henze <Joachim.Henze(a)reactos.org>
AuthorDate: Wed May 13 02:39:37 2020 +0200
Commit: Joachim Henze <Joachim.Henze(a)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,