summaryrefslogtreecommitdiff
path: root/source3/smbd/smb2_create.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2009-06-18 13:13:38 -0700
committerJeremy Allison <jra@samba.org>2009-06-18 13:13:38 -0700
commit34267482d53cb559cc40c4ec2bee929c21b7886b (patch)
treedae973a4b11a0a7f3dd51e07a30f7a1065d7c6a6 /source3/smbd/smb2_create.c
parente7e98ba4807f3c4e0538b24ae0092f69383ae2d7 (diff)
downloadsamba-34267482d53cb559cc40c4ec2bee929c21b7886b.tar.gz
samba-34267482d53cb559cc40c4ec2bee929c21b7886b.tar.bz2
samba-34267482d53cb559cc40c4ec2bee929c21b7886b.zip
Replace the boilerplate calls to :
resolve_dfspath() -> unix_convert() -> get_full_smb_filename() -> check_name() with a new function filename_convert(). This restores the check_name() calls that had gone missing since the default create_file was changed. All "standard" pathname processing now goes through filename_convert(). I'll take a look at the non-standard pathname processing next. As a benefit, fixed a missing resolve_dfspath() in the trans2 mkdir call. Jeremy.
Diffstat (limited to 'source3/smbd/smb2_create.c')
-rw-r--r--source3/smbd/smb2_create.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/source3/smbd/smb2_create.c b/source3/smbd/smb2_create.c
index 81879f1725..0e3cd164cd 100644
--- a/source3/smbd/smb2_create.c
+++ b/source3/smbd/smb2_create.c
@@ -315,23 +315,17 @@ static struct tevent_req *smbd_smb2_create_send(TALLOC_CTX *mem_ctx,
in_create_options &= ~(0x10);/* NTCREATEX_OPTIONS_SYNC_ALERT */
in_create_options &= ~(0x20);/* NTCREATEX_OPTIONS_ASYNC_ALERT */
- status = resolve_dfspath(talloc_tos(),
+ status = filename_convert(talloc_tos(),
smbreq->conn,
smbreq->flags2 & FLAGS2_DFS_PATHNAMES,
in_name,
+ &smb_fname,
&fname);
if (!NT_STATUS_IS_OK(status)) {
tevent_req_nterror(req, status);
goto out;
}
- status = unix_convert(talloc_tos(), smbreq->conn, fname,
- &smb_fname, 0);
- if (!NT_STATUS_IS_OK(status)) {
- tevent_req_nterror(req, status);
- goto out;
- }
-
status = SMB_VFS_CREATE_FILE(smbreq->conn,
smbreq,
0, /* root_dir_fid */