Expand NO_ENTRY items from fake-super ACLs in get_rsync_acl().
authorWayne Davison <wayned@samba.org>
Wed, 25 May 2011 15:59:47 +0000 (08:59 -0700)
committerWayne Davison <wayned@samba.org>
Wed, 25 May 2011 15:59:47 +0000 (08:59 -0700)
acls.c

diff --git a/acls.c b/acls.c
index 90279fc..35734bb 100644 (file)
--- 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;