The Samba-Bugzilla – Attachment 5613 Details for
Bug 7339
MSDFS is non-functional in 3.5.x
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
git am fix for 3.5.3.
0001-Fix-bug-7339-MSDFS-is-non-functional-in-3.5.x.patch (text/plain), 3.50 KB, created by
Jeremy Allison
on 2010-04-08 22:38:31 UTC
(
hide
)
Description:
git am fix for 3.5.3.
Filename:
MIME Type:
Creator:
Jeremy Allison
Created:
2010-04-08 22:38:31 UTC
Size:
3.50 KB
patch
obsolete
>From 10905cd7c5c14fcb237e2f2cb105ae333c2429bb Mon Sep 17 00:00:00 2001 >From: Jeremy Allison <jra@samba.org> >Date: Thu, 8 Apr 2010 20:32:36 -0700 >Subject: [PATCH] Fix bug #7339 - MSDFS is non-functional in 3.5.x > >In the refactoring around filename_convert, the split between the functions >resolve_dfspath() and resolve_dfspath_wcard() was lost, leaving us only with >resolve_dfspath_wcard(). > >Internally resolve_dfspath_wcard() calls dfs_redirect() only with a >"allow_wcards" flag of true, wheras the old resolve_dfspath() would call with a >value of false. The loss of this case causes dfs_redirect to always masquerade >DFS links as directories, even when they are being queried directly by a trans2 >QPATHINFO call. We should only masquerade DFS links as directories when called >from a SMBsearch or trans2 findfirst/findnext - which was the intent of the >"allow_wcards" flag. > >This patch adds back an allow_wcards bool parameter to >resolve_dfspath_wcard(). This bool is set from the state of the ucf_flags when >filename_convert() is called. > >I will follow this up with a new smbclient-based torture test that will prevent >us from ever regressing our DFS support again. > >Jeremy. >(cherry picked from commit 358781559526f962c96c1af88cd104946c507d05) >--- > source3/include/proto.h | 1 + > source3/smbd/filename.c | 2 ++ > source3/smbd/msdfs.c | 3 ++- > source3/smbd/trans2.c | 1 + > 4 files changed, 6 insertions(+), 1 deletions(-) > >diff --git a/source3/include/proto.h b/source3/include/proto.h >index 28b7f7c..31d0aa6 100644 >--- a/source3/include/proto.h >+++ b/source3/include/proto.h >@@ -6481,6 +6481,7 @@ NTSTATUS resolve_dfspath_wcard(TALLOC_CTX *ctx, > connection_struct *conn, > bool dfs_pathnames, > const char *name_in, >+ bool allow_wcards, > char **pp_name_out, > bool *ppath_contains_wcard); > NTSTATUS create_conn_struct(TALLOC_CTX *ctx, >diff --git a/source3/smbd/filename.c b/source3/smbd/filename.c >index ab79dfd..154d34a 100644 >--- a/source3/smbd/filename.c >+++ b/source3/smbd/filename.c >@@ -1125,6 +1125,7 @@ NTSTATUS filename_convert(TALLOC_CTX *ctx, > struct smb_filename **pp_smb_fname) > { > NTSTATUS status; >+ bool allow_wcards = (ucf_flags & (UCF_COND_ALLOW_WCARD_LCOMP|UCF_ALWAYS_ALLOW_WCARD_LCOMP)); > char *fname = NULL; > > *pp_smb_fname = NULL; >@@ -1132,6 +1133,7 @@ NTSTATUS filename_convert(TALLOC_CTX *ctx, > status = resolve_dfspath_wcard(ctx, conn, > dfs_path, > name_in, >+ allow_wcards, > &fname, > ppath_contains_wcard); > if (!NT_STATUS_IS_OK(status)) { >diff --git a/source3/smbd/msdfs.c b/source3/smbd/msdfs.c >index dcef75e..6dfa886 100644 >--- a/source3/smbd/msdfs.c >+++ b/source3/smbd/msdfs.c >@@ -1738,6 +1738,7 @@ NTSTATUS resolve_dfspath_wcard(TALLOC_CTX *ctx, > connection_struct *conn, > bool dfs_pathnames, > const char *name_in, >+ bool allow_wcards, > char **pp_name_out, > bool *ppath_contains_wcard) > { >@@ -1748,7 +1749,7 @@ NTSTATUS resolve_dfspath_wcard(TALLOC_CTX *ctx, > status = dfs_redirect(ctx, > conn, > name_in, >- True, >+ allow_wcards, > pp_name_out, > &path_contains_wcard); > >diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c >index 5620a2f..36b2749 100644 >--- a/source3/smbd/trans2.c >+++ b/source3/smbd/trans2.c >@@ -5933,6 +5933,7 @@ static NTSTATUS smb_file_rename_information(connection_struct *conn, > status = resolve_dfspath_wcard(ctx, conn, > req->flags2 & FLAGS2_DFS_PATHNAMES, > newname, >+ true, > &newname, > &dest_has_wcard); > if (!NT_STATUS_IS_OK(status)) { >-- >1.6.3.3 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Flags:
metze
:
review+
Actions:
View
Attachments on
bug 7339
: 5613