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