svn commit: samba r2078 - in trunk/source: param smbd

jerry at samba.org jerry at samba.org
Thu Aug 26 20:58:05 GMT 2004


Author: jerry
Date: 2004-08-26 20:58:04 +0000 (Thu, 26 Aug 2004)
New Revision: 2078

WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/trunk/source&rev=2078&nolog=1

Log:
fix logic bug in the check for creating a user's home directory in register_vuid(); add a few extra debug lines
Modified:
   trunk/source/param/loadparm.c
   trunk/source/smbd/password.c


Changeset:
Modified: trunk/source/param/loadparm.c
===================================================================
--- trunk/source/param/loadparm.c	2004-08-26 20:47:58 UTC (rev 2077)
+++ trunk/source/param/loadparm.c	2004-08-26 20:58:04 UTC (rev 2078)
@@ -2312,6 +2312,10 @@
 	copy_service(ServicePtrs[i], &tservice, NULL);
 	if (name)
 		string_set(&ServicePtrs[i]->szService, name);
+		
+	DEBUG(8,("add_a_service: Creating snum = %d for %s\n", 
+		i, ServicePtrs[i]->szService));
+		
 	return (i);
 }
 
@@ -2351,7 +2355,7 @@
 	ServicePtrs[i]->autoloaded = True;
 
 	DEBUG(3, ("adding home's share [%s] for user '%s' at '%s'\n", pszHomename, 
-	       user, newHomedir));
+	       user, ServicePtrs[i]->szPath ));
 	
 	return (True);
 }

Modified: trunk/source/smbd/password.c
===================================================================
--- trunk/source/smbd/password.c	2004-08-26 20:47:58 UTC (rev 2077)
+++ trunk/source/smbd/password.c	2004-08-26 20:58:04 UTC (rev 2078)
@@ -258,27 +258,30 @@
 	}
 
 	/* Register a home dir service for this user iff
+	
 	   (a) This is not a guest connection,
 	   (b) we have a home directory defined 
-	   If a share exists by this name (autoloaded or not) reuse it so
-	   long as the home directory is the same as the share directory. */
+	   (c) there s not an existing static share by that name
+	   
+	   If a share exists by this name (autoloaded or not) reuse it . */
 
-	if ( (!vuser->guest) && vuser->unix_homedir && *(vuser->unix_homedir)) {
+	vuser->homes_snum = -1;
+
+	if ( (!vuser->guest) && vuser->unix_homedir && *(vuser->unix_homedir)) 
+	{
 		int servicenumber = lp_servicenumber(vuser->user.unix_name);
+
 		if ( servicenumber == -1 ) {
 			DEBUG(3, ("Adding homes service for user '%s' using home directory: '%s'\n", 
 				vuser->user.unix_name, vuser->unix_homedir));
 			vuser->homes_snum = add_home_service(vuser->user.unix_name, 
 						vuser->user.unix_name, vuser->unix_homedir);
-		} else if (strcmp(lp_pathname(servicenumber),vuser->unix_homedir) == 0) {
-			DEBUG(3, ("Reusing homes service for user '%s' using home directory: '%s'\n", 
-				vuser->user.unix_name, vuser->unix_homedir));
-
+		} else {
+			DEBUG(3, ("Using static (or previously created) service for user '%s'; path = '%s'\n", 
+				vuser->user.unix_name, lp_path(servicenumber) ));
 			vuser->homes_snum = servicenumber;
 		}
-	} else {
-		vuser->homes_snum = -1;
-	}
+	} 
 	
 	if (srv_is_signing_negotiated() && !vuser->guest && !srv_signing_started()) {
 		/* Try and turn on server signing on the first non-guest sessionsetup. */



More information about the samba-cvs mailing list