summaryrefslogtreecommitdiff
path: root/source3/modules
diff options
context:
space:
mode:
authorIra Cooper <ira@wakeful.net>2011-09-07 12:24:22 -0700
committerJeremy Allison <jra@samba.org>2011-09-07 22:56:06 +0200
commit600451da33728cbd377b122c85cf146f5b319998 (patch)
treefa51fb1c6d5dfb02b23e56ca7e374676068158e2 /source3/modules
parent8745c70dfab058d609bc0ec88561ac62e1317e50 (diff)
downloadsamba-600451da33728cbd377b122c85cf146f5b319998.tar.gz
samba-600451da33728cbd377b122c85cf146f5b319998.tar.bz2
samba-600451da33728cbd377b122c85cf146f5b319998.zip
Fix bug #8442 - NFSv4 DENY ACLs always include SYNCHRONIZE flag - blocking renames.
Thanks to Youzhong Yang for discovering this issue. Autobuild-User: Jeremy Allison <jra@samba.org> Autobuild-Date: Wed Sep 7 22:56:06 CEST 2011 on sn-devel-104
Diffstat (limited to 'source3/modules')
-rw-r--r--source3/modules/nfs4_acls.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/source3/modules/nfs4_acls.c b/source3/modules/nfs4_acls.c
index 041aee2e8d..e94abacc48 100644
--- a/source3/modules/nfs4_acls.c
+++ b/source3/modules/nfs4_acls.c
@@ -339,7 +339,13 @@ static bool smbacl4_nfs42win(TALLOC_CTX *mem_ctx, SMB4ACL_T *theacl, /* in */
/* Windows clients expect SYNC on acls to
correctly allow rename. See bug #7909. */
- mask = ace->aceMask | SMB_ACE4_SYNCHRONIZE;
+ if(ace->aceType & SMB_ACE4_ACCESS_DENIED_ACE_TYPE) {
+ /* But not on DENY ace entries. See
+ bug #8442. */
+ mask = ace->aceMask;
+ } else {
+ mask = ace->aceMask | SMB_ACE4_SYNCHRONIZE;
+ }
init_sec_ace(&nt_ace_list[good_aces++], &sid,
ace->aceType, mask,
win_ace_flags);