summaryrefslogtreecommitdiff
path: root/net-misc/freerdp/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-03-18 04:54:42 +0000
committerV3n3RiX <venerix@redcorelinux.org>2018-03-18 04:54:42 +0000
commit5510d9d7d1c93c2ea71a2bd6f0666168808d5dd6 (patch)
treec968fff3108e2b4d88e4e564a56bfd066f170573 /net-misc/freerdp/files
parent1dde4e5c4b92d849bf1abf0a48135b2a0644f7e1 (diff)
gentoo resync : 18.03.2018
Diffstat (limited to 'net-misc/freerdp/files')
-rw-r--r--net-misc/freerdp/files/2.0.0-rc1-CredSSP-protocol-version.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/net-misc/freerdp/files/2.0.0-rc1-CredSSP-protocol-version.patch b/net-misc/freerdp/files/2.0.0-rc1-CredSSP-protocol-version.patch
new file mode 100644
index 000000000000..59887f698ec9
--- /dev/null
+++ b/net-misc/freerdp/files/2.0.0-rc1-CredSSP-protocol-version.patch
@@ -0,0 +1,49 @@
+From 088c3940d9b488e8a83b9cefaa7271f955d1971c Mon Sep 17 00:00:00 2001
+From: Bernhard Miklautz <bernhard.miklautz@thincast.com>
+Date: Wed, 14 Mar 2018 13:39:23 +0100
+Subject: [PATCH] fix nla: don't use server version
+
+FreeRDP currently only supports CredSSP protocol version 3. However the
+current implementation always sent back the version received by the
+server indicating that this version was supported.
+With recent windows updates applied the protocol changed and this approach
+doesn't work anymore (see
+https://msdn.microsoft.com/en-us/library/mt752485.aspx for protocol changes).
+
+With this fix FreeRDP always sends version 3 as supported version.
+
+Credit goes to @mfleisz.
+
+Fixes #4449
+---
+ libfreerdp/core/nla.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/libfreerdp/core/nla.c b/libfreerdp/core/nla.c
+index 47e087062..8a69f2f6e 100644
+--- a/libfreerdp/core/nla.c
++++ b/libfreerdp/core/nla.c
+@@ -1663,15 +1663,19 @@ BOOL nla_send(rdpNla* nla)
+ static int nla_decode_ts_request(rdpNla* nla, wStream* s)
+ {
+ int length;
++ UINT32 version = 0;
+
+ /* TSRequest */
+ if (!ber_read_sequence_tag(s, &length) ||
+ !ber_read_contextual_tag(s, 0, &length, TRUE) ||
+- !ber_read_integer(s, &nla->version))
++ !ber_read_integer(s, &version))
+ {
+ return -1;
+ }
+
++ if (version < nla->version)
++ nla->version = version;
++
+ /* [1] negoTokens (NegoData) */
+ if (ber_read_contextual_tag(s, 1, &length, TRUE) != FALSE)
+ {
+--
+2.16.2
+