svc_plugin: ignore CHANNEL_FLAG_SUSPEND/CHANNEL_FLAG_RESUME

These server flags tell the SVC layer to temporarily stop sending
data, but are currently not implemented. This patch purposefully
ignores them so they don't cause a crash.
(cherry picked from commit 4bda6b5cbc)
This commit is contained in:
Dorian Johnson 2012-05-15 16:39:07 -05:00 committed by Bernhard Miklautz
parent a8b9767d91
commit eecb39b5a7

View File

@ -145,6 +145,15 @@ static void svc_plugin_process_received(rdpSvcPlugin* plugin, void* pData, uint3
STREAM* data_in;
svc_data_in_item* item;
if ( (dataFlags & CHANNEL_FLAG_SUSPEND) || (dataFlags & CHANNEL_FLAG_RESUME))
{
/* According to MS-RDPBCGR 2.2.6.1, "All virtual channel traffic MUST be suspended.
This flag is only valid in server-to-client virtual channel traffic. It MUST be
ignored in client-to-server data." Thus it would be best practice to cease data
transmission. However, simply returing here avoids a crash. */
return;
}
if (dataFlags & CHANNEL_FLAG_FIRST)
{
if (plugin->priv->data_in != NULL)