diff options
Diffstat (limited to 'source3/smbd/sesssetup.c')
-rw-r--r-- | source3/smbd/sesssetup.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/source3/smbd/sesssetup.c b/source3/smbd/sesssetup.c index 4ab1063217..9d708bd5a0 100644 --- a/source3/smbd/sesssetup.c +++ b/source3/smbd/sesssetup.c @@ -159,6 +159,11 @@ static int reply_spnego_kerberos(connection_struct *conn, } ads_destroy(&ads); + /* setup the string used by %U */ + sub_set_smb_name(user); + + reload_services(True); + /* the password is good - let them in */ pw = Get_Pwnam(user); if (!pw && !strstr(user, lp_winbind_separator())) { @@ -423,6 +428,9 @@ static int reply_spnego_auth(connection_struct *conn, char *inbuf, char *outbuf, set_remote_machine_name(machine); + /* setup the string used by %U */ + sub_set_smb_name(user); + reload_services(True); #if 0 @@ -749,6 +757,9 @@ int reply_sesssetup_and_X(connection_struct *conn, char *inbuf,char *outbuf, return ERROR_NT(NT_STATUS_UNSUCCESSFUL); } pstrcpy(sub_user, user); + + /* setup the string used by %U */ + sub_set_smb_name(user); } else { pstrcpy(sub_user, lp_guestaccount()); } |