Fix bug #8972 - Directory group write permission bit is set if unix extensions are...
authorJeremy Allison <jra@samba.org>
Tue, 5 Jun 2012 00:34:54 +0000 (17:34 -0700)
committerJeremy Allison <jra@samba.org>
Tue, 5 Jun 2012 02:26:10 +0000 (04:26 +0200)
We can't manipulate file_attributes if it's a posix call. I'll look
at adding a test for this asap.

Autobuild-User: Jeremy Allison <jra@samba.org>
Autobuild-Date: Tue Jun  5 04:26:11 CEST 2012 on sn-devel-104

source3/smbd/open.c

index 17721c6127061cac3b7aecacd17fea1a17c10181..a012675f566b8d1fadef43329c093fcc7c636e7e 100644 (file)
@@ -2714,8 +2714,10 @@ static NTSTATUS open_directory(connection_struct *conn,
                return NT_STATUS_NOT_A_DIRECTORY;
        }
 
-       /* Ensure we have a directory attribute. */
-       file_attributes |= FILE_ATTRIBUTE_DIRECTORY;
+       if (!(file_attributes & FILE_FLAG_POSIX_SEMANTICS)) {
+               /* Ensure we have a directory attribute. */
+               file_attributes |= FILE_ATTRIBUTE_DIRECTORY;
+       }
 
        DEBUG(5,("open_directory: opening directory %s, access_mask = 0x%x, "
                 "share_access = 0x%x create_options = 0x%x, "