From c24dccd413c41ed81454bc204c59d1fc17a54a33 Mon Sep 17 00:00:00 2001 From: Gerald Carter Date: Fri, 19 Mar 2004 22:06:54 +0000 Subject: BUG 417: fix %UuGg variables expansion in include lines setging the current_user_info struct in register_vuid() -- shouldn't be any more broken than we were (This used to be commit a90c3bd281e7a62bb8482e42aa3b674eeeb5995a) --- source3/smbd/password.c | 4 ++++ source3/smbd/sesssetup.c | 9 +++++++++ 2 files changed, 13 insertions(+) (limited to 'source3/smbd') diff --git a/source3/smbd/password.c b/source3/smbd/password.c index 10c6aadb1f..9449113ddc 100644 --- a/source3/smbd/password.c +++ b/source3/smbd/password.c @@ -273,6 +273,10 @@ int register_vuid(auth_serversupplied_info *server_info, DATA_BLOB session_key, /* Try and turn on server signing on the first non-guest sessionsetup. */ srv_set_signing(vuser->session_key, response_blob); } + + /* fill in the current_user_info struct */ + set_current_user_info( &vuser->user ); + return vuser->vuid; } diff --git a/source3/smbd/sesssetup.c b/source3/smbd/sesssetup.c index d91aa94728..244db6d2c1 100644 --- a/source3/smbd/sesssetup.c +++ b/source3/smbd/sesssetup.c @@ -282,6 +282,9 @@ static int reply_spnego_kerberos(connection_struct *conn, if (sess_vuid == -1) { ret = NT_STATUS_LOGON_FAILURE; } else { + /* current_user_info is changed on new vuid */ + reload_services( True ); + set_message(outbuf,4,0,True); SSVAL(outbuf, smb_vwv3, 0); @@ -355,6 +358,9 @@ static BOOL reply_spnego_ntlmssp(connection_struct *conn, char *inbuf, char *out nt_status = NT_STATUS_LOGON_FAILURE; } else { + /* current_user_info is changed on new vuid */ + reload_services( True ); + set_message(outbuf,4,0,True); SSVAL(outbuf, smb_vwv3, 0); @@ -911,6 +917,9 @@ int reply_sesssetup_and_X(connection_struct *conn, char *inbuf,char *outbuf, return ERROR_NT(NT_STATUS_LOGON_FAILURE); } + /* current_user_info is changed on new vuid */ + reload_services( True ); + if (!server_info->guest && !srv_check_sign_mac(inbuf)) { exit_server("reply_sesssetup_and_X: bad smb signature"); } -- cgit