[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