rsync icon indicating copy to clipboard operation
rsync copied to clipboard

ERROR: rejecting unrequested file-list name: 90/6e when using --files-from

Open tspivey opened this issue 2 years ago • 13 comments

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

data.tar.gz

tspivey avatar Sep 13 '22 09:09 tspivey

Thanks. I had an extremely silly bug (464555ea923b32f3504678d05bc7de9205e5c8da). With that fixed, your test case works fine.

WayneD avatar Sep 14 '22 03:09 WayneD

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

tim-rex avatar Sep 14 '22 04:09 tim-rex

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

WayneD avatar Sep 14 '22 06:09 WayneD

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)

mozart77 avatar Sep 14 '22 06:09 mozart77

Rsync uses slashes, not backslashes. If you must use backslashes, either specify --old-args or export RSYNC_OLD_ARGS=1 in your environment.

WayneD avatar Sep 14 '22 06:09 WayneD

Rsync uses slashes, not backslashes.

Anyway that's the only way it worked for 1.5 year.

mozart77 avatar Sep 14 '22 06:09 mozart77

Windows is usually fine using slashes, so try switching \\ to / in your args. Otherwise use old args as described above.

WayneD avatar Sep 14 '22 06:09 WayneD

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)

mozart77 avatar Sep 14 '22 06:09 mozart77

Then you want old args. Alternately try not doubling-up the backslashes. The newer rsync versions handle escaping shell-active chars for you.

WayneD avatar Sep 14 '22 06:09 WayneD

Did that. Didn't help. I believe the problem not in slashes. Looks like the best option is to stay with v3.2.3

mozart77 avatar Sep 14 '22 06:09 mozart77

Nope, just use --old-args like I said. Either option or environment var.

WayneD avatar Sep 14 '22 06:09 WayneD

Wow. It works again! Thank you 👍🏻

mozart77 avatar Sep 14 '22 06:09 mozart77

Thanks! Everything is working again after that change.

tspivey avatar Sep 15 '22 00:09 tspivey

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 avatar Sep 22 '22 11:09 qwelias

@qwelias Note that your bug report is overly abbreviated, but sounds like it matches what was already fixed in this bug.

WayneD avatar Sep 30 '22 03:09 WayneD

Out of curiosity, when can we expect this to be merged into the version provided at rsync.samba.org?

txoof avatar Oct 17 '22 20:10 txoof