Skip to main content

Module handshake

Module handshake 

Source
Expand description

system.handshake types (SPEC §2.12.6).

Every KLP connection’s first request. Negotiates the protocol version and the agent’s optional features, and returns the OS-derived session info (user SID + console session id + pc_id) the client uses to label its UI and audit-log entries.

Until handshake completes, the agent rejects every other method with super::error::ErrorKind::InvalidRequest (SPEC §2.12.6 “Handshake 未完了の状態で他 method を呼ぶと -32600 InvalidRequest”).

Modules§

features
Well-known feature flag names. New flags are added here so the agent + client + dispatcher all share one source of truth. SPEC §2.12.6 says optional methods MUST be gated via these flags so older clients/agents degrade gracefully.

Structs§

HandshakeParams
system.handshake request params.
HandshakeResult
system.handshake response result.
HandshakeSession
Session info derived from the OS at connect time, surfaced back to the client so the UI can label “logged in as DOMAIN\\alice” without a second round-trip.

Constants§

PROTOCOL_V1
The single protocol version KLP v1 ships with. Listed in HandshakeParams::protocol by the client; the agent picks the highest mutually-supported version into HandshakeResult::protocol. If no overlap, the agent returns super::error::ErrorKind::StaleProtocol.