mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-31 19:16:29 +00:00
First real-hardware connect failed with: unix_listener: path "/var/folders/8r/.../T/hermes-desktop-ssh/<hash>.sock.VSNDLDxh7gXySb0w" too long for Unix domain socket. Root cause: the default control-socket base was os.tmpdir(), which on macOS is the deeply-nested per-user /var/folders/xx/yyyy.../T/ (~49 bytes). The socket path itself fit 104, but OpenSSH binds a TEMPORARY listener at <ControlPath>.<16 random chars> (a 17-byte suffix) while establishing the master — 89 + 17 = 106 > 104, so bind failed. Fix: default the POSIX control dir to a short, per-user base (~/.hermes/desktop-ssh) instead of os.tmpdir(). Worst case is now ~72 bytes incl. the temp suffix. Per-user (not a shared /tmp) avoids foreign-owned-dir/symlink surface; still created 0700 in open(). Windows keeps os.tmpdir() (AF_UNIX has no sun_path limit there). Deliberate divergence from ssh.py, which uses gettempdir() and would hit this on macOS. Test: default socket path + 17-byte temp suffix asserted <= 104 and not under /var/folders/. |
||
|---|---|---|
| .. | ||
| bootstrap-installer | ||
| desktop | ||
| shared | ||