Files
orca/src/shared
NeilandClaude 196ca641e1 fix(wsl-host): tie each WSL host record to its pairing key (R31) (#29832)
* fix(wsl-host): bind a WSL host record to its pairing's server key (R31)

A valid but stale record could overlay WSL hosting onto a different loopback server re-paired
under the same environment id and bridge port. The record now carries the paired orcad's host key;
the overlay ignores a record whose key differs from the pairing's. Add writes the key and a
pairing refresh rewrites it with the ports, so a relaunch that changes the key still matches.
Records written before carry no key and keep port-only binding until their next refresh.

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(wsl-host): validate a refreshed pairing before writing, and accept the previous key mid-refresh

Review: the refresh wrote the record's new key before validating the pairing, so a refused or
interrupted refresh could leave a real WSL host without its overlay. Validate first, and keep the
replaced key as previousPairingPublicKeyB64 so the record stays bound across the two writes.

Co-Authored-By: Claude <noreply@anthropic.com>

* test(wsl-host): use a key distinct from the fixture's own in the R31 overlay tests

Main gave the WSL fixture its own pairing key (#30676), the same one these tests used as the
'other server' key, so both cases inverted after the rebase. Production code is unchanged.

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-10-26 02:12:06 -07:00
..
…