summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2009-06-19 10:10:13 +0200
committerKarolin Seeger <kseeger@samba.org>2009-06-19 10:14:42 +0200
commit1acc2a976a9ede216d2ad4bb241c3f3babef2637 (patch)
treeddc21903c7a155a74c85805b6cf914215bf5f8e1
parentb653d1b1186e1c43f1ad0a64d19ee2fc015594a6 (diff)
downloadsamba-1acc2a976a9ede216d2ad4bb241c3f3babef2637.tar.gz
samba-1acc2a976a9ede216d2ad4bb241c3f3babef2637.tar.xz
samba-1acc2a976a9ede216d2ad4bb241c3f3babef2637.zip
Fix bug #6487: Missing DFS call in trans2 mkdir call. (cherry picked from commit 1a0005e1c508cf3b170d1c7e43b94a47b2820506)
(cherry picked from commit 133cdb46be154eeceb080fa9db88a38d9f87c919)
-rw-r--r--source/smbd/trans2.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/source/smbd/trans2.c b/source/smbd/trans2.c
index 4aa61d1cf5d..4dcc2450897 100644
--- a/source/smbd/trans2.c
+++ b/source/smbd/trans2.c
@@ -7075,6 +7075,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);