Description of problem: rsync-daemon-3.1.3-14.el8_6.3.noarch.rpm has an issue with the --delete option and the --filter option when used at the same time. This doesn't seem to be an issue with the client, just the rsync daemon on the server side. Version-Release number of selected component (if applicable): Red Hat Enterprise Linux release 8.6 (Ootpa) rsync-daemon-3.1.3-14.el8_6.3.noarch.rpm How reproducible: Every time we've tested on every host we've tested. Steps to Reproduce: 1. Install rsync-daemon-3.1.3-14.el8_6.3 on server (192.168.1.1) 2. From a client, run this: /usr/bin/rsync -a --delete --filter '-x system.*' / 192.168.1.1::some/test/dir/ Actual results: ERROR: rejecting excluded file-list name: etc/X11/mwm/system.mwmrc rsync error: protocol incompatibility (code 2) at flist.c(912) [receiver=3.1.3] rsync error: protocol incompatibility (code 2) at io.c(1649) [generator=3.1.3] Removing either --delete or --filter and rsync runs. (You can add other flags too, I just simplified it as much as possible for bug report.) And it doesn't matter the file. Remove system.mwmrc and it will fail on the very next matching file. Expected results: It should work without error. Additional info: On the server run this: dnf downgrade rsync-daemon-3.1.3-14.el8_6.2 And watch it work. Upgrade to rsync-daemon-3.1.3-14.el8_6.3 and watch it fail. Client version doesn't seem to matter. This seems relevant to me: https://download.samba.org/pub/rsync/NEWS#3.1.3 2021-09-27 - Tomas Korbar <tkorbar> - 3.1.3-13 - Resolves: #1907443 - Read-only files that have changed xattrs fail to allow xattr changes This is a big deal for us, but with a downgrade to an older version as a workaround we will be fine for a while so I marked as medium severity. Feel free to adjust. :-) Thanks!
Seems this might be the upstream for the breaking patch (simply trying to add relevant information): https://github.com/WayneD/rsync/issues/208
Hi, thanks for the bug report. This is most probably a result of a fix for a recent CVE. Can you please try to run you command with --old-args option? It should be a workaround for these issues. Thanks and regards, Michal
Greetings, Adding `--old-args` after the `-a` flag did not make a difference. Thanks!
Thanks, can you please try this test package please: https://people.redhat.com/mruprich/rsync-3.1.3-14.el8_6.4.x86_64.rpm https://people.redhat.com/mruprich/rsync-daemon-3.1.3-14.el8_6.4.noarch.rpm These contain some possible fixes from the Upstream. Thanks, Michal
Sorry. No go. Same error. I updated both server and client. Thanks!
Hi, sorry for longer absence here, can you please try this update? This helped me in RHEL7 with the same issue: https://people.redhat.com/mruprich/rsync-daemon-3.1.3-14.el8_6.5.noarch.rpm https://people.redhat.com/mruprich/rsync-3.1.3-14.el8_6.5.x86_64.rpm Thanks, Michal
Thank you for the update. Unfortunately, exact same error. I updated both server and client.
I meant to post this as verification. $ rpm -q rsync rsync-3.1.3-14.el8_6.5.x86_64
Thanks, I was finally able to reproduce this and it works fine on 3.2.7 version that is currently being released in Fedora. So there is a fix I just need to find it. Thanks for testing, I am going to come up with fix soon.
Hi, I am sorry to bother you with testing, I just want to make sure this works. I was finally able to find what was wrong with the filtering and that it only occurred in the 3.1.3 version of rsync. The -x filter was not properly added as seen with --debug=all4: ... [client] add_rule(- user.*) ... This is wrong and should be like this: ... [client] add_rule(-x user.*) ... I found a path upstream that fixes this(at least for my reproducer with -x user.* but it should work for your usecase as well). So hopefully for the last time, I would like to ask you to test this package: https://people.redhat.com/mruprich/rsync-3.1.3-14.el8_6.6.x86_64.rpm https://people.redhat.com/mruprich/rsync-daemon-3.1.3-14.el8_6.6.noarch.rpm Thank you, Michal
Huzzah! It works! Thank you so much for all your time and effort getting this fixed. It helps me out quite a bit. I really appreciate your help Michal! I will keep an eye out for the 3.1.3-14.el8_6.6 release. Thanks!
Greetings, We got bit by this again... worse, the migration had already occurred to 8.7 so it made it even more challenging to revert back. Fortunately, I knew where to get the 3.1.3-14.el8_6.2 rpms. Just to see if things were moving along but hadn't landed in RH yet, I pulled rsync-3.1.3-19.el8.1.x86_64 from CentOS 8 Stream. Still same error as before. Which is a shame because I see that it updated earlier this month: http://mirror.centos.org/centos/8-stream/BaseOS/x86_64/os/Packages/ Any update on when we can get this fix pushed through please? Thank you!
DAH! I forgot to update the client when I was testing the stream version... I take that back... rsync-3.1.3-19.el8.1.x86_64 DOES work! Huzzah! Any idea when that might land in RHEL 8.7? Thank you so much!
Greetings @mruprich , It's been a month since you pushed this patch release in Stream: https://gitlab.com/redhat/centos-stream/rpms/rsync/-/commit/e5461b77ec2fdf84da618afdb9d75ab13af4fa24 Any update on when I can get this on my RHEL 8.7 systems? Thank you!
It should be out within a week or so.
*** Bug 2153814 has been marked as a duplicate of this bug. ***
This bug should now be fixed by rsync-3.1.3-19.el8_7.1 and rsync-3.1.3-14.el8_6.4. Both of these erratas are shipped. I am closing this issue, feel free to reopen should the problem re-appear.
Thanks @mruprich ! We've been testing rsync-3.1.3-19.el8_7.1 this week and things are looking good. Haven't found an issue yet. Thanks for all your help on this! It's much appreciated!
Thank you for the patience, this was a weird one to solve. Hopefully this was the last time we saw this error. Regards, Michal