summaryrefslogtreecommitdiff
path: root/net/freerdp
diff options
context:
space:
mode:
Diffstat (limited to 'net/freerdp')
-rw-r--r--net/freerdp/Makefile2
-rw-r--r--net/freerdp/files/patch-libfreerdp_core_nla.c44
2 files changed, 45 insertions, 1 deletions
diff --git a/net/freerdp/Makefile b/net/freerdp/Makefile
index 69e29e860d70..c445c4378337 100644
--- a/net/freerdp/Makefile
+++ b/net/freerdp/Makefile
@@ -3,7 +3,7 @@
PORTNAME= freerdp
DISTVERSION= 2.0.0-rc1
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= net comms ipv6
MAINTAINER= kevans@FreeBSD.org
diff --git a/net/freerdp/files/patch-libfreerdp_core_nla.c b/net/freerdp/files/patch-libfreerdp_core_nla.c
new file mode 100644
index 000000000000..42b74c8e68cb
--- /dev/null
+++ b/net/freerdp/files/patch-libfreerdp_core_nla.c
@@ -0,0 +1,44 @@
+--- libfreerdp/core/nla.c.orig 2018-03-21 03:26:15 UTC
++++ libfreerdp/core/nla.c
+@@ -1663,14 +1663,18 @@ 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)
+--- libfreerdp/core/nla.c.orig 2018-03-21 03:26:15 UTC
++++ libfreerdp/core/nla.c
+@@ -1663,14 +1663,18 @@ 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)