diff options
author | Jeremy Allison <jra@samba.org> | 2009-06-19 10:10:13 +0200 |
---|---|---|
committer | Karolin Seeger <kseeger@samba.org> | 2009-08-10 18:05:03 +0200 |
commit | 6d43789468bc9bfa679f71e5c8ab449f6a70ae4e (patch) | |
tree | e31cd03b5f5d00e328d119d7f65a7debbde8dcc0 | |
parent | 0ffb342d68b2899cc0b59b2f61453ebeeeffb214 (diff) | |
download | samba-6d43789468bc9bfa679f71e5c8ab449f6a70ae4e.tar.gz samba-6d43789468bc9bfa679f71e5c8ab449f6a70ae4e.tar.xz samba-6d43789468bc9bfa679f71e5c8ab449f6a70ae4e.zip |
Fix bug #6487: Missing DFS call in trans2 mkdir call. (cherry picked from commit 1a0005e1c508cf3b170d1c7e43b94a47b2820506)
(cherry picked from commit 133cdb46be154eeceb080fa9db88a38d9f87c919)
(cherry picked from commit 1acc2a976a9ede216d2ad4bb241c3f3babef2637)
-rw-r--r-- | source/smbd/trans2.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/source/smbd/trans2.c b/source/smbd/trans2.c index 7d587c021d5..9e675fc034f 100644 --- a/source/smbd/trans2.c +++ b/source/smbd/trans2.c @@ -7104,6 +7104,21 @@ static void call_trans2mkdir(connection_struct *conn, struct smb_request *req, DEBUG(3,("call_trans2mkdir : name = %s\n", directory)); + status = resolve_dfspath(ctx, + conn, + req->flags2 & FLAGS2_DFS_PATHNAMES, + directory, + &directory); + if (!NT_STATUS_IS_OK(status)) { + if (NT_STATUS_EQUAL(status,NT_STATUS_PATH_NOT_COVERED)) { + reply_botherror(req, + NT_STATUS_PATH_NOT_COVERED, + ERRSRV, ERRbadpath); + } + reply_nterror(req, status); + return; + } + status = unix_convert(ctx, conn, directory, False, &directory, NULL, &sbuf); if (!NT_STATUS_IS_OK(status)) { reply_nterror(req, status); |