[core,caps] Allow invalid TS_GENERAL_CAPABILITYSET::protocolVersion

some FreeRDP versions did send an invalid value of 0x0000 instead of the
required 0x200. Log this kind of violation but continue.
This commit is contained in:
akallabeth 2024-05-20 15:11:23 +02:00
parent 3dfd617e15
commit 8d5c5dc2ef
No known key found for this signature in database
GPG Key ID: A49454A3FC909FD5

View File

@ -217,7 +217,15 @@ static BOOL rdp_read_general_capability_set(wStream* s, rdpSettings* settings)
"TS_GENERAL_CAPABILITYSET::protocolVersion(0x%04" PRIx16
") != TS_CAPS_PROTOCOLVERSION(0x%04" PRIx32 ")",
settings->CapsProtocolVersion, TS_CAPS_PROTOCOLVERSION);
return FALSE;
if (settings->CapsProtocolVersion == 0x0000)
{
WLog_WARN(TAG,
"TS_GENERAL_CAPABILITYSET::protocolVersion(0x%04" PRIx16
" assuming old FreeRDP, ignoring protocol violation.",
settings->CapsProtocolVersion);
}
else
return FALSE;
}
Stream_Seek_UINT16(s); /* pad2OctetsA (2 bytes) */
Stream_Read_UINT16(