From 600451da33728cbd377b122c85cf146f5b319998 Mon Sep 17 00:00:00 2001 From: Ira Cooper Date: Wed, 7 Sep 2011 12:24:22 -0700 Subject: [PATCH] Fix bug #8442 - NFSv4 DENY ACLs always include SYNCHRONIZE flag - blocking renames. Thanks to Youzhong Yang for discovering this issue. Autobuild-User: Jeremy Allison Autobuild-Date: Wed Sep 7 22:56:06 CEST 2011 on sn-devel-104 --- source3/modules/nfs4_acls.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/source3/modules/nfs4_acls.c b/source3/modules/nfs4_acls.c index 041aee2e8d4..e94abacc482 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); -- 2.11.4.GIT