Skip to content

Commit

Permalink
fix(server): reattach existing channels
Browse files Browse the repository at this point in the history
I couldn't find any explicit behaviour described in the specification,
but apparently, we must just keep the channel state as they were during
reactivation. This fixes various state issues during client resize.

Signed-off-by: Marc-André Lureau <[email protected]>
  • Loading branch information
elmarco committed Jan 8, 2025
1 parent 1884eba commit f3a30c0
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 2 deletions.
2 changes: 1 addition & 1 deletion crates/ironrdp-acceptor/src/connection.rs
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ impl Acceptor {
io_channel_id: consumed.io_channel_id,
desktop_size,
server_capabilities: consumed.server_capabilities,
static_channels: StaticChannelSet::new(),
static_channels: consumed.static_channels,
saved_for_reactivation,
creds: consumed.creds,
}
Expand Down
1 change: 0 additions & 1 deletion crates/ironrdp-server/src/server.rs
Original file line number Diff line number Diff line change
Expand Up @@ -916,7 +916,6 @@ impl RdpServer {
}
RunState::DeactivationReactivation { desktop_size } => {
acceptor = Acceptor::new_deactivation_reactivation(acceptor, desktop_size);
self.attach_channels(&mut acceptor);
framed = unsplit_tokio_framed(reader, writer);
ignore_unexpected_pdu = true;
continue;
Expand Down

0 comments on commit f3a30c0

Please sign in to comment.