svn commit: samba r21942 - in branches: SAMBA_3_0/source/smbd SAMBA_3_0_25/source/smbd

jra at samba.org jra at samba.org
Thu Mar 22 22:15:39 GMT 2007


Author: jra
Date: 2007-03-22 22:15:35 +0000 (Thu, 22 Mar 2007)
New Revision: 21942

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=21942

Log:
Hoist by our own petard :-). Older smbclient binaries
were not able to connect to the rewritten dfs code as
they set the dfs flag bit but then send local paths.

Now that our dfs code is a *lot* more robust in
detecting this sort of braindamage we can just
call into it directly on getting a DFS flag
and let the parser sort it out without having
to check it's actually connecting to a dfs
enabled share (I'm proud of this code :-).

Jeremy.

Modified:
   branches/SAMBA_3_0/source/smbd/msdfs.c
   branches/SAMBA_3_0_25/source/smbd/msdfs.c


Changeset:
Modified: branches/SAMBA_3_0/source/smbd/msdfs.c
===================================================================
--- branches/SAMBA_3_0/source/smbd/msdfs.c	2007-03-22 22:00:48 UTC (rev 21941)
+++ branches/SAMBA_3_0/source/smbd/msdfs.c	2007-03-22 22:15:35 UTC (rev 21942)
@@ -1253,7 +1253,7 @@
 {
 	NTSTATUS status = NT_STATUS_OK;
 	BOOL dummy;
-	if (dfs_pathnames && lp_host_msdfs() && lp_msdfs_root(SNUM(conn))) {
+	if (dfs_pathnames) {
 		status = dfs_redirect(conn, name, False, &dummy);
 	}
 	return status;
@@ -1269,7 +1269,7 @@
 NTSTATUS resolve_dfspath_wcard(connection_struct *conn, BOOL dfs_pathnames, pstring name, BOOL *ppath_contains_wcard)
 {
 	NTSTATUS status = NT_STATUS_OK;
-	if (dfs_pathnames && lp_host_msdfs() && lp_msdfs_root(SNUM(conn))) {
+	if (dfs_pathnames) {
 		status = dfs_redirect(conn, name, True, ppath_contains_wcard);
 	}
 	return status;

Modified: branches/SAMBA_3_0_25/source/smbd/msdfs.c
===================================================================
--- branches/SAMBA_3_0_25/source/smbd/msdfs.c	2007-03-22 22:00:48 UTC (rev 21941)
+++ branches/SAMBA_3_0_25/source/smbd/msdfs.c	2007-03-22 22:15:35 UTC (rev 21942)
@@ -1252,7 +1252,7 @@
 {
 	NTSTATUS status = NT_STATUS_OK;
 	BOOL dummy;
-	if (dfs_pathnames && lp_host_msdfs() && lp_msdfs_root(SNUM(conn))) {
+	if (dfs_pathnames) {
 		status = dfs_redirect(conn, name, False, &dummy);
 	}
 	return status;
@@ -1268,7 +1268,7 @@
 NTSTATUS resolve_dfspath_wcard(connection_struct *conn, BOOL dfs_pathnames, pstring name, BOOL *ppath_contains_wcard)
 {
 	NTSTATUS status = NT_STATUS_OK;
-	if (dfs_pathnames && lp_host_msdfs() && lp_msdfs_root(SNUM(conn))) {
+	if (dfs_pathnames) {
 		status = dfs_redirect(conn, name, True, ppath_contains_wcard);
 	}
 	return status;



More information about the samba-cvs mailing list