r2916: longhorn client doesn't bother setting the directory bit in ntcreatex
[samba.git] / 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;