From 6d67d41444aef527215d985bdcdb0f214de875f9 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Fri, 29 Jul 2011 16:12:16 +0200 Subject: s3: We only need base_name in map_open_params_to_ntcreate --- source3/smbd/open.c | 8 ++++---- source3/smbd/proto.h | 2 +- source3/smbd/reply.c | 8 +++++--- source3/smbd/trans2.c | 3 ++- 4 files changed, 12 insertions(+), 9 deletions(-) (limited to 'source3/smbd') diff --git a/source3/smbd/open.c b/source3/smbd/open.c index d81c278110..82125832cb 100644 --- a/source3/smbd/open.c +++ b/source3/smbd/open.c @@ -1339,7 +1339,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, @@ -1355,7 +1355,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. */ @@ -1430,7 +1430,7 @@ bool map_open_params_to_ntcreate(const struct smb_filename *smb_fname, case DENY_DOS: private_flags |= 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) { @@ -1455,7 +1455,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 private_flags = 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/proto.h b/source3/smbd/proto.h index 1f414db59f..763a946a16 100644 --- a/source3/smbd/proto.h +++ b/source3/smbd/proto.h @@ -609,7 +609,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/reply.c b/source3/smbd/reply.c index e740fb4c57..59ec8f212e 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -1789,7 +1789,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, &private_flags)) { @@ -1964,7 +1964,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, @@ -6755,7 +6756,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 90eb40a62f..859d2adef4 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -1082,7 +1082,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, -- cgit