mirror of
https://github.com/samba-team/samba.git
synced 2025-08-24 21:49:29 +03:00
r2077: fix logic bug in the check for creating a user's home directory in register_vuid(); add a few extra debug lines
This commit is contained in:
committed by
Gerald (Jerry) Carter
parent
ba473a5802
commit
02571e7f50
@ -2305,6 +2305,10 @@ static int add_a_service(const service *pservice, const char *name)
|
||||
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);
|
||||
}
|
||||
|
||||
@ -2344,7 +2348,7 @@ BOOL lp_add_home(const char *pszHomename, int iDefaultService,
|
||||
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);
|
||||
}
|
||||
|
@ -252,27 +252,30 @@ int register_vuid(auth_serversupplied_info *server_info, DATA_BLOB session_key,
|
||||
}
|
||||
|
||||
/* 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. */
|
||||
|
Reference in New Issue
Block a user