Files
zeekay 7a3aed8b5e The router runs on Windows: a named pipe, LockFileEx and SIDs, as 1.1.6
Everything that differs between the platforms now lives in src/os. On
Windows the door for local nodes is the named pipe
\\.\pipe\zapd-<user SID>-<runtime dir>, made with a DACL for the user and
SYSTEM; the election is LockFileEx on the same lock file; the winner
records its pid beside the lock, and a node checks the pipe's server
process against it, as a Unix node checks the socket's peer against the
fcntl lock. Private directories get a protected DACL, the 0700
counterpart, and a file is private when the token's user or owner SID
owns it. tests/windows.rs runs the election with real processes:
takeover after the router is killed, and a pipe the lock holder does
not serve refused. CI and the release gain a Windows leg.

The door's tests paired as our Chrome extension, which the door now
admits without pairing; they pair as a per-install origin, and a new
assertion admits the Chrome extension on its origin. The new-port test
allows the well-known ports the door takes first, and clippy's allow
sits on the callback it names.

Claude-Session: https://claude.ai/code/session_01M8RoubcPN71KgJuZ8LdBUL
2026-10-15 04:30:48 -07:00
..