From a228952a692a7ec648707c5336f2cc2f4412f4e9 Mon Sep 17 00:00:00 2001 From: Mike McDonald Date: Thu, 18 Sep 2014 19:43:28 -0400 Subject: [PATCH] Modified server code to honor the negotiated setting for SEC_LICENSE_ENCRYPT_SC in the security exchange PDU (which controls the encryption of license PDUs from the server to the client). --- libfreerdp/core/license.c | 3 +++ libfreerdp/core/rdp.h | 1 + 2 files changed, 4 insertions(+) diff --git a/libfreerdp/core/license.c b/libfreerdp/core/license.c index 4d3a53a0f..bcde65998 100644 --- a/libfreerdp/core/license.c +++ b/libfreerdp/core/license.c @@ -171,6 +171,9 @@ wStream* license_send_stream_init(rdpLicense* license) s = transport_send_stream_init(license->rdp->transport, 4096); rdp_init_stream(license->rdp, s); + if (!license->rdp->do_crypt_license) + license->rdp->sec_flags &= ~SEC_ENCRYPT; + license->PacketHeaderLength = Stream_GetPosition(s); Stream_Seek(s, LICENSE_PREAMBLE_LENGTH); diff --git a/libfreerdp/core/rdp.h b/libfreerdp/core/rdp.h index f830e737b..c56b8091e 100644 --- a/libfreerdp/core/rdp.h +++ b/libfreerdp/core/rdp.h @@ -151,6 +151,7 @@ struct rdp_rdp struct crypto_hmac_struct* fips_hmac; UINT32 sec_flags; BOOL do_crypt; + BOOL do_crypt_license; BOOL do_secure_checksum; BYTE sign_key[16]; BYTE decrypt_key[16];