rsync
rsync copied to clipboard
ERROR: rejecting unrequested file-list name: 90/6e when using --files-from
Using the attached archive of randomly generated hashes and this command line, rsync fails with the above error.
rm -rf tmp;rsync localhost:rsynctest/data/ tmp --files-from=files.txt
The archive includes both data and files.txt. This worked until recently; I assume it has something to do with CVE-2022-29154.
rsync version 3.2.6-16-g51dae12c protocol version 31
Thanks. I had an extremely silly bug (464555ea923b32f3504678d05bc7de9205e5c8da). With that fixed, your test case works fine.
I basically came here to report the same issue, great to see it's already been addressed
I was able to work around the problem by supplying --old-args or, by removing leading DOTDIRs from the entries in files-from
Edit: now that I look at the supplied data.tar.gz it seems perhaps my issue is subtly different (tspivey's example doesn't exhibit leading DOTDIR's) - though the error remains the same.
rsync version 3.1.2 protocol version 31 Version: 3.1.2 Release: 11.el7_9
Dot dirs don't have any adverse effect, certainly not in 3.2.6. And version 3.1.2 can't have this problem unless someone is back-porting newer code. This bug tracker is just for the official code, so feel free to compile the latest git version and see if there are any remaining bugs in your usage. The 3.2.6 changes plus the 2 commits I cited today in the mailing-list (also cited recently in the bug reports) should hopefully fix up the remaining weirdness, so hopefully the back-porters will slurp those in to their versions. If you don't want to build your own, you may be able to snag a binary from the github actions or the samba binaries (which is being updated right now with the latest fixes). See "Binaries" here: https://rsync.samba.org/download.html
Hello. I've got similar error when syncing Wndows machine via OpenSSH:
ERROR: rejecting unrequested file-list name: C:\\\\Domains\\\\main\\\
rsync error: protocol incompatibility (code 2) at flist.c(1025) [Receiver=3.2.5]
The script is:
/usr/local/bin/rsync -rtzvh -e "ssh -p 22 -i backup.key"
--link-dest=./current [email protected]:'/C:\\Domains\\main\\' ./backup-123
It started after upgrade from version 3.2.3 to 3.2.5 (FreeBSD 12.3)
Rsync uses slashes, not backslashes. If you must use backslashes, either specify --old-args
or export RSYNC_OLD_ARGS=1 in your environment.
Rsync uses slashes, not backslashes.
Anyway that's the only way it worked for 1.5 year.
Windows is usually fine using slashes, so try switching \\
to /
in your args. Otherwise use old args as described above.
I've tried all variants with slashes and the only way it worked was double backslashes and single slash in front of drive letter. If I use only slashes I get:
receiving incremental file list
rsync: [sender] change_dir "/C:/Domains/main/" failed: No such file or directory (2)
Then you want old args. Alternately try not doubling-up the backslashes. The newer rsync versions handle escaping shell-active chars for you.
Did that. Didn't help. I believe the problem not in slashes. Looks like the best option is to stay with v3.2.3
Nope, just use --old-args like I said. Either option or environment var.
Wow. It works again! Thank you 👍🏻
Thanks! Everything is working again after that change.
rsync version v3.2.6 protocol version 31
args: -rlptD --files-from
My file list looks like:
relative/path/to.yml
relative/path/to.env
out:
ERROR: rejecting unrequested file-list name: relative/path
rsync error: protocol incompatibility (code 2) at flist.c(998) [Receiver=v3.2.6]
Why is it breaking?
@qwelias Note that your bug report is overly abbreviated, but sounds like it matches what was already fixed in this bug.
Out of curiosity, when can we expect this to be merged into the version provided at rsync.samba.org?