[SCM] The rsync repository. - branch b3.0.x updated

Rsync CVS commit messages rsync-cvs at lists.samba.org
Mon May 30 09:40:45 MDT 2011


The branch, b3.0.x has been updated
       via  ba35ba0 Fix unwritable directory issue due to misordered chmod call.
       via  0b51926 Expand NO_ENTRY items from fake-super ACLs in get_rsync_acl().
      from  3ef38b0 Avoid adding a slash to path '/'.

;a=shortlog;h=b3.0.x


- Log -----------------------------------------------------------------
commit ba35ba06c9964d67fd7712f1b103e6d527f30c46
Author: Wayne Davison <wayned at samba.org>
Date:   Mon May 30 08:24:27 2011 -0700

    Fix unwritable directory issue due to misordered chmod call.

commit 0b519262c60f8decef113b86aed2599253d29ce1
Author: Wayne Davison <wayned at samba.org>
Date:   Wed May 25 08:59:47 2011 -0700

    Expand NO_ENTRY items from fake-super ACLs in get_rsync_acl().

-----------------------------------------------------------------------

Summary of changes:
 acls.c      |    6 ++++++
 generator.c |   16 ++++++++--------
 2 files changed, 14 insertions(+), 8 deletions(-)


Changeset truncated at 500 lines:

diff --git a/acls.c b/acls.c
index e6f6088..c72784c 100644
--- a/acls.c
+++ b/acls.c
@@ -495,9 +495,15 @@ static int get_rsync_acl(const char *fname, rsync_acl *racl,
 		}
 
 		racl->user_obj = IVAL(buf, 0);
+		if (racl->user_obj == NO_ENTRY)
+			racl->user_obj = (mode >> 6) & 7;
 		racl->group_obj = IVAL(buf, 4);
+		if (racl->group_obj == NO_ENTRY)
+			racl->group_obj = (mode >> 3) & 7;
 		racl->mask_obj = IVAL(buf, 8);
 		racl->other_obj = IVAL(buf, 12);
+		if (racl->other_obj == NO_ENTRY)
+			racl->other_obj = mode & 7;
 
 		if (cnt) {
 			char *bp = buf + 4*4;
diff --git a/generator.c b/generator.c
index 4f74597..88a762a 100644
--- a/generator.c
+++ b/generator.c
@@ -1523,6 +1523,14 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
 			}
 		}
 
+#ifdef SUPPORT_XATTRS
+		if (preserve_xattrs && statret == 1)
+			copy_xattrs(fnamecmpbuf, fname);
+#endif
+		if (set_file_attrs(fname, file, real_ret ? NULL : &real_sx, NULL, 0)
+		    && verbose && code != FNONE && f_out != -1)
+			rprintf(code, "%s/\n", fname);
+
 		/* We need to ensure that the dirs in the transfer have writable
 		 * permissions during the time we are putting files within them.
 		 * This is then fixed after the transfer is done. */
@@ -1538,14 +1546,6 @@ static void recv_generator(char *fname, struct file_struct *file, int ndx,
 		}
 #endif
 
-#ifdef SUPPORT_XATTRS
-		if (preserve_xattrs && statret == 1)
-			copy_xattrs(fnamecmpbuf, fname);
-#endif
-		if (set_file_attrs(fname, file, real_ret ? NULL : &real_sx, NULL, 0)
-		    && verbose && code != FNONE && f_out != -1)
-			rprintf(code, "%s/\n", fname);
-
 		if (real_ret != 0 && one_file_system)
 			real_sx.st.st_dev = filesystem_dev;
 		if (inc_recurse) {


-- 
The rsync repository.


More information about the rsync-cvs mailing list