summaryrefslogtreecommitdiff
path: root/source3/smbd/password.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/smbd/password.c')
-rw-r--r--source3/smbd/password.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/source3/smbd/password.c b/source3/smbd/password.c
index 36e3fb4738..10c6aadb1f 100644
--- a/source3/smbd/password.c
+++ b/source3/smbd/password.c
@@ -250,17 +250,21 @@ int register_vuid(auth_serversupplied_info *server_info, DATA_BLOB session_key,
return -1;
}
- /* Register a home dir service for this user */
- if ((!vuser->guest) && vuser->unix_homedir && *(vuser->unix_homedir)) {
- DEBUG(3, ("Adding/updating homes service for user '%s' using home directory: '%s'\n",
- vuser->user.unix_name, vuser->unix_homedir));
+ /* Register a home dir service for this user iff
+ (a) This is not a guest connection,
+ (b) we have a home directory defined, and
+ (c) there s not an existing static share by that name */
+
+ if ( (!vuser->guest)
+ && vuser->unix_homedir
+ && *(vuser->unix_homedir)
+ && (lp_servicenumber(vuser->user.unix_name) == -1) )
+ {
+ DEBUG(3, ("Adding/updating homes service for user '%s' using home directory: '%s'\n",
+ vuser->user.unix_name, vuser->unix_homedir));
- /* only add the home directory if there doesn't exist a static share by that name */
- if ( lp_servicenumber(vuser->user.unix_name) == -1 ) {
vuser->homes_snum = add_home_service(vuser->user.unix_name,
vuser->user.unix_name, vuser->unix_homedir);
- }
-
} else {
vuser->homes_snum = -1;
}