Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inprove channel join request processing #3261

Merged
merged 3 commits into from
Oct 21, 2024

Conversation

matt335672
Copy link
Member

Fixes #3256
Fixes #3258

Announces we can skip channel joins for improved startup times with clients which also support this. See [MS-RDPBCGR] 3.2.5.3.8.

Part of this work is correcting a bad assumption made by me in 8fdc1ba. This assumption is documented in the comment on the first commit. Fixing the assumption allows a couple of code paths to be combined, simplifying the overall code.

This can safely be back-ported to v0.10.x.

The existing code contains separate TLS and non-TLS code paths for
hadling channel join PDUs. This was introduced in
8fdc1ba and was based on a
misunderstanding of where in the connection sequence the TLS client hello
is processed (if a TLS connection is negotiated). The assumption was
the TLS client hello is received after the channel join PDUs. However,
it is actually received immediately after the X.224 Connection Confirm
PDU some time before channel join requests are processed.

Consequently, there is no reason not to adopt a single code path for
handling channel joins.
We always now indicate we support skipping channel joins. If the client
indicates this too, expect no channel join requests from the client.

If we do get some, process them anyway.
@matt335672 matt335672 merged commit 28ad8c6 into neutrinolabs:devel Oct 21, 2024
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant