r2916: longhorn client doesn't bother setting the directory bit in ntcreatex
authorAndrew Tridgell <tridge@samba.org>
Mon, 11 Oct 2004 14:35:54 +0000 (14:35 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:59:48 +0000 (12:59 -0500)
when opening directories. This change allows samba4 server to work
with longhorn client.

source/ntvfs/posix/pvfs_open.c

index 560d194a3462007a947acc701001b4c9b92e53af..271bd414295174146527e823e8923d701d9db5f7 100644 (file)
@@ -110,7 +110,12 @@ NTSTATUS pvfs_open(struct ntvfs_module_context *ntvfs,
 #define O_DIRECTORY 0
 #endif
 
-       if (io->generic.in.create_options & NTCREATEX_OPTIONS_DIRECTORY) {
+       if ((io->generic.in.create_options & NTCREATEX_OPTIONS_DIRECTORY) &&
+           !(name->dos.attrib & FILE_ATTRIBUTE_DIRECTORY)) {
+               return NT_STATUS_NOT_A_DIRECTORY;
+       }
+
+       if (name->dos.attrib & FILE_ATTRIBUTE_DIRECTORY) {
                flags = O_RDONLY | O_DIRECTORY;
                if (pvfs->flags & PVFS_FLAG_READONLY) {
                        goto do_open;