diff options
author | Andrew Bartlett <abartlet@samba.org> | 2002-07-27 02:54:39 +0000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2002-07-27 02:54:39 +0000 |
commit | e0c57e6ab550b208283aec13fc2728537d7ab57e (patch) | |
tree | 0625f0d845884212b757c3e5c62e1c11ed002c4f /source3/smbd/password.c | |
parent | 31b4cfd8208a0efd63891eb24827babb88d04ba0 (diff) | |
download | samba-e0c57e6ab550b208283aec13fc2728537d7ab57e.tar.gz samba-e0c57e6ab550b208283aec13fc2728537d7ab57e.tar.bz2 samba-e0c57e6ab550b208283aec13fc2728537d7ab57e.zip |
This should fix a nastly little bug where if a user had already done one
session setup, it would not correctly pick up the [homes] share on a subsequent
session setup.
The new rules are: If you want to connect to [homes], then it must have been
available at session setup time, or you must be in security=share. At each
session setup, the user's copy of [homes] is updated to ensure it has the right
path etc.
Andrew Bartlett
(This used to be commit 5d2c7816a3ea02a67c5b501626d91d43557e9dd9)
Diffstat (limited to 'source3/smbd/password.c')
-rw-r--r-- | source3/smbd/password.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/source3/smbd/password.c b/source3/smbd/password.c index 9c67edd255..391de02dea 100644 --- a/source3/smbd/password.c +++ b/source3/smbd/password.c @@ -274,7 +274,7 @@ int register_vuid(auth_serversupplied_info *server_info, char *smb_name) /* Create an NT_USER_TOKEN struct for this user. */ vuser->nt_user_token = create_nt_token(vuser->uid, vuser->gid, vuser->n_groups, vuser->groups, vuser->guest, server_info->ptok); - DEBUG(3,("uid %d registered to name %s\n",(int)vuser->uid,vuser->user.unix_name)); + DEBUG(3,("UNIX uid %d is UNIX user %s, and will be vuid %u\n",(int)vuser->uid,vuser->user.unix_name, vuser->vuid)); next_vuid++; num_validated_vuids++; @@ -288,8 +288,9 @@ int register_vuid(auth_serversupplied_info *server_info, char *smb_name) } /* Register a home dir service for this user */ - if ((!vuser->guest) && vuser->unix_homedir && *(vuser->unix_homedir) - && (lp_servicenumber(vuser->user.unix_name) < 0)) { + if ((!vuser->guest) && vuser->unix_homedir && *(vuser->unix_homedir)) { + DEBUG(3, ("Adding/updating homes service for user '%s' using home direcotry: '%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 { vuser->homes_snum = -1; |