Revert "smbd: fix the handling of create_options to pass RAW-OPEN"
authorKarolin Seeger <kseeger@samba.org>
Wed, 27 Aug 2008 08:38:18 +0000 (10:38 +0200)
committerKarolin Seeger <kseeger@samba.org>
Wed, 27 Aug 2008 08:38:18 +0000 (10:38 +0200)
This reverts commit ebd1f8f9297b31353d094ddccc320a83f02877ce.

source/include/smb.h
source/smbd/nttrans.c
source/smbd/open.c

index 3c7058fc29d99734e74d872a4f613d3f6dd6814d..cef6819979a1bb10ab20172a55a61ba62cb99d47 100644 (file)
@@ -1377,19 +1377,12 @@ struct bitmap {
 #define FILE_DELETE_ON_CLOSE      0x1000
 #define FILE_OPEN_BY_FILE_ID     0x2000
 
-#define NTCREATEX_OPTIONS_MUST_IGNORE_MASK      (0x008F0480)
-
-#define NTCREATEX_OPTIONS_INVALID_PARAM_MASK    (0xFF100030)
-
-/*
- * Private create options used by the ntcreatex processing code. From Samba4.
- * We reuse some ignored flags for private use.
- */
-#define NTCREATEX_OPTIONS_PRIVATE_DENY_DOS     0x00010000
-#define NTCREATEX_OPTIONS_PRIVATE_DENY_FCB     0x00020000
+/* Private create options used by the ntcreatex processing code. From Samba4. */
+#define NTCREATEX_OPTIONS_PRIVATE_DENY_DOS     0x01000000
+#define NTCREATEX_OPTIONS_PRIVATE_DENY_FCB     0x02000000
 
 /* Private options for streams support */
-#define NTCREATEX_OPTIONS_PRIVATE_STREAM_DELETE 0x00040000
+#define NTCREATEX_OPTIONS_PRIVATE_STREAM_DELETE 0x04000000
 
 /* Responses when opening a file. */
 #define FILE_WAS_SUPERSEDED 0
index 0b48fa2c4d522104de041149bb013ccec8ead3b7..ae7bd8b7b722a095d565ccd13b621a1e4a8723a1 100644 (file)
@@ -489,12 +489,6 @@ void reply_ntcreate_and_X(struct smb_request *req)
                        (unsigned int)root_dir_fid,
                        fname));
 
-       /*
-        * we need to remove ignored bits when they come directly from the client
-        * because we reuse some of them for internal stuff
-        */
-       create_options &= ~NTCREATEX_OPTIONS_MUST_IGNORE_MASK;
-
        /*
         * If it's an IPC, use the pipe handler.
         */
@@ -905,12 +899,6 @@ static void call_nt_transact_create(connection_struct *conn,
        allocation_size |= (((SMB_BIG_UINT)IVAL(params,16)) << 32);
 #endif
 
-       /*
-        * we need to remove ignored bits when they come directly from the client
-        * because we reuse some of them for internal stuff
-        */
-       create_options &= ~NTCREATEX_OPTIONS_MUST_IGNORE_MASK;
-
        /* Ensure the data_len is correct for the sd and ea values given. */
        if ((ea_len + sd_len > data_count)
            || (ea_len > data_count) || (sd_len > data_count)
index ea10cdc57995e8a807f6ff5586e445146fb2c57a..2184e69d3745c936c4b683bc9116ccf41493d9b6 100644 (file)
@@ -2614,11 +2614,6 @@ NTSTATUS create_file_unixpath(connection_struct *conn,
                goto fail;
        }
 
-       if (create_options & NTCREATEX_OPTIONS_INVALID_PARAM_MASK) {
-               status = NT_STATUS_INVALID_PARAMETER;
-               goto fail;
-       }
-
        if (req == NULL) {
                oplock_request |= INTERNAL_OPEN_ONLY;
        }