Matt McCutchen's Web Site
/
rsync
/
rsync.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
e129500
)
Don't try to simplify an ACL that has a mask w/o any named values.
author
Wayne Davison
<wayned@samba.org>
Fri, 10 Apr 2009 05:49:24 +0000
(22:49 -0700)
committer
Wayne Davison
<wayned@samba.org>
Fri, 10 Apr 2009 05:49:24 +0000
(22:49 -0700)
acls.c
patch
|
blob
|
blame
|
history
diff --git
a/acls.c
b/acls.c
index
6e0f601
..
dc80dce
100644
(file)
--- a/
acls.c
+++ b/
acls.c
@@
-137,7
+137,8
@@
static void rsync_acl_strip_perms(rsync_acl *racl)
else {
if (racl->group_obj == racl->mask_obj)
racl->group_obj = NO_ENTRY;
else {
if (racl->group_obj == racl->mask_obj)
racl->group_obj = NO_ENTRY;
- racl->mask_obj = NO_ENTRY;
+ if (racl->names.count != 0)
+ racl->mask_obj = NO_ENTRY;
}
racl->other_obj = NO_ENTRY;
}
}
racl->other_obj = NO_ENTRY;
}
@@
-749,14
+750,7
@@
static int recv_rsync_acl(item_list *racl_list, SMB_ACL_TYPE_T type, int f)
/* If we received a superfluous mask, throw it away. */
duo_item->racl.mask_obj = NO_ENTRY;
#else
/* If we received a superfluous mask, throw it away. */
duo_item->racl.mask_obj = NO_ENTRY;
#else
- if (!duo_item->racl.names.count) {
- /* If we received a superfluous mask, throw it away. */
- if (duo_item->racl.mask_obj != NO_ENTRY) {
- /* Mask off the group perms with it first. */
- duo_item->racl.group_obj &= duo_item->racl.mask_obj | NO_ENTRY;
- duo_item->racl.mask_obj = NO_ENTRY;
- }
- } else if (duo_item->racl.mask_obj == NO_ENTRY) /* Must be non-empty with lists. */
+ if (duo_item->racl.names.count && duo_item->racl.mask_obj == NO_ENTRY) /* Must be non-empty with lists. */
duo_item->racl.mask_obj = (computed_mask_bits | duo_item->racl.group_obj) & ~NO_ENTRY;
#endif
duo_item->racl.mask_obj = (computed_mask_bits | duo_item->racl.group_obj) & ~NO_ENTRY;
#endif