Fixed the --fake-super test in the xattrs testsuite when there are
authorWayne Davison <wayned@samba.org>
Thu, 24 Jul 2008 14:46:16 +0000 (07:46 -0700)
committerWayne Davison <wayned@samba.org>
Thu, 24 Jul 2008 14:57:57 +0000 (07:57 -0700)
root-level xattrs on the files (e.g. selinux values).

NEWS
testsuite/xattrs.test
xattrs.c

diff --git a/NEWS b/NEWS
index 879b7a415f217afb68dcaff7de5e9287f1fd7b68..1488c623408b8de0fdd1a62471f0ca69fd17ee52 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -5,14 +5,14 @@ Changes since 3.0.3:
   BUG FIXES:
 
     - Fixed a bug in the hard-linking code where it would sometimes try to
-      allocate 0 bytes of memory (which fails on OSes, such as AIX).
+      allocate 0 bytes of memory (which fails on some OSes, such as AIX).
 
     - Fixed a couple issues in the --fake-super handling of xattrs when the
       destination files have root-level attributes (e.g. selinux values) that
       a non-root copy can't affect.
 
-    - Improved the keep-alive in-loop check in the generator to work properly
-      in incremental recursion mode.
+    - Improved the keep-alive check in the generator to fire consistently in
+      incremental-recursion mode when --timeout is enabled.
 
     - Fixed a potential alignment issue in the IRIX ACL code when allocating
       the initial "struct acl" object.  Also, cast mallocs to avoid warnings.
@@ -20,9 +20,9 @@ Changes since 3.0.3:
   ENHANCEMENTS:
 
     - Rsync will avoid sending an -e option to the server if an older protocol
-      in requested (and thus the option would not be useful).  This lets the
+      is requested (and thus the option would not be useful).  This lets the
       user specify the --protocol=29 option to access an overly-restrictive
-      server.
+      server that is rejecting the protocol-30 use of -e to the server.
 
   DEVELOPER RELATED:
 
index 86758fac9eecd38e9f7885c15f2d7f149eb769f1..e6d8d5c23b053d41e3e25b8feee1315d2f46f2eb 100644 (file)
@@ -99,8 +99,12 @@ rm -rf "$todir"
 
 xset user.nice 'this is nice, but different' file1
 
+checkit "$RSYNC -aiX --fake-super . ../chk" "$fromdir" "$chkdir"
+
+cd "$chkdir"
 xls $files >"$scratchdir/xattrs.txt"
 
+cd "$fromdir"
 checkit "$RSYNC -aiX --fake-super --link-dest=../chk . ../to" "$chkdir" "$todir"
 
 cd "$todir"
index 85341b37045eec01764c8566f538f0d660d24431..60c7d7e8d8acbe027d1938fa74f4d6c12d0efde6 100644 (file)
--- a/xattrs.c
+++ b/xattrs.c
@@ -210,7 +210,7 @@ static int rsync_xal_get(const char *fname, item_list *xalp)
        size_t datum_len, name_offset;
        char *name, *ptr;
 #ifdef HAVE_LINUX_XATTRS
-       int user_only = am_sender ? 0 : !am_root;
+       int user_only = am_sender ? 0 : am_root <= 0;
 #endif
        rsync_xa *rxa;
        int count;
@@ -294,7 +294,7 @@ int copy_xattrs(const char *source, const char *dest)
        size_t datum_len;
        char *name, *ptr;
 #ifdef HAVE_LINUX_XATTRS
-       int user_only = am_sender ? 0 : am_root <= 0;
+       int user_only = am_root <= 0;
 #endif
 
        /* This puts the name list into the "namebuf" buffer. */