Fix bug #6487: Missing DFS call in trans2 mkdir call. (cherry picked from commit...
authorJeremy Allison <jra@samba.org>
Fri, 19 Jun 2009 08:10:13 +0000 (10:10 +0200)
committerKarolin Seeger <kseeger@samba.org>
Fri, 19 Jun 2009 08:14:42 +0000 (10:14 +0200)
(cherry picked from commit 133cdb46be154eeceb080fa9db88a38d9f87c919)

source/smbd/trans2.c

index 4aa61d1cf5d18c7e75d7d8e7e18f0f83804cb4d0..4dcc2450897632661266fc695c593bec5b5d9517 100644 (file)
@@ -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);