svn commit: samba r12690 - in branches/tmp/jpeach-cluster/source: param smbd

jpeach at samba.org jpeach at samba.org
Tue Jan 3 06:29:15 GMT 2006


Author: jpeach
Date: 2006-01-03 06:29:14 +0000 (Tue, 03 Jan 2006)
New Revision: 12690

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

Log:
Allow the administrator to configure the DFS referral timeout for
each share.

Modified:
   branches/tmp/jpeach-cluster/source/param/loadparm.c
   branches/tmp/jpeach-cluster/source/smbd/msdfs.c


Changeset:
Modified: branches/tmp/jpeach-cluster/source/param/loadparm.c
===================================================================
--- branches/tmp/jpeach-cluster/source/param/loadparm.c	2006-01-03 06:25:10 UTC (rev 12689)
+++ branches/tmp/jpeach-cluster/source/param/loadparm.c	2006-01-03 06:29:14 UTC (rev 12690)
@@ -414,6 +414,7 @@
 	BOOL bInheritPerms;
 	BOOL bInheritACLS;
 	BOOL bMSDfsRoot;
+	int  bMSDfsTTL;
 	BOOL bUseClientDriver;
 	BOOL bDefaultDevmode;
 	BOOL bForcePrintername;
@@ -540,6 +541,7 @@
 	False,			/* bInheritPerms */
 	False,			/* bInheritACLS */
 	False,			/* bMSDfsRoot */
+	REFERRAL_TTL,		/* bMSDfsTTL */
 	False,			/* bUseClientDriver */
 	False,			/* bDefaultDevmode */
 	False,			/* bForcePrintername */
@@ -1173,6 +1175,7 @@
 
 
 	{"msdfs root", P_BOOL, P_LOCAL, &sDefault.bMSDfsRoot, NULL, NULL, FLAG_ADVANCED | FLAG_SHARE}, 
+	{"msdfs referral ttl", P_INTEGER, P_LOCAL, &sDefault.bMSDfsTTL, NULL, NULL, FLAG_ADVANCED | FLAG_SHARE},
 	{"msdfs proxy", P_STRING, P_LOCAL, &sDefault.szMSDfsProxy, NULL, NULL, FLAG_ADVANCED | FLAG_SHARE}, 
 	{"host msdfs", P_BOOL, P_GLOBAL, &Globals.bHostMSDfs, NULL, NULL, FLAG_ADVANCED}, 
 
@@ -1864,6 +1867,7 @@
 FN_LOCAL_STRING(lp_hide_files, szHideFiles)
 FN_LOCAL_STRING(lp_veto_oplocks, szVetoOplockFiles)
 FN_LOCAL_BOOL(lp_msdfs_root, bMSDfsRoot)
+FN_LOCAL_INTEGER(lp_msdfs_referral_ttl, bMSDfsTTL)
 FN_LOCAL_BOOL(lp_autoloaded, autoloaded)
 FN_LOCAL_BOOL(lp_preexec_close, bPreexecClose)
 FN_LOCAL_BOOL(lp_rootpreexec_close, bRootpreexecClose)

Modified: branches/tmp/jpeach-cluster/source/smbd/msdfs.c
===================================================================
--- branches/tmp/jpeach-cluster/source/smbd/msdfs.c	2006-01-03 06:25:10 UTC (rev 12689)
+++ branches/tmp/jpeach-cluster/source/smbd/msdfs.c	2006-01-03 06:29:14 UTC (rev 12690)
@@ -163,7 +163,7 @@
  A valid referral is of the form: msdfs:server1\share1,server2\share2
  **********************************************************************/
 
-static BOOL parse_symlink(char* buf,struct referral** preflist, 
+static BOOL parse_symlink(const connection_struct * conn, char* buf,struct referral** preflist,
 				 int* refcount)
 {
 	pstring temp;
@@ -212,7 +212,7 @@
 		pstrcpy(reflist[i].alternate_path, "\\");
 		pstrcat(reflist[i].alternate_path, p);
 		reflist[i].proximity = 0;
-		reflist[i].ttl = REFERRAL_TTL;
+		reflist[i].ttl = lp_msdfs_referral_ttl(SNUM(conn));
 		DEBUG(10, ("parse_symlink: Created alt path: %s\n", reflist[i].alternate_path));
 	}
 
@@ -256,7 +256,7 @@
 
 		referral[referral_len] = '\0';
 		DEBUG(5,("is_msdfs_link: %s -> %s\n",path,referral));
-		if (parse_symlink(referral, reflistp, refcnt))
+		if (parse_symlink(conn, referral, reflistp, refcnt))
 			return True;
 	}
 	return False;



More information about the samba-cvs mailing list