Date: Friday, March 16, 2018 @ 09:43:18 Author: spupykin Revision: 308813
upgpkg: freerdp 1:2.0.0_rc1-2 Added: freerdp/trunk/fix_nla-8cd156a-backport.patch Modified: freerdp/trunk/PKGBUILD --------------------------------+ PKGBUILD | 13 ++++++++-- fix_nla-8cd156a-backport.patch | 48 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+), 3 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2018-03-16 09:40:57 UTC (rev 308812) +++ PKGBUILD 2018-03-16 09:43:18 UTC (rev 308813) @@ -8,7 +8,7 @@ #_commit=6001cb710dc67eb8811362b7bf383754257a902b _pkgver=${pkgver/_/-} _pkgver=${_pkgver/+/-} -pkgrel=1 +pkgrel=2 pkgdesc="Free RDP client" arch=('x86_64') url="http://freerdp.sourceforge.net" @@ -21,9 +21,16 @@ provides=('libwinpr-tools2.so' 'libfreerdp-client2.so' 'libfreerdp2.so' 'libwinpr2.so') #source=("FreeRDP-${_pkgver}::git://github.com/FreeRDP/FreeRDP.git#commit=${_commit}") -source=($pkgname-$pkgver.tar.gz::https://github.com/FreeRDP/FreeRDP/archive/${pkgver/_/-}.tar.gz) -sha256sums=('a2c1c83072489d56da78bbe76c29729022f5c35a3ec3a1ce26cea8823de043c2') +source=($pkgname-$pkgver.tar.gz::https://github.com/FreeRDP/FreeRDP/archive/${pkgver/_/-}.tar.gz + fix_nla-8cd156a-backport.patch) +sha256sums=('a2c1c83072489d56da78bbe76c29729022f5c35a3ec3a1ce26cea8823de043c2' + '2d449e0c1adee1ef131501e1613fc4c59fd122ca866d09f52eeff61236de81e4') +prepare() { + cd "$srcdir"/FreeRDP-${_pkgver} + patch -Np1 -i "${srcdir}/fix_nla-8cd156a-backport.patch" +} + build() { cd "$srcdir"/FreeRDP-${_pkgver} cmake \ Added: fix_nla-8cd156a-backport.patch =================================================================== --- fix_nla-8cd156a-backport.patch (rev 0) +++ fix_nla-8cd156a-backport.patch 2018-03-16 09:43:18 UTC (rev 308813) @@ -0,0 +1,48 @@ +From: Bernhard Miklautz <bernhard.mikla...@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 + +(patch above adjusted to apply on top of FreeRDP-2.0.0-rc1) +--- + libfreerdp/core/nla.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/libfreerdp/core/nla.c b/trunk/src/FreeRDP-2.0.0-rc1/libfreerdp/core/nla.c +index 47e0870..4bfcf7e 100644 +--- a/libfreerdp/core/nla.c ++++ b/libfreerdp/core/nla.c +@@ -1663,14 +1663,17 @@ 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 +