diff options
author | Volker Lendecke <vl@samba.org> | 2011-07-29 14:26:58 -0700 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2011-10-24 19:15:13 +0200 |
commit | f9af343eb84a17cf2a3e31a084d4cdd6d196cb68 (patch) | |
tree | 9573e641a1b2b736a515c89d1063b7c1582b877f | |
parent | a7cac5ff9fe4ef025d09f3f243d9a77afd4ddd27 (diff) | |
download | samba-f9af343eb84a17cf2a3e31a084d4cdd6d196cb68.tar.gz samba-f9af343eb84a17cf2a3e31a084d4cdd6d196cb68.tar.xz samba-f9af343eb84a17cf2a3e31a084d4cdd6d196cb68.zip |
s3: We only need base_name in map_open_params_to_ntcreate
(cherry picked from commit 1fa4b369d2fabbf34cda576d91d8aa9baa4e8b68)
-rw-r--r-- | source3/include/proto.h | 2 | ||||
-rw-r--r-- | source3/smbd/open.c | 8 | ||||
-rw-r--r-- | source3/smbd/reply.c | 8 | ||||
-rw-r--r-- | source3/smbd/trans2.c | 3 |
4 files changed, 12 insertions, 9 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h index d560ee53684..af43b34071d 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -6628,7 +6628,7 @@ NTSTATUS fcb_or_dos_open(struct smb_request *req, uint32 access_mask, uint32 share_access, uint32 create_options); -bool map_open_params_to_ntcreate(const struct smb_filename *smb_fname, +bool map_open_params_to_ntcreate(const char *smb_base_fname, int deny_mode, int open_func, uint32 *paccess_mask, uint32 *pshare_mode, diff --git a/source3/smbd/open.c b/source3/smbd/open.c index f0b92713d77..38e4e16b1de 100644 --- a/source3/smbd/open.c +++ b/source3/smbd/open.c @@ -1226,7 +1226,7 @@ NTSTATUS fcb_or_dos_open(struct smb_request *req, Open a file with a share mode - old openX method - map into NTCreate. ****************************************************************************/ -bool map_open_params_to_ntcreate(const struct smb_filename *smb_fname, +bool map_open_params_to_ntcreate(const char *smb_base_fname, int deny_mode, int open_func, uint32 *paccess_mask, uint32 *pshare_mode, @@ -1240,7 +1240,7 @@ bool map_open_params_to_ntcreate(const struct smb_filename *smb_fname, DEBUG(10,("map_open_params_to_ntcreate: fname = %s, deny_mode = 0x%x, " "open_func = 0x%x\n", - smb_fname_str_dbg(smb_fname), (unsigned int)deny_mode, + smb_base_fname, (unsigned int)deny_mode, (unsigned int)open_func )); /* Create the NT compatible access_mask. */ @@ -1315,7 +1315,7 @@ bool map_open_params_to_ntcreate(const struct smb_filename *smb_fname, case DENY_DOS: create_options |= NTCREATEX_OPTIONS_PRIVATE_DENY_DOS; - if (is_executable(smb_fname->base_name)) { + if (is_executable(smb_base_fname)) { share_mode = FILE_SHARE_READ|FILE_SHARE_WRITE; } else { if (GET_OPENX_MODE(deny_mode) == DOS_OPEN_RDONLY) { @@ -1340,7 +1340,7 @@ bool map_open_params_to_ntcreate(const struct smb_filename *smb_fname, DEBUG(10,("map_open_params_to_ntcreate: file %s, access_mask = 0x%x, " "share_mode = 0x%x, create_disposition = 0x%x, " "create_options = 0x%x\n", - smb_fname_str_dbg(smb_fname), + smb_base_fname, (unsigned int)access_mask, (unsigned int)share_mode, (unsigned int)create_disposition, diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 3101e181fc8..43cdf96c4d7 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -1753,7 +1753,7 @@ void reply_open(struct smb_request *req) goto out; } - if (!map_open_params_to_ntcreate(smb_fname, deny_mode, + if (!map_open_params_to_ntcreate(smb_fname->base_name, deny_mode, OPENX_FILE_EXISTS_OPEN, &access_mask, &share_mode, &create_disposition, &create_options)) { @@ -1926,7 +1926,8 @@ void reply_open_and_X(struct smb_request *req) goto out; } - if (!map_open_params_to_ntcreate(smb_fname, deny_mode, smb_ofun, + if (!map_open_params_to_ntcreate(smb_fname->base_name, deny_mode, + smb_ofun, &access_mask, &share_mode, &create_disposition, &create_options)) { @@ -6428,7 +6429,8 @@ NTSTATUS copy_file(TALLOC_CTX *ctx, if (!target_is_directory && count) { new_create_disposition = FILE_OPEN; } else { - if (!map_open_params_to_ntcreate(smb_fname_dst_tmp, 0, ofun, + if (!map_open_params_to_ntcreate(smb_fname_dst_tmp->base_name, + 0, ofun, NULL, NULL, &new_create_disposition, NULL)) { diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 0d144213e03..88ac17d81ed 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -1068,7 +1068,8 @@ static void call_trans2open(connection_struct *conn, goto out; } - if (!map_open_params_to_ntcreate(smb_fname, deny_mode, open_ofun, + if (!map_open_params_to_ntcreate(smb_fname->base_name, deny_mode, + open_ofun, &access_mask, &share_mode, &create_disposition, &create_options)) { |