samba-bugs at samba.org
2013-Jan-24 17:39 UTC
[Bug 9594] New: Error transferring user and non-user xattr using --fake-super under Linux
https://bugzilla.samba.org/show_bug.cgi?id=9594 Summary: Error transferring user and non-user xattr using --fake-super under Linux Product: rsync Version: 3.1.0 Platform: All OS/Version: Linux Status: NEW Severity: normal Priority: P5 Component: core AssignedTo: wayned at samba.org ReportedBy: succinic.anhydride at yahoo.com QAContact: rsync-qa at samba.org Overview: I'm using rsync -aX as root on the sender (local) and --fake-super on the receiver (remote) to preserve attributes. I'm using version 3.1.0dev as I needed a solution to Bug 8201 (https://bugzilla.samba.org/show_bug.cgi?id=8201). I get the error "could not find xattr #1 for [foo]" when trying to transfer a file that has both a non-user extended attribute with a long string value AND a user extended attribute where the name of the user EA preceeds "user.rsync" in lexical sort order. The error is triggered only if the transfer is remote AND rsync is run as root on the local/sender side so both non-user and user attrs are transferred. Steps to reproduce: 1. sudo touch foo 2. sudo setfattr -n user.rsx -v "1" foo ## user.rsx sorts before user.rsync 3. sudo setfattr -n security.selinux -v "system_u:object_r:cachefiles_var_t:s0" foo ## non-user EA with a long string value 5. sudo rsync -i -aOzAX --numeric-ids --rsync-path="rsync --fake-super" foo user at remote:/tmp/ ## user does not have root access on host remote Actual Results: <f+++++++++ foo [receiver] could not find xattr #1 for foo rsync error: protocol incompatibility (code 2) at xattrs.c(620) [receiver=3.1.0dev] Expected Results: no error, file and xattrs transferred successfully System details: Local/sender and remote/receiver are RHEL 6.3 with rsync 3.1.0dev -- Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug.
samba-bugs at samba.org
2014-Apr-30 01:20 UTC
[Bug 9594] Error transferring user and non-user xattr using --fake-super under Linux
https://bugzilla.samba.org/show_bug.cgi?id=9594 --- Comment #1 from Kuba Ober <kuba at mareimbrium.org> 2014-04-30 01:20:39 UTC --- I can reproduce under 3.1.1pre1. The cause of the problem is as follows: Note that the rsync_xa list items contain the xattr name and value *but also* an attribute *index* (num!). 1. The sender is sorting the rsync_xa list alphabetically on the xattr name in rsync_xal_get. The attribute indices (num members) are set *after this sort*. 2. The receiver then proceeds to append RSYNC_PREFIX ("user.rsync.") to the xattr name in receive_xattr, and resorts the list. Now the attribute indices do not match the list order. 3. The receiver then proceeds to iterate through this list in recv_xattr_request with the assumption that the num indices are ascending within the list. The lexicographic sort performed in step 2 above breaks this assumption. Since I don't understand why the list needs to be lexicographically sorted at all, I don't know which of the two fixes below would be desirable: Fix 1: Don't sort the list in receive_xattr iff HAVE_LINUX_XATTR is defined. Fix 2: Don't assume that the list indices are sorted in recv_xattr_request. The change would be from while (cnt && rxa->num < num) { to while (cnt && rxa->num != num) { Cheers, Kuba -- Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug.
samba-bugs at samba.org
2014-May-26 21:09 UTC
[Bug 9594] Error transferring user and non-user xattr using --fake-super under Linux
https://bugzilla.samba.org/show_bug.cgi?id=9594 Wayne Davison <wayned at samba.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED --- Comment #2 from Wayne Davison <wayned at samba.org> 2014-05-26 21:09:25 UTC --- Yeah, the bug seems to be that the receiver is aborting the scan for the rxa->num item too soon when the sorting of the items caused the num values to be scrambled. I am applying (essentially) your 2nd fix to the code. Thanks for diagnosing the issue! -- Configure bugmail: https://bugzilla.samba.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug.
Possibly Parallel Threads
- [Bug 13112] New: receive_xattr heap overread with non null terminated name and xattr filter
- [Bug 12568] New: Integer overflow still affects xattrs.c
- DO NOT REPLY [Bug 6590] New: [sender] could not find xattr #1 for home/jdoe/TheFresh
- Re: Shielding of T1/E1 cables WAS RE: Pinoutsfor T1/E1 crossover
- Inconsistent behavior using 3.1.2 from macOS 10.12.2 to an AFP mount