Skip to content

feat(mstsgu): authenticate gateway sessions - #1802

Open
Marc-André Moreau (mamoreau-devolutions) wants to merge 3 commits into
masterfrom
copilot/gateway-session-authentication
Open

feat(mstsgu): authenticate gateway sessions#1802
Marc-André Moreau (mamoreau-devolutions) wants to merge 3 commits into
masterfrom
copilot/gateway-session-authentication

Conversation

@mamoreau-devolutions

Copy link
Copy Markdown
Contributor

Negotiate MS-TSGU SSPI NTLM authentication and reauthenticate the
original session on a short-lived transport without interrupting
application data.

Reject unsupported smart-card and pluggable exchanges explicitly.

Negotiate MS-TSGU SSPI NTLM authentication and reauthenticate the
original session on a short-lived transport without interrupting
application data.

Reject unsupported smart-card and pluggable exchanges explicitly.
Apply repository rustfmt output to gateway authentication changes.
@github-actions github-actions Bot added maintainer-required Maintainer review or intervention is required risk/unknown Risk could not be determined automatically; needs maintainer-level scrutiny size/L Size: up to 899 counted lines and 20 files; exceeds M in either measure labels Aug 26, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds MS-TSGU extended NTLM authentication and background session reauthentication while retaining the primary data transport.

Changes:

  • Negotiates and performs SSPI_NTLM extended authentication.
  • Handles reauthentication on a secondary transport.
  • Adds protocol tests and updates documentation.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
crates/ironrdp-mstsgu/README.md Documents authentication and reauthentication support.
crates/ironrdp-mstsgu/src/http_auth.rs Exposes NTLM extended-authentication steps.
crates/ironrdp-mstsgu/src/lib.rs Implements authentication negotiation and reauthentication.
crates/ironrdp-mstsgu/src/packet_io.rs Tracks and reuses negotiated authentication.
crates/ironrdp-mstsgu/src/proto.rs Enables extended-authentication packet usage.
crates/ironrdp-mstsgu/src/test_support.rs Adds authenticated and reauthentication test helpers.
crates/ironrdp-mstsgu/tests/consent.rs Tests NTLM negotiation and reauthentication flows.

Comment thread crates/ironrdp-mstsgu/src/lib.rs Outdated
Comment thread crates/ironrdp-mstsgu/src/lib.rs Outdated
Comment thread crates/ironrdp-mstsgu/src/lib.rs Outdated
Advertise reauthentication support and keep the active data path alive when secondary setup fails.

Reject background consent when a caller supplied a borrowed callback.
@github-actions github-actions Bot added size/XL Size: up to 1299 counted lines and 49 files; exceeds L in either measure and removed size/L Size: up to 899 counted lines and 20 files; exceeds M in either measure labels Aug 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintainer-required Maintainer review or intervention is required risk/unknown Risk could not be determined automatically; needs maintainer-level scrutiny size/XL Size: up to 1299 counted lines and 49 files; exceeds L in either measure

Development

Successfully merging this pull request may close these issues.

2 participants