mirror of
https://github.com/morgan9e/FreeRDP
synced 2026-04-14 00:14:11 +09:00
[proxy,channels] drop drdynvc packets not tracked
When receiving dynamic channel packets that do not belong to an open channel drop the packet.
This commit is contained in:
@@ -508,9 +508,9 @@ static PfChannelResult DynvcTrackerHandleCmdDATA(ChannelStateTracker* tracker,
|
||||
isBackData ? &dynChannel->backTracker : &dynChannel->frontTracker;
|
||||
if (dynChannel->openStatus != CHANNEL_OPENSTATE_OPENED)
|
||||
{
|
||||
DynvcTrackerLog(dynChannelContext->log, WLOG_ERROR, dynChannel, cmd, isBackData,
|
||||
"channel is not opened");
|
||||
return PF_CHANNEL_RESULT_ERROR;
|
||||
DynvcTrackerLog(dynChannelContext->log, WLOG_WARN, dynChannel, cmd, isBackData,
|
||||
"channel is not opened, dropping packet");
|
||||
return PF_CHANNEL_RESULT_DROP;
|
||||
}
|
||||
|
||||
switch (cmd)
|
||||
@@ -673,6 +673,8 @@ static PfChannelResult DynvcTrackerHandleCmd(ChannelStateTracker* tracker,
|
||||
return channelTracker_flushCurrent(tracker, firstPacket, lastPacket, !isBackData);
|
||||
|
||||
default:
|
||||
DynvcTrackerLog(dynChannelContext->log, WLOG_ERROR, dynChannel, cmd, isBackData,
|
||||
"Invalid command ID");
|
||||
return PF_CHANNEL_RESULT_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user