Devolutions / IronRDP

Rust implementation of the Microsoft Remote Desktop Protocol (RDP)
Apache License 2.0
380 stars 49 forks source link

Server resize follow-up #532

Closed elmarco closed 2 months ago

elmarco commented 2 months ago

I forgot to squash BitmapEncoder support in #530.

The main part is handling pending incoming client message during deact-react; queuing and replaying them after acceptation.

CBenoit commented 2 months ago

@elmarco Thank you! Is it ready for review?

elmarco commented 2 months ago

@elmarco Thank you! Is it ready for review?

yes, thanks

CBenoit commented 2 months ago

@elmarco By the way, are you getting these client messages from mstsc as well? I’m wondering if the real fix should not be about modifying the IronRDP client to not send messages unrelated to the connection sequence before the connection sequence is over.

elmarco commented 2 months ago

@elmarco By the way, are you getting these client messages from mstsc as well? I’m wondering if the real fix should not be about modifying the IronRDP client to not send messages unrelated to the connection sequence before the connection sequence is over.

Yes. The reactivation sequence is triggered by the server, so there can always be client messages in flight.

CBenoit commented 2 months ago

@elmarco By the way, are you getting these client messages from mstsc as well? I’m wondering if the real fix should not be about modifying the IronRDP client to not send messages unrelated to the connection sequence before the connection sequence is over.

Yes. The reactivation sequence is triggered by the server, so there can always be client messages in flight.

Oh right. It becomes a problem during the reactivation sequence. Sounds good.