Files
lix/tests/nixos
K900andeldritch horrors 227e4d349f libstore/ssh: fix the SSH connectivity check with non-POSIXy shells
SSH runs the command provided to it in the user's login shell.
That's a feature and is impossible to bypass (trust me, we tried).

The previous implementation of `echo started; nix-store --stdio`
broke with shells that treat `;` differently, e.g. nushell,
which eats the output of everything but the last command in a chain.

In the more general case, this means that a sufficiently weird shell
can do _anything_ it wants to the command we pass via SSH, so
we're forced to rely on as little functionality as possible.

The subset we're hereby settling on is just "running `bash` runs bash".
We then run bash, in non-interactive mode, which gives us a somewhat
consistent environment do to things in.

This whole thing is extremely cursed, but fixing it _correctly_
requires pretty much entirely rewriting how remote stores work,
and I'm not doing that right now.

Fixes #805.

Change-Id: Icac846e8cd821cbca91860ddaa0f657b4317dbf8
Co-authored-by: eldritch horrors <pennae@lix.systems>
2025-04-26 13:46:16 +03:00
..
2023-09-20 17:03:47 +00:00
2024-07-25 18:24:45 +02:00
2024-12-10 12:32:42 -08:00