Files
RemoteDesk/client/helpers/rdp-session
曾志威 5db6b9ef68
ci / rust (push) Canceled after 0s
ci / web (push) Canceled after 0s
ci / package-preview (push) Canceled after 0s
ci / package-installer (push) Canceled after 0s
ci / linux-agent (push) Canceled after 0s
ci / edge-service (push) Canceled after 0s
ci / coturn-pop (push) Canceled after 0s
ci / package-windows-host (push) Canceled after 0s
Initial commit
2026-08-14 00:35:42 +08:00
..
2026-08-14 00:35:42 +08:00
2026-08-14 00:35:42 +08:00
2026-08-14 00:35:42 +08:00

RemoteDesk RDP Session Spike

This standalone helper verifies that a target is reachable through DNS and TCP and that IronRDP can decode its X.224/RDP security negotiation response.

It intentionally stops in IronRDP's EnhancedSecurityUpgrade state. It does not start TLS, CredSSP/NLA, authenticate, create a desktop session, receive graphics, or render frames. A successful result proves an NLA-capable RDP endpoint responded to IronRDP; it does not prove that any account can log in.

The process accepts one bounded JSON object on stdin:

{"target":"rdp-host.example:3389","timeout_ms":3000}

target and timeout_ms are the only accepted fields. In particular, username and password are rejected. The target never appears in JSON output, Debug, error messages, or command-line arguments.

Run from the repository root:

'{"target":"127.0.0.1:3389","timeout_ms":3000}' |
  cargo run --manifest-path client/helpers/rdp-session/Cargo.toml --quiet

Example success shape:

{"ok":true,"stage":"rdp_negotiation","security_protocol":"hybrid_extended","tcp_latency_ms":1,"total_latency_ms":8}

The helper is part of the root Cargo workspace and is packaged beside the control service.