Skip to main content

Module rdp

Module rdp 

Source
Expand description

RDP server — the TPKT + X.224 connection-negotiation slice of [MS-RDPBCGR].

Scope (be honest, per src/server/rdp/CLAUDE.md): this reads a client’s TPKT-framed X.224 Connection Request, parses the Cookie: mstshash= routing token and the RDP_NEG_REQ (requestedProtocols), and answers with an X.224 Connection Confirm the LLM chooses — RDP_NEG_RSP selecting a security protocol, or RDP_NEG_FAILURE. It STOPS there. It does not implement MCS/GCC, the security exchange, the capability exchange, or any bitmap, so no desktop frame is produced and a real client does not reach a session. A client completing the negotiation is real, verifiable progress against [MS-RDPBCGR] 2.2.1.1/2.2.1.2 and nothing more is claimed.

The negotiation decision is genuine LLM reasoning: which security protocol to select given what the client offered, or whether to demand one it did not (a rejection).

Modules§

actions
RDP server actions — the connection-negotiation slice of [MS-RDPBCGR].

Structs§

RdpServer
RDP server (negotiation slice).

Constants§

MAX_X224_LEN
Largest X.224 Connection Request accepted, in bytes. A real CR is well under 512 bytes (routing cookie + RDP_NEG_REQ + optional correlation info); the TPKT length field is client-controlled, so it is bounded before anything is allocated.