[SCM] Samba Shared Repository - branch master updated

Jeremy Allison jra at samba.org
Fri Oct 23 19:07:02 UTC 2020


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 <slow at samba.org>
Date:   Fri Oct 23 16:25:06 2020 +0200

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

commit f33b91a932abbe0c52710e3582f8ef141d97d079
Author: Ralph Boehme <slow at 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 <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 4b53e5834045e58704b0ec3e48c35626a168cd81
Author: Ralph Boehme <slow at 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 <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

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

    smb: update comments on the NTCREATEX_FLAG_* flags
    
    Signed-off-by: Ralph Boehme <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 45017205c34c83272638c3f235eef0ebc0aaa3ca
Author: Ralph Boehme <slow at 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 <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 4481259f78aea0a69a936bf1c57c4453423cf1c1
Author: Ralph Boehme <slow at 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 <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit c2f0fd40da0caefdf410531a38c858f7a0f8af10
Author: Ralph Boehme <slow at 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 <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at samba.org>

commit 6da16727e119243a25072c4a2dcf211235edbc62
Author: Ralph Boehme <slow at 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 <slow at samba.org>
    Reviewed-by: Jeremy Allison <jra at 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



More information about the samba-cvs mailing list