Skip to content

testsuite: ssh-basic: split the quoted rsh command before exec'ing it - #1098

Merged
tridge merged 1 commit into
RsyncProject:masterfrom
tridge:pr-ssh-basic-tilde
Sep 21, 2026
Merged

tridge merged 1 commit into
RsyncProject:masterfrom
tridge:pr-ssh-basic-tilde

Conversation

@tridge

@tridge tridge commented Sep 21, 2026

Copy link
Copy Markdown
Member

rsh_cmd() returns the lsh.sh path quoted for rsync's own --rsh tokenizer, so a build directory containing a character shlex.quote() will not pass bare -- the '' in a Debian snapshot version such as rsync-3.5.1git20260921 -- comes back wrapped in quotes. The ssh-basic probe passed that string straight to subprocess.run() as argv[0], where no shell strips the quotes, and failed with FileNotFoundError. Split it with shlex first.

Found via the rsync-latest PPA, where every snapshot build fails make check on exactly this test while the release builds pass.

rsh_cmd() returns the lsh.sh path quoted for rsync's own --rsh tokenizer,
so a build directory containing a character shlex.quote() will not pass
bare -- the '~' in a Debian snapshot version such as
rsync-3.5.1~git20260921 -- comes back wrapped in quotes.  The ssh-basic
probe passed that string straight to subprocess.run() as argv[0], where
no shell strips the quotes, and failed with FileNotFoundError.  Split it
with shlex first.

Found via the rsync-latest PPA, where every snapshot build fails
`make check` on exactly this test while the release builds pass.
@tridge
tridge merged commit f884cfe into RsyncProject:master Sep 21, 2026
20 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant