[SCM] Samba Shared Repository - branch master updated
Björn Jacke
bjacke at samba.org
Thu Oct 31 17:13:02 MDT 2013
The branch, master has been updated
via 22945de doc/msdfs proxy: extend example for multi target config
via 85b5bed smbd: Support multiple dfs targets for msdfs proxy shares
from 127fc67 libcli/smb: fix smb2cli_ioctl*() against Windows 2008.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 22945de4300cff49db663c5d7c69bd76ac889c9d
Author: Björn Jacke <bj at sernet.de>
Date: Thu Oct 31 12:01:22 2013 +0100
doc/msdfs proxy: extend example for multi target config
Signed-off-by: Björn Jacke <bj at sernet.de>
Reviewed-by: Michael Adam <obnox at samba.org>
Autobuild-User(master): Björn Jacke <bj at sernet.de>
Autobuild-Date(master): Fri Nov 1 00:12:19 CET 2013 on sn-devel-104
commit 85b5bedd43cdb758463cb03079eb1bb4aadf6677
Author: Volker Lendecke <vl at samba.org>
Date: Wed Oct 30 13:22:05 2013 +0000
smbd: Support multiple dfs targets for msdfs proxy shares
Signed-off-by: Volker Lendecke <vl at samba.org>
Reviewed-by: Björn Jacke <bj at sernet.de>
-----------------------------------------------------------------------
Summary of changes:
docs-xml/smbdotconf/vfs/msdfsproxy.xml | 6 ++--
source3/smbd/msdfs.c | 34 +++++++------------------------
2 files changed, 11 insertions(+), 29 deletions(-)
Changeset truncated at 500 lines:
diff --git a/docs-xml/smbdotconf/vfs/msdfsproxy.xml b/docs-xml/smbdotconf/vfs/msdfsproxy.xml
index 5117bae..566dcd7 100644
--- a/docs-xml/smbdotconf/vfs/msdfsproxy.xml
+++ b/docs-xml/smbdotconf/vfs/msdfsproxy.xml
@@ -6,13 +6,13 @@
<para>This parameter indicates that the share is a
stand-in for another CIFS share whose location is specified by
the value of the parameter. When clients attempt to connect to
- this share, they are redirected to the proxied share using
- the SMB-Dfs protocol.</para>
+ this share, they are redirected to one or multiple, comma separated
+ proxied shares using the SMB-Dfs protocol.</para>
<para>Only Dfs roots can act as proxy shares. Take a look at the
<smbconfoption name="msdfs root"/> and <smbconfoption name="host msdfs"/>
options to find out how to set up a Dfs root share.</para>
</description>
-<value type="example">\otherserver\someshare</value>
+<value type="example">\otherserver\someshare,\otherserver2\someshare</value>
</samba:parameter>
diff --git a/source3/smbd/msdfs.c b/source3/smbd/msdfs.c
index 52a2a48..aede3e6 100644
--- a/source3/smbd/msdfs.c
+++ b/source3/smbd/msdfs.c
@@ -958,6 +958,7 @@ NTSTATUS get_referred_path(TALLOC_CTX *ctx,
if (pdp->reqpath[0] == '\0') {
char *tmp;
struct referral *ref;
+ int refcount;
if (*lp_msdfs_proxy(talloc_tos(), snum) == '\0') {
TALLOC_FREE(pdp);
@@ -973,39 +974,20 @@ NTSTATUS get_referred_path(TALLOC_CTX *ctx,
* the configured target share.
*/
- jucn->referral_count = 1;
- if ((ref = talloc_zero(ctx, struct referral)) == NULL) {
+ tmp = talloc_asprintf(talloc_tos(), "msdfs:%s",
+ lp_msdfs_proxy(talloc_tos(), snum));
+ if (tmp == NULL) {
TALLOC_FREE(pdp);
return NT_STATUS_NO_MEMORY;
}
- if (!(tmp = talloc_strdup(ctx, lp_msdfs_proxy(talloc_tos(), snum)))) {
+ if (!parse_msdfs_symlink(ctx, tmp, &ref, &refcount)) {
+ TALLOC_FREE(tmp);
TALLOC_FREE(pdp);
- return NT_STATUS_NO_MEMORY;
+ return NT_STATUS_INVALID_PARAMETER;
}
-
- trim_string(tmp, "\\", 0);
-
- ref->alternate_path = talloc_asprintf(ctx, "\\%s", tmp);
TALLOC_FREE(tmp);
-
- if (!ref->alternate_path) {
- TALLOC_FREE(pdp);
- return NT_STATUS_NO_MEMORY;
- }
-
- if (pdp->reqpath[0] != '\0') {
- ref->alternate_path = talloc_asprintf_append(
- ref->alternate_path,
- "%s",
- pdp->reqpath);
- if (!ref->alternate_path) {
- TALLOC_FREE(pdp);
- return NT_STATUS_NO_MEMORY;
- }
- }
- ref->proximity = 0;
- ref->ttl = REFERRAL_TTL;
+ jucn->referral_count = refcount;
jucn->referral_list = ref;
*consumedcntp = strlen(dfs_path);
TALLOC_FREE(pdp);
--
Samba Shared Repository
More information about the samba-cvs
mailing list