[server,proxy] discard closed dyn channel data

If a dynamic channel does no longer exist or has been closed discard the
channel data received from client
This commit is contained in:
akallabeth 2024-07-25 12:01:46 +02:00
parent eaf0bd8a69
commit 3820858c63
No known key found for this signature in database
GPG Key ID: A49454A3FC909FD5

View File

@ -311,9 +311,9 @@ static PfChannelResult DynvcTrackerPeekFn(ChannelStateTracker* tracker, BOOL fir
*/ */
dynChannel = (pServerDynamicChannelContext*)HashTable_GetItemValue( dynChannel = (pServerDynamicChannelContext*)HashTable_GetItemValue(
dynChannelContext->channels, &dynChannelId); dynChannelContext->channels, &dynChannelId);
if (cmd != CREATE_REQUEST_PDU || !isBackData) if ((cmd != CREATE_REQUEST_PDU) || !isBackData)
{ {
if (!dynChannel) if (!dynChannel || (dynChannel->openStatus == CHANNEL_OPENSTATE_CLOSED))
{ {
/* we've not found the target channel, so we drop this chunk, plus all the rest of /* we've not found the target channel, so we drop this chunk, plus all the rest of
* the packet */ * the packet */