diff options
author | Ira Cooper <ira@wakeful.net> | 2011-09-07 12:24:22 -0700 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2011-09-07 22:56:06 +0200 |
commit | 600451da33728cbd377b122c85cf146f5b319998 (patch) | |
tree | fa51fb1c6d5dfb02b23e56ca7e374676068158e2 /source3/modules | |
parent | 8745c70dfab058d609bc0ec88561ac62e1317e50 (diff) | |
download | samba-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.c | 8 |
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); |