The branch, master has been updated
       via  0dad9a31cb7 smbd: add and use SMB2_FILE_ALL_INFORMATION
       via  f33b91a932a smbd: add and use SMB2_FILE_FULL_EA_INFORMATION
       via  4b53e583404 s3: add and use MS-FSCC Codes from 2.4 and 2.5
       via  7d9b32c8814 smb: update comments on the NTCREATEX_FLAG_* flags
       via  45017205c34 smb: rename NTCREATEX_OPTIONS_PRIVATE_STREAM_BASEOPEN 
to NTCREATEX_FLAG_STREAM_BASEOPEN
       via  4481259f78a smb: rename NTCREATEX_OPTIONS_PRIVATE_DELETE_ON_CLOSE 
to NTCREATEX_FLAG_DELETE_ON_CLOSE
       via  c2f0fd40da0 smb: rename NTCREATEX_OPTIONS_PRIVATE_DENY_FCB to 
NTCREATEX_FLAG_DENY_FCB
       via  6da16727e11 smb: rename NTCREATEX_OPTIONS_PRIVATE_DENY_DOS to 
NTCREATEX_FLAG_DENY_DOS
      from  d08a6b42004 librpc/dcesrv_core: let dcesrv_call_dispatch_local() 
call context->iface->reply()

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 0dad9a31cb70a45e2c5afc4c9c4885cab008b4d6
Author: Ralph Boehme <s...@samba.org>
Date:   Fri Oct 23 16:25:06 2020 +0200

    smbd: add and use SMB2_FILE_ALL_INFORMATION
    
    Signed-off-by: Ralph Boehme <s...@samba.org>
    Reviewed-by: Jeremy Allison <j...@samba.org>
    
    Autobuild-User(master): Jeremy Allison <j...@samba.org>
    Autobuild-Date(master): Fri Oct 23 19:06:40 UTC 2020 on sn-devel-184

commit f33b91a932abbe0c52710e3582f8ef141d97d079
Author: Ralph Boehme <s...@samba.org>
Date:   Fri Oct 23 16:24:08 2020 +0200

    smbd: add and use SMB2_FILE_FULL_EA_INFORMATION
    
    Signed-off-by: Ralph Boehme <s...@samba.org>
    Reviewed-by: Jeremy Allison <j...@samba.org>

commit 4b53e5834045e58704b0ec3e48c35626a168cd81
Author: Ralph Boehme <s...@samba.org>
Date:   Fri Oct 23 16:21:16 2020 +0200

    s3: add and use MS-FSCC Codes from 2.4 and 2.5
    
    Signed-off-by: Ralph Boehme <s...@samba.org>
    Reviewed-by: Jeremy Allison <j...@samba.org>

commit 7d9b32c8814ace1bf0599980a6d61fbc8d2711b5
Author: Ralph Boehme <s...@samba.org>
Date:   Fri Oct 23 13:10:36 2020 +0200

    smb: update comments on the NTCREATEX_FLAG_* flags
    
    Signed-off-by: Ralph Boehme <s...@samba.org>
    Reviewed-by: Jeremy Allison <j...@samba.org>

commit 45017205c34c83272638c3f235eef0ebc0aaa3ca
Author: Ralph Boehme <s...@samba.org>
Date:   Fri Oct 23 13:08:50 2020 +0200

    smb: rename NTCREATEX_OPTIONS_PRIVATE_STREAM_BASEOPEN to 
NTCREATEX_FLAG_STREAM_BASEOPEN
    
    Just a shorter name, no change in behaviour.
    
    Signed-off-by: Ralph Boehme <s...@samba.org>
    Reviewed-by: Jeremy Allison <j...@samba.org>

commit 4481259f78aea0a69a936bf1c57c4453423cf1c1
Author: Ralph Boehme <s...@samba.org>
Date:   Fri Oct 23 17:45:59 2020 +0200

    smb: rename NTCREATEX_OPTIONS_PRIVATE_DELETE_ON_CLOSE to 
NTCREATEX_FLAG_DELETE_ON_CLOSE
    
    Just a shorter name, no change in behaviour.
    
    Signed-off-by: Ralph Boehme <s...@samba.org>
    Reviewed-by: Jeremy Allison <j...@samba.org>

commit c2f0fd40da0caefdf410531a38c858f7a0f8af10
Author: Ralph Boehme <s...@samba.org>
Date:   Fri Oct 23 17:42:28 2020 +0200

    smb: rename NTCREATEX_OPTIONS_PRIVATE_DENY_FCB to NTCREATEX_FLAG_DENY_FCB
    
    Just a shorter name, no change in behaviour.
    
    Signed-off-by: Ralph Boehme <s...@samba.org>
    Reviewed-by: Jeremy Allison <j...@samba.org>

commit 6da16727e119243a25072c4a2dcf211235edbc62
Author: Ralph Boehme <s...@samba.org>
Date:   Fri Oct 23 17:41:33 2020 +0200

    smb: rename NTCREATEX_OPTIONS_PRIVATE_DENY_DOS to NTCREATEX_FLAG_DENY_DOS
    
    Just a shorter name, no change in behaviour.
    
    Signed-off-by: Ralph Boehme <s...@samba.org>
    Reviewed-by: Jeremy Allison <j...@samba.org>

-----------------------------------------------------------------------

Summary of changes:
 source3/include/smb.h           |  17 ++--
 source3/include/trans2.h        | 182 +++++++++++++++++++++++++++-------------
 source3/lib/util.c              |   8 +-
 source3/locking/locking.c       |   2 +-
 source3/printing/printspoolss.c |   2 +-
 source3/smbd/open.c             |   4 +-
 source3/smbd/smb1_utils.c       |  10 +--
 source3/smbd/smb2_getinfo.c     |   8 +-
 source3/smbd/smb2_setinfo.c     |   2 +-
 source3/smbd/trans2.c           |   9 +-
 source4/libcli/raw/smb.h        |   4 +-
 source4/ntvfs/ntvfs_generic.c   |   4 +-
 source4/ntvfs/posix/pvfs_open.c |   8 +-
 13 files changed, 162 insertions(+), 98 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/include/smb.h b/source3/include/smb.h
index b703dc5d8f3..ec4b9cf5f4b 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -401,18 +401,17 @@ Offset  Data                      length.
 #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. Passed in the private_flags
- * argument.
+ * Private flags used by the ntcreatex processing
+ * code. Passed in the private_flags argument.
  */
-#define NTCREATEX_OPTIONS_PRIVATE_DENY_DOS     0x0001
-#define NTCREATEX_OPTIONS_PRIVATE_DENY_FCB     0x0002
+#define NTCREATEX_FLAG_DENY_DOS                        0x0001
+#define NTCREATEX_FLAG_DENY_FCB                        0x0002
 
-/* Private options for printer support */
-#define NTCREATEX_OPTIONS_PRIVATE_DELETE_ON_CLOSE 0x0008
+/* Private flag for printer support */
+#define NTCREATEX_FLAG_DELETE_ON_CLOSE         0x0008
 
-/* Private option for streams support */
-#define NTCREATEX_OPTIONS_PRIVATE_STREAM_BASEOPEN 0x0010
+/* Private flag for streams support */
+#define NTCREATEX_FLAG_STREAM_BASEOPEN         0x0010
 
 /* Flag for NT transact rename call. */
 #define RENAME_REPLACE_IF_EXISTS 1
diff --git a/source3/include/trans2.h b/source3/include/trans2.h
index ece436a048f..637ed303e51 100644
--- a/source3/include/trans2.h
+++ b/source3/include/trans2.h
@@ -290,68 +290,136 @@ Byte offset   Type     name                description
 
 #define SSINFO_OFFSET_UNKNOWN                          0xffffffff
 
+/* MS-FSCC 2.4 File Information Classes */
+
+#define FSCC_FILE_DIRECTORY_INFORMATION                        1
+#define FSCC_FILE_FULL_DIRECTORY_INFORMATION           2
+#define FSCC_FILE_BOTH_DIRECTORY_INFORMATION           3
+#define FSCC_FILE_BASIC_INFORMATION                    4
+#define FSCC_FILE_STANDARD_INFORMATION                 5
+#define FSCC_FILE_INTERNAL_INFORMATION                 6
+#define FSCC_FILE_EA_INFORMATION                       7
+#define FSCC_FILE_ACCESS_INFORMATION                   8
+#define FSCC_FILE_NAME_INFORMATION                     9
+#define FSCC_FILE_RENAME_INFORMATION                   10
+#define FSCC_FILE_LINK_INFORMATION                     11
+#define FSCC_FILE_NAMES_INFORMATION                    12
+#define FSCC_FILE_DISPOSITION_INFORMATION              13
+#define FSCC_FILE_POSITION_INFORMATION                 14
+#define FSCC_FILE_FULL_EA_INFORMATION                  15
+#define FSCC_FILE_MODE_INFORMATION                     16
+#define FSCC_FILE_ALIGNMENT_INFORMATION                        17
+#define FSCC_FILE_ALL_INFORMATION                      18
+#define FSCC_FILE_ALLOCATION_INFORMATION               19
+#define FSCC_FILE_END_OF_FILE_INFORMATION              20
+#define FSCC_FILE_ALTERNATE_NAME_INFORMATION           21
+#define FSCC_FILE_STREAM_INFORMATION                   22
+#define FSCC_FILE_PIPE_INFORMATION                     23
+#define FSCC_FILE_PIPE_LOCAL_INFORMATION               24
+#define FSCC_FILE_PIPE_REMOTE_INFORMATION              25
+#define FSCC_FILE_MAILSLOT_QUERY_INFORMATION           26
+#define FSCC_FILE_MAILSLOT_SET_INFORMATION             27
+#define FSCC_FILE_COMPRESSION_INFORMATION              28
+#define FSCC_FILE_OBJECTID_INFORMATION                 29
+#define FSCC_FILE_COMPLETION_INFORMATION               30
+#define FSCC_FILE_MOVE_CLUSTER_INFORMATION             31
+#define FSCC_FILE_QUOTA_INFORMATION                    32
+#define FSCC_FILE_REPARSEPOINT_INFORMATION             33
+#define FSCC_FILE_NETWORK_OPEN_INFORMATION             34
+#define FSCC_FILE_ATTRIBUTE_TAG_INFORMATION            35
+#define FSCC_FILE_TRACKING_INFORMATION                 36
+#define FSCC_FILE_ID_BOTH_DIRECTORY_INFORMATION                37
+#define FSCC_FILE_ID_FULL_DIRECTORY_INFORMATION                38
+#define FSCC_FILE_VALID_DATA_LENGTH_INFORMATION                39
+#define FSCC_FILE_SHORT_NAME_INFORMATION               40
+#define FSCC_FILE_SFIO_RESERVE_INFORMATION             44
+#define FSCC_FILE_SFIO_VOLUME_INFORMATION              45
+#define FSCC_FILE_HARD_LINK_INFORMATION                        46
+#define FSCC_FILE_NORMALIZED_NAME_INFORMATION          48
+#define FSCC_FILE_ID_GLOBAL_TX_DIRECTORY_INFORMATION   50
+#define FSCC_FILE_STANDARD_LINK_INFORMATION            54
+#define FSCC_FILE_MAXIMUM_INFORMATION                  55
+
+/* MS-FSCC 2.4 File System Information Classes */
+
+#define FSCC_FS_VOLUME_INFORMATION                     1
+#define FSCC_FS_LABEL_INFORMATION                      2
+#define FSCC_FS_SIZE_INFORMATION                       3
+#define FSCC_FS_DEVICE_INFORMATION                     4
+#define FSCC_FS_ATTRIBUTE_INFORMATION                  5
+#define FSCC_FS_QUOTA_INFORMATION                      6
+#define FSCC_FS_FULL_SIZE_INFORMATION                  7
+#define FSCC_FS_OBJECTID_INFORMATION                   8
+#define FSCC_FS_SECTOR_SIZE_INFORMATION                        11
+
 /* NT passthrough levels... */
 
-#define SMB_FILE_DIRECTORY_INFORMATION                 1001
-#define SMB_FILE_FULL_DIRECTORY_INFORMATION            1002
-#define SMB_FILE_BOTH_DIRECTORY_INFORMATION            1003
-#define SMB_FILE_BASIC_INFORMATION                     1004
-#define SMB_FILE_STANDARD_INFORMATION                  1005
-#define SMB_FILE_INTERNAL_INFORMATION                  1006
-#define SMB_FILE_EA_INFORMATION                                1007
-#define SMB_FILE_ACCESS_INFORMATION                    1008
-#define SMB_FILE_NAME_INFORMATION                      1009
-#define SMB_FILE_RENAME_INFORMATION                    1010
-#define SMB2_FILE_RENAME_INFORMATION_INTERNAL          0xFF0A  /* Internal 
mapped version. */
-#define SMB_FILE_LINK_INFORMATION                      1011
-#define SMB_FILE_NAMES_INFORMATION                     1012
-#define SMB_FILE_DISPOSITION_INFORMATION               1013
-#define SMB_FILE_POSITION_INFORMATION                  1014
-#define SMB_FILE_FULL_EA_INFORMATION                   1015
-#define SMB_FILE_MODE_INFORMATION                      1016
-#define SMB_FILE_ALIGNMENT_INFORMATION                 1017
-#define SMB_FILE_ALL_INFORMATION                       1018
-#define SMB_FILE_ALLOCATION_INFORMATION                        1019
-#define SMB_FILE_END_OF_FILE_INFORMATION               1020
-#define SMB_FILE_ALTERNATE_NAME_INFORMATION            1021
-#define SMB_FILE_STREAM_INFORMATION                    1022
-#define SMB_FILE_PIPE_INFORMATION                      1023
-#define SMB_FILE_PIPE_LOCAL_INFORMATION                        1024
-#define SMB_FILE_PIPE_REMOTE_INFORMATION               1025
-#define SMB_FILE_MAILSLOT_QUERY_INFORMATION            1026
-#define SMB_FILE_MAILSLOT_SET_INFORMATION              1027
-#define SMB_FILE_COMPRESSION_INFORMATION               1028
-#define SMB_FILE_OBJECTID_INFORMATION                  1029
-#define SMB_FILE_COMPLETION_INFORMATION                        1030
-#define SMB_FILE_MOVE_CLUSTER_INFORMATION              1031
-#define SMB_FILE_QUOTA_INFORMATION                     1032
-#define SMB_FILE_REPARSEPOINT_INFORMATION              1033
-#define SMB_FILE_NETWORK_OPEN_INFORMATION              1034
-#define SMB_FILE_ATTRIBUTE_TAG_INFORMATION             1035
-#define SMB_FILE_TRACKING_INFORMATION                  1036
-#define SMB_FILE_ID_BOTH_DIRECTORY_INFORMATION         1037
-#define SMB_FILE_ID_FULL_DIRECTORY_INFORMATION         1038
-#define SMB_FILE_VALID_DATA_LENGTH_INFORMATION         1039
-#define SMB_FILE_SHORT_NAME_INFORMATION                        1040
-#define SMB_FILE_SFIO_RESERVE_INFORMATION              1044
-#define SMB_FILE_SFIO_VOLUME_INFORMATION               1045
-#define SMB_FILE_HARD_LINK_INFORMATION                 1046
-#define SMB_FILE_NORMALIZED_NAME_INFORMATION           1048
-#define SMB_FILE_ID_GLOBAL_TX_DIRECTORY_INFORMATION    1050
-#define SMB_FILE_STANDARD_LINK_INFORMATION             1054
-#define SMB_FILE_MAXIMUM_INFORMATION                   1055
+#define NT_PASSTHROUGH_OFFSET 1000
+#define SMB2_INFO_SPECIAL 0xFF00
+
+#define SMB_FILE_DIRECTORY_INFORMATION                 
(FSCC_FILE_DIRECTORY_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_FULL_DIRECTORY_INFORMATION            
(FSCC_FILE_FULL_DIRECTORY_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_BOTH_DIRECTORY_INFORMATION            
(FSCC_FILE_BOTH_DIRECTORY_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_BASIC_INFORMATION                     
(FSCC_FILE_BASIC_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_STANDARD_INFORMATION                  
(FSCC_FILE_STANDARD_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_INTERNAL_INFORMATION                  
(FSCC_FILE_INTERNAL_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_EA_INFORMATION                                
(FSCC_FILE_EA_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_ACCESS_INFORMATION                    
(FSCC_FILE_ACCESS_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_NAME_INFORMATION                      
(FSCC_FILE_NAME_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_RENAME_INFORMATION                    
(FSCC_FILE_RENAME_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_LINK_INFORMATION                      
(FSCC_FILE_LINK_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_NAMES_INFORMATION                     
(FSCC_FILE_NAMES_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_DISPOSITION_INFORMATION               
(FSCC_FILE_DISPOSITION_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_POSITION_INFORMATION                  
(FSCC_FILE_POSITION_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_FULL_EA_INFORMATION                   
(FSCC_FILE_FULL_EA_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_MODE_INFORMATION                      
(FSCC_FILE_MODE_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_ALIGNMENT_INFORMATION                 
(FSCC_FILE_ALIGNMENT_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_ALL_INFORMATION                       
(FSCC_FILE_ALL_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_ALLOCATION_INFORMATION                        
(FSCC_FILE_ALLOCATION_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_END_OF_FILE_INFORMATION               
(FSCC_FILE_END_OF_FILE_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_ALTERNATE_NAME_INFORMATION            
(FSCC_FILE_ALTERNATE_NAME_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_STREAM_INFORMATION                    
(FSCC_FILE_STREAM_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_PIPE_INFORMATION                      
(FSCC_FILE_PIPE_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_PIPE_LOCAL_INFORMATION                        
(FSCC_FILE_PIPE_LOCAL_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_PIPE_REMOTE_INFORMATION               
(FSCC_FILE_PIPE_REMOTE_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_MAILSLOT_QUERY_INFORMATION            
(FSCC_FILE_MAILSLOT_QUERY_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_MAILSLOT_SET_INFORMATION              
(FSCC_FILE_MAILSLOT_SET_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_COMPRESSION_INFORMATION               
(FSCC_FILE_COMPRESSION_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_OBJECTID_INFORMATION                  
(FSCC_FILE_OBJECTID_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_COMPLETION_INFORMATION                        
(FSCC_FILE_COMPLETION_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_MOVE_CLUSTER_INFORMATION              
(FSCC_FILE_MOVE_CLUSTER_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_QUOTA_INFORMATION                     
(FSCC_FILE_QUOTA_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_REPARSEPOINT_INFORMATION              
(FSCC_FILE_REPARSEPOINT_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_NETWORK_OPEN_INFORMATION              
(FSCC_FILE_NETWORK_OPEN_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_ATTRIBUTE_TAG_INFORMATION             
(FSCC_FILE_ATTRIBUTE_TAG_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_TRACKING_INFORMATION                  
(FSCC_FILE_TRACKING_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_ID_BOTH_DIRECTORY_INFORMATION         
(FSCC_FILE_ID_BOTH_DIRECTORY_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_ID_FULL_DIRECTORY_INFORMATION         
(FSCC_FILE_ID_FULL_DIRECTORY_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_VALID_DATA_LENGTH_INFORMATION         
(FSCC_FILE_VALID_DATA_LENGTH_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_SHORT_NAME_INFORMATION                        
(FSCC_FILE_SHORT_NAME_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_SFIO_RESERVE_INFORMATION              
(FSCC_FILE_SFIO_RESERVE_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_SFIO_VOLUME_INFORMATION               
(FSCC_FILE_SFIO_VOLUME_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_HARD_LINK_INFORMATION                 
(FSCC_FILE_HARD_LINK_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_NORMALIZED_NAME_INFORMATION           
(FSCC_FILE_NORMALIZED_NAME_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_ID_GLOBAL_TX_DIRECTORY_INFORMATION    
(FSCC_FILE_ID_GLOBAL_TX_DIRECTORY_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_STANDARD_LINK_INFORMATION             
(FSCC_FILE_STANDARD_LINK_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FILE_MAXIMUM_INFORMATION                   
(FSCC_FILE_MAXIMUM_INFORMATION + NT_PASSTHROUGH_OFFSET)
+/* Internal mapped versions. */
+#define SMB2_FILE_RENAME_INFORMATION_INTERNAL          
(FSCC_FILE_RENAME_INFORMATION + SMB2_INFO_SPECIAL)
+#define SMB2_FILE_FULL_EA_INFORMATION                  
(FSCC_FILE_FULL_EA_INFORMATION + SMB2_INFO_SPECIAL)
+#define SMB2_FILE_ALL_INFORMATION                      
(FSCC_FILE_ALL_INFORMATION + SMB2_INFO_SPECIAL)
 
 /* NT passthough levels for qfsinfo. */
 
-#define SMB_FS_VOLUME_INFORMATION                      1001
-#define SMB_FS_LABEL_INFORMATION                       1002
-#define SMB_FS_SIZE_INFORMATION                                1003
-#define SMB_FS_DEVICE_INFORMATION                      1004
-#define SMB_FS_ATTRIBUTE_INFORMATION                   1005
-#define SMB_FS_QUOTA_INFORMATION                       1006
-#define SMB_FS_FULL_SIZE_INFORMATION                   1007
-#define SMB_FS_OBJECTID_INFORMATION                    1008
-#define SMB_FS_SECTOR_SIZE_INFORMATION                 1011
+#define SMB_FS_VOLUME_INFORMATION                      
(FSCC_FS_VOLUME_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FS_LABEL_INFORMATION                       
(FSCC_FS_LABEL_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FS_SIZE_INFORMATION                                
(FSCC_FS_SIZE_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FS_DEVICE_INFORMATION                      
(FSCC_FS_DEVICE_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FS_ATTRIBUTE_INFORMATION                   
(FSCC_FS_ATTRIBUTE_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FS_QUOTA_INFORMATION                       
(FSCC_FS_QUOTA_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FS_FULL_SIZE_INFORMATION                   
(FSCC_FS_FULL_SIZE_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FS_OBJECTID_INFORMATION                    
(FSCC_FS_OBJECTID_INFORMATION + NT_PASSTHROUGH_OFFSET)
+#define SMB_FS_SECTOR_SIZE_INFORMATION                 
(FSCC_FS_SECTOR_SIZE_INFORMATION + NT_PASSTHROUGH_OFFSET)
 
 /* SMB_FS_DEVICE_INFORMATION device types. */
 #define FILE_DEVICE_CD_ROM             0x2
diff --git a/source3/lib/util.c b/source3/lib/util.c
index 62584bc7ca2..46e0748cdd3 100644
--- a/source3/lib/util.c
+++ b/source3/lib/util.c
@@ -1722,9 +1722,9 @@ uint32_t map_share_mode_to_deny_mode(uint32_t 
share_access, uint32_t private_opt
                case FILE_SHARE_READ|FILE_SHARE_WRITE:
                        return DENY_NONE;
        }
-       if (private_options & NTCREATEX_OPTIONS_PRIVATE_DENY_DOS) {
+       if (private_options & NTCREATEX_FLAG_DENY_DOS) {
                return DENY_DOS;
-       } else if (private_options & NTCREATEX_OPTIONS_PRIVATE_DENY_FCB) {
+       } else if (private_options & NTCREATEX_FLAG_DENY_FCB) {
                return DENY_FCB;
        }
 
@@ -2038,7 +2038,7 @@ bool map_open_params_to_ntcreate(const char 
*smb_base_fname,
                        break;
 
                case DENY_DOS:
-                       private_flags |= NTCREATEX_OPTIONS_PRIVATE_DENY_DOS;
+                       private_flags |= NTCREATEX_FLAG_DENY_DOS;
                        if (is_executable(smb_base_fname)) {
                                share_mode = FILE_SHARE_READ|FILE_SHARE_WRITE;
                        } else {
@@ -2051,7 +2051,7 @@ bool map_open_params_to_ntcreate(const char 
*smb_base_fname,
                        break;
 
                case DENY_FCB:
-                       private_flags |= NTCREATEX_OPTIONS_PRIVATE_DENY_FCB;
+                       private_flags |= NTCREATEX_FLAG_DENY_FCB;
                        share_mode = FILE_SHARE_NONE;
                        break;
 
diff --git a/source3/locking/locking.c b/source3/locking/locking.c
index c3fe5a246e2..06c6a91cd59 100644
--- a/source3/locking/locking.c
+++ b/source3/locking/locking.c
@@ -1069,7 +1069,7 @@ static bool file_has_open_streams_fn(
        struct file_has_open_streams_state *state = private_data;
 
        if ((e->private_options &
-            NTCREATEX_OPTIONS_PRIVATE_STREAM_BASEOPEN) == 0) {
+            NTCREATEX_FLAG_STREAM_BASEOPEN) == 0) {
                return false;
        }
 
diff --git a/source3/printing/printspoolss.c b/source3/printing/printspoolss.c
index c1247685831..f3376d8f31e 100644
--- a/source3/printing/printspoolss.c
+++ b/source3/printing/printspoolss.c
@@ -318,7 +318,7 @@ void print_spool_end(files_struct *fsp, enum 
file_close_type close_type)
        struct dcerpc_binding_handle *b = NULL;
 
        if (fsp->fh->private_options &
-           NTCREATEX_OPTIONS_PRIVATE_DELETE_ON_CLOSE) {
+           NTCREATEX_FLAG_DELETE_ON_CLOSE) {
                int ret;
 
                /*
diff --git a/source3/smbd/open.c b/source3/smbd/open.c
index e55e4590336..0250df69db0 100644
--- a/source3/smbd/open.c
+++ b/source3/smbd/open.c
@@ -3329,7 +3329,7 @@ static int calculate_open_access_flags(uint32_t 
access_mask,
           says. */
 
        need_read =
-               ((private_flags & NTCREATEX_OPTIONS_PRIVATE_DENY_DOS) ||
+               ((private_flags & NTCREATEX_FLAG_DENY_DOS) ||
                 access_mask & (FILE_READ_ATTRIBUTES|FILE_READ_DATA|
                                FILE_READ_EA|FILE_EXECUTE));
 
@@ -5600,7 +5600,7 @@ static NTSTATUS create_file_unixpath(connection_struct 
*conn,
                        }
                }
 
-               base_privflags = NTCREATEX_OPTIONS_PRIVATE_STREAM_BASEOPEN;
+               base_privflags = NTCREATEX_FLAG_STREAM_BASEOPEN;
 
                /* Open the base file. */
                status = create_file_unixpath(conn,
diff --git a/source3/smbd/smb1_utils.c b/source3/smbd/smb1_utils.c
index 95aabddb997..6f587dfa60b 100644
--- a/source3/smbd/smb1_utils.c
+++ b/source3/smbd/smb1_utils.c
@@ -42,8 +42,8 @@ struct files_struct *fcb_or_dos_open(
        NTSTATUS status;
 
        if ((private_flags &
-            (NTCREATEX_OPTIONS_PRIVATE_DENY_DOS|
-             NTCREATEX_OPTIONS_PRIVATE_DENY_FCB))
+            (NTCREATEX_FLAG_DENY_DOS|
+             NTCREATEX_FLAG_DENY_FCB))
            == 0) {
                return NULL;
        }
@@ -67,8 +67,8 @@ struct files_struct *fcb_or_dos_open(
                    fsp->vuid == req->vuid &&
                    fsp->file_pid == req->smbpid &&
                    (fsp->fh->private_options &
-                    (NTCREATEX_OPTIONS_PRIVATE_DENY_DOS |
-                     NTCREATEX_OPTIONS_PRIVATE_DENY_FCB)) &&
+                    (NTCREATEX_FLAG_DENY_DOS |
+                     NTCREATEX_FLAG_DENY_FCB)) &&
                    (fsp->access_mask & FILE_WRITE_DATA) &&
                    strequal(fsp->fsp_name->base_name, smb_fname->base_name) &&
                    strequal(fsp->fsp_name->stream_name,
@@ -84,7 +84,7 @@ struct files_struct *fcb_or_dos_open(
 
        /* quite an insane set of semantics ... */
        if (is_executable(smb_fname->base_name) &&
-           (fsp->fh->private_options & NTCREATEX_OPTIONS_PRIVATE_DENY_DOS)) {
+           (fsp->fh->private_options & NTCREATEX_FLAG_DENY_DOS)) {
                DBG_DEBUG("file fail due to is_executable.\n");
                return NULL;
        }
diff --git a/source3/smbd/smb2_getinfo.c b/source3/smbd/smb2_getinfo.c
index f4fb7ce0b23..d673709fc67 100644
--- a/source3/smbd/smb2_getinfo.c
+++ b/source3/smbd/smb2_getinfo.c
@@ -304,12 +304,12 @@ static struct tevent_req 
*smbd_smb2_getinfo_send(TALLOC_CTX *mem_ctx,
                ZERO_STRUCT(write_time_ts);
 
                switch (in_file_info_class) {
-               case 0x0F:/* RAW_FILEINFO_SMB2_ALL_EAS */
-                       file_info_level = 0xFF00 | in_file_info_class;
+               case FSCC_FILE_FULL_EA_INFORMATION:
+                       file_info_level = SMB2_FILE_FULL_EA_INFORMATION;
                        break;
 
-               case 0x12:/* RAW_FILEINFO_SMB2_ALL_INFORMATION */
-                       file_info_level = 0xFF00 | in_file_info_class;
+               case FSCC_FILE_ALL_INFORMATION:
+                       file_info_level = SMB2_FILE_ALL_INFORMATION;
                        break;
 
                default:
diff --git a/source3/smbd/smb2_setinfo.c b/source3/smbd/smb2_setinfo.c
index 43dc232a6d6..fdda9b5af3c 100644
--- a/source3/smbd/smb2_setinfo.c
+++ b/source3/smbd/smb2_setinfo.c
@@ -449,7 +449,7 @@ static struct tevent_req *smbd_smb2_setinfo_send(TALLOC_CTX 
*mem_ctx,
                        if ((file_info_level == SMB_SET_FILE_DISPOSITION_INFO)
                            && in_input_buffer.length >= 1
                            && CVAL(in_input_buffer.data,0)) {
-                               fsp->fh->private_options |= 
NTCREATEX_OPTIONS_PRIVATE_DELETE_ON_CLOSE;
+                               fsp->fh->private_options |= 
NTCREATEX_FLAG_DELETE_ON_CLOSE;
 
                                DEBUG(3,("smbd_smb2_setinfo_send: "
                                         "Cancelling print job (%s)\n",
diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c
index 2e2b9e899a5..bf06175227b 100644
--- a/source3/smbd/trans2.c
+++ b/source3/smbd/trans2.c
@@ -5423,11 +5423,8 @@ NTSTATUS smbd_do_qfilepathinfo(connection_struct *conn,
                        break;
                }
 
-               case 0xFF0F:/*SMB2_INFO_QUERY_ALL_EAS*/
+               case SMB2_FILE_FULL_EA_INFORMATION:
                {
-                       /* This is FileFullEaInformation - 0xF which maps to
-                        * 1015 (decimal) in smbd_do_setfilepathinfo. */
-
                        /* We have data_size bytes to put EA's into. */
                        size_t total_ea_len = 0;
                        struct ea_list *ea_file_list = NULL;
@@ -5658,7 +5655,7 @@ NTSTATUS smbd_do_qfilepathinfo(connection_struct *conn,
                        break;
                }
 
-               case 0xFF12:/*SMB2_FILE_ALL_INFORMATION*/
+               case SMB2_FILE_ALL_INFORMATION:
                {
                        unsigned int ea_size =
                            estimate_ea_size(conn, fsp, smb_fname);
@@ -9368,7 +9365,7 @@ static void call_trans2setfilepathinfo(connection_struct 
*conn,
                         * Doing a DELETE_ON_CLOSE should cancel a print job.
                         */
                        if ((info_level == SMB_SET_FILE_DISPOSITION_INFO) && 
CVAL(pdata,0)) {
-                               fsp->fh->private_options |= 
NTCREATEX_OPTIONS_PRIVATE_DELETE_ON_CLOSE;
+                               fsp->fh->private_options |= 
NTCREATEX_FLAG_DELETE_ON_CLOSE;
 
                                DEBUG(3,("call_trans2setfilepathinfo: "
                                         "Cancelling print job (%s)\n",
diff --git a/source4/libcli/raw/smb.h b/source4/libcli/raw/smb.h
index d770fa56149..780260e1679 100644
--- a/source4/libcli/raw/smb.h
+++ b/source4/libcli/raw/smb.h
@@ -184,8 +184,8 @@
  * private_flags field in ntcreatex
  * This values have different meaning for some ntvfs backends.
  */
-#define NTCREATEX_OPTIONS_PRIVATE_DENY_DOS      0x0001
-#define NTCREATEX_OPTIONS_PRIVATE_DENY_FCB      0x0002
+#define NTCREATEX_FLAG_DENY_DOS      0x0001
+#define NTCREATEX_FLAG_DENY_FCB      0x0002
 
 
 /* ntcreatex impersonation field */
diff --git a/source4/ntvfs/ntvfs_generic.c b/source4/ntvfs/ntvfs_generic.c
index a492f7e97fb..de0ae2ce828 100644
--- a/source4/ntvfs/ntvfs_generic.c
+++ b/source4/ntvfs/ntvfs_generic.c
@@ -333,7 +333,7 @@ static NTSTATUS map_openx_open(uint16_t flags, uint16_t 
open_mode,
        case OPENX_MODE_DENY_DOS:
                /* DENY_DOS is quite strange - it depends on the filename! */
                io2->generic.in.private_flags |=
-                       NTCREATEX_OPTIONS_PRIVATE_DENY_DOS;
+                       NTCREATEX_FLAG_DENY_DOS;
                if (is_exe_filename(fname)) {
                        io2->generic.in.share_access = 
                                NTCREATEX_SHARE_ACCESS_READ | 
@@ -347,7 +347,7 @@ static NTSTATUS map_openx_open(uint16_t flags, uint16_t 
open_mode,
                }
                break;
        case OPENX_MODE_DENY_FCB:
-               io2->generic.in.private_flags |= 
NTCREATEX_OPTIONS_PRIVATE_DENY_FCB;
+               io2->generic.in.private_flags |= NTCREATEX_FLAG_DENY_FCB;
                io2->generic.in.share_access = NTCREATEX_SHARE_ACCESS_NONE;
                break;
        default:
diff --git a/source4/ntvfs/posix/pvfs_open.c b/source4/ntvfs/posix/pvfs_open.c
index 48d2712315f..de6c0efdb3d 100644
--- a/source4/ntvfs/posix/pvfs_open.c
+++ b/source4/ntvfs/posix/pvfs_open.c
@@ -1088,8 +1088,8 @@ static NTSTATUS pvfs_open_deny_dos(struct 
ntvfs_module_context *ntvfs,
                    f2->ntvfs->session_info == req->session_info &&
                    f2->ntvfs->smbpid == req->smbpid &&
                    (f2->handle->private_flags &
-                    (NTCREATEX_OPTIONS_PRIVATE_DENY_DOS |
-                     NTCREATEX_OPTIONS_PRIVATE_DENY_FCB)) &&
+                    (NTCREATEX_FLAG_DENY_DOS |
+                     NTCREATEX_FLAG_DENY_FCB)) &&
                    (f2->access_mask & SEC_FILE_WRITE_DATA) &&
                    strcasecmp_m(f2->handle->name->original_name, 
                               io->generic.in.fname)==0) {
@@ -1103,7 +1103,7 @@ static NTSTATUS pvfs_open_deny_dos(struct 
ntvfs_module_context *ntvfs,
 
        /* quite an insane set of semantics ... */
        if (is_exe_filename(io->generic.in.fname) &&
-           (f2->handle->private_flags & NTCREATEX_OPTIONS_PRIVATE_DENY_DOS)) {
+           (f2->handle->private_flags & NTCREATEX_FLAG_DENY_DOS)) {
                return NT_STATUS_SHARING_VIOLATION;
        }
 
@@ -1156,7 +1156,7 @@ static NTSTATUS pvfs_open_setup_retry(struct 
ntvfs_module_context *ntvfs,
        struct timeval *final_timeout = NULL;
 
        if (io->generic.in.private_flags &
-           (NTCREATEX_OPTIONS_PRIVATE_DENY_DOS | 
NTCREATEX_OPTIONS_PRIVATE_DENY_FCB)) {
+           (NTCREATEX_FLAG_DENY_DOS | NTCREATEX_FLAG_DENY_FCB)) {
                /* see if we can satisfy the request using the special DENY_DOS
                   code */
                status = pvfs_open_deny_dos(ntvfs, req, io, f, lck);


-- 
Samba Shared Repository

Reply via email to