mirror of
https://github.com/herdrdev/herdr.git
synced 2026-11-06 08:06:30 +00:00
OpenSSH for Windows hands the SSH command argument to the login shell wrapped in double quotes, which expanded the `$`/`$(...)` in Herdr's POSIX discovery and API bridge scripts before `/bin/sh` ran them. A saved machine whose default shell is WSL bash is detected as POSIX, so `herdr --machine` then failed with `remote binary discovery failed`. Deliver the discovery script on stdin (`/bin/sh -s`) and base64-encode the cached POSIX API bridge command so the whole script, including any executable path, stays out of the command argument. The decoded bridge reads the API payload from fd 3 so decoding the script cannot consume it. refs #5132