Tidy up previous patch for bug #8442 - NFSv4 DENY ACLs always include SYNCHRONIZE...
authorJeremy Allison <jra@samba.org>
Wed, 7 Sep 2011 21:57:11 +0000 (14:57 -0700)
committerJeremy Allison <jra@samba.org>
Thu, 8 Sep 2011 01:34:39 +0000 (03:34 +0200)
aceType is an enum field, not a bitmask.

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Thu Sep  8 03:34:39 CEST 2011 on sn-devel-104

source3/modules/nfs4_acls.c

index e94abacc4827282d34a23868bc716541d863c498..a60d98fddc6b0e5b780e541e3a2096af9647d227 100644 (file)
@@ -337,13 +337,12 @@ static bool smbacl4_nfs42win(TALLOC_CTX *mem_ctx, SMB4ACL_T *theacl, /* in */
                DEBUG(10, ("Windows mapped ace flags: 0x%x => 0x%x\n",
                      ace->aceFlags, win_ace_flags));
 
+               mask = ace->aceMask;
                /* Windows clients expect SYNC on acls to
                   correctly allow rename. See bug #7909. */
-               if(ace->aceType & SMB_ACE4_ACCESS_DENIED_ACE_TYPE) {
-                       /* But not on DENY ace entries. See
-                          bug #8442. */
-                       mask = ace->aceMask;
-               } else {
+               /* But not on DENY ace entries. See
+                  bug #8442. */
+               if(ace->aceType == SMB_ACE4_ACCESS_ALLOWED_ACE_TYPE) {
                        mask = ace->aceMask | SMB_ACE4_SYNCHRONIZE;
                }
                init_sec_ace(&nt_ace_list[good_aces++], &sid,