From 4e0003533e61aca485791ed8073c1c0b8d6a443e Mon Sep 17 00:00:00 2001 From: David Fort Date: Thu, 9 Feb 2017 11:50:46 +0100 Subject: [PATCH] Parses the SupportStatusInfoPdu early capability and send it to clients if supported --- libfreerdp/core/gcc.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libfreerdp/core/gcc.c b/libfreerdp/core/gcc.c index 16a8dbfbf..51d1de1ad 100644 --- a/libfreerdp/core/gcc.c +++ b/libfreerdp/core/gcc.c @@ -836,6 +836,9 @@ BOOL gcc_read_client_core_data(wStream* s, rdpMcs* mcs, UINT16 blockLength) settings->SupportMonitorLayoutPdu = (earlyCapabilityFlags & RNS_UD_CS_SUPPORT_MONITOR_LAYOUT_PDU) ? TRUE : FALSE; + if (settings->SupportStatusInfoPdu) + settings->SupportStatusInfoPdu = (earlyCapabilityFlags & RNS_UD_CS_SUPPORT_STATUSINFO_PDU) ? TRUE : FALSE; + if (!(earlyCapabilityFlags & RNS_UD_CS_VALID_CONNECTION_TYPE)) connectionType = 0; @@ -937,6 +940,9 @@ void gcc_write_client_core_data(wStream* s, rdpMcs* mcs) if (settings->SupportMonitorLayoutPdu) earlyCapabilityFlags |= RNS_UD_CS_SUPPORT_MONITOR_LAYOUT_PDU; + if (settings->SupportStatusInfoPdu) + earlyCapabilityFlags |= RNS_UD_CS_SUPPORT_STATUSINFO_PDU; + Stream_Write_UINT16(s, highColorDepth); /* highColorDepth */ Stream_Write_UINT16(s, supportedColorDepths); /* supportedColorDepths */ Stream_Write_UINT16(s, earlyCapabilityFlags); /* earlyCapabilityFlags */