server: fix pdu processing during reactivation.
This commit is contained in:
parent
b7a46c4bf0
commit
3b3660898d
@ -566,12 +566,8 @@ boolean rdp_server_accept_client_info(rdpRdp* rdp, STREAM* s)
|
||||
|
||||
boolean rdp_server_accept_confirm_active(rdpRdp* rdp, STREAM* s)
|
||||
{
|
||||
/**
|
||||
* During reactivation sequence the client might sent some input before receiving
|
||||
* the Deactivate All PDU. We need to ignore those noises here.
|
||||
*/
|
||||
if (!rdp_recv_confirm_active(rdp, s))
|
||||
return true;
|
||||
return false;
|
||||
|
||||
rdp->state = CONNECTION_STATE_ACTIVE;
|
||||
update_reset_state(rdp->update);
|
||||
|
@ -224,7 +224,14 @@ static boolean peer_recv_callback(rdpTransport* transport, STREAM* s, void* extr
|
||||
|
||||
case CONNECTION_STATE_LICENSE:
|
||||
if (!rdp_server_accept_confirm_active(client->context->rdp, s))
|
||||
return false;
|
||||
{
|
||||
/**
|
||||
* During reactivation sequence the client might sent some input or channel data
|
||||
* before receiving the Deactivate All PDU. We need to process them as usual.
|
||||
*/
|
||||
stream_set_pos(s, 0);
|
||||
return peer_recv_pdu(client, s);
|
||||
}
|
||||
break;
|
||||
|
||||
case CONNECTION_STATE_ACTIVE:
|
||||
|
Loading…
x
Reference in New Issue
Block a user