Skip to content

Openrdp multi credentials - #2359

Closed
org-event wants to merge 3 commits into
Devolutions:masterfrom
org-event:openrdp-multi-credentials
Closed

org-event wants to merge 3 commits into
Devolutions:masterfrom
org-event:openrdp-multi-credentials

Conversation

@org-event

Copy link
Copy Markdown

No description provided.

Ivan Zaharov and others added 3 commits November 3, 2026 09:01
An `RdpServer` held one `Credentials`, so a server with more than one
account could not use NLA: CredSSP checked every client against that
single identity.

`RdpServer::set_credential_list` (and `ServerEvent::SetCredentialList`
at runtime) takes a list. CredSSP checks the client's password against
the entry with its user name, through `CredsspSequence::init_with_identities`;
ClientInfo credentials must equal one of the entries.
`Acceptor::set_credential_list` does the same for embedders driving the
acceptor themselves. `set_credentials` keeps its behaviour as a list of
at most one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
FreeRDP-based clients open the advanced input channel and the Microsoft
clients do not, so a server can tell them apart, for example to pick a
codec only FreeRDP decodes reliably.
RdpServerInputHandler::advanced_input_opened has an empty default.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added breaking-change Includes a breaking change, and requires special scrutiny at the boundaries kind/protocol Affects RDP or related protocol behavior risk/high Substantial core public API impact, or fail-closed triage; needs maintainer-level scrutiny scope/cross-cutting Spans multiple architectural boundaries size/M Size: up to 449 counted lines and 10 files; exceeds S in either measure triage/overlap Possible overlap with another pull request; advisory only labels Nov 3, 2026
@github-actions

github-actions Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

This pull request may overlap with #2356.

The diff's credential-list work matches PR 2356's described scope almost exactly: Acceptor storing a Vec of Credentials with set_credential_list, CredsspSequence::init_with_identities matching by user name, RdpServer::set_credential_list and ServerEvent::SetCredentialList, and the same credssp_accepts_any_of_several_credentials test. The diff additionally carries an advanced-input-opened notification resembling PR 2358.

This notice is advisory only. Automated review continues as usual, and how these pull requests relate is for maintainers and authors to decide.

Note

LLM-assisted content (no human feedback).

@org-event

Copy link
Copy Markdown
Author

Closing as a duplicate of #2356, which carries the same several-credentials change on current master. The rest of this branch is in #2357, #2358 and #2360.

@org-event org-event closed this Nov 3, 2026

This branch was previously deployed

1 inactive deployment
llm-providers — 3313f329 Deployed Nov 3, 2026 by org-event via Classify pull request #12654
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking-change Includes a breaking change, and requires special scrutiny at the boundaries kind/protocol Affects RDP or related protocol behavior risk/high Substantial core public API impact, or fail-closed triage; needs maintainer-level scrutiny scope/cross-cutting Spans multiple architectural boundaries size/M Size: up to 449 counted lines and 10 files; exceeds S in either measure triage/overlap Possible overlap with another pull request; advisory only

Development

Successfully merging this pull request may close these issues.

1 participant