From: Volker Lendecke Date: Fri, 25 Apr 2008 14:42:27 +0000 (+0200) Subject: Revert "Remove some write-only fstrings" X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=944d736a0fa47dc92e2f4660e7a3e01d252b3e01;p=thirdparty%2Fsamba.git Revert "Remove some write-only fstrings" This reverts commit aacb07b1b0f674b8cb92347ef4b4dd1e7808dde8. --- diff --git a/source/include/ntdomain.h b/source/include/ntdomain.h index 74a59443c8f..b89b0fea3a6 100644 --- a/source/include/ntdomain.h +++ b/source/include/ntdomain.h @@ -232,6 +232,13 @@ typedef struct pipes_struct { struct dcinfo *dc; /* Keeps the creds data from netlogon. */ + /* + * Windows user info. + */ + fstring user_name; + fstring domain; + fstring wks; + /* * Unix user name and credentials used when a pipe is authenticated. */ diff --git a/source/rpc_server/srv_pipe.c b/source/rpc_server/srv_pipe.c index 52e4fdfd5ba..2f9e3e58359 100644 --- a/source/rpc_server/srv_pipe.c +++ b/source/rpc_server/srv_pipe.c @@ -614,6 +614,11 @@ static bool pipe_ntlmssp_verify_final(pipes_struct *p, DATA_BLOB *p_resp_blob) ZERO_STRUCT(reply); + memset(p->user_name, '\0', sizeof(p->user_name)); + memset(p->pipe_user_name, '\0', sizeof(p->pipe_user_name)); + memset(p->domain, '\0', sizeof(p->domain)); + memset(p->wks, '\0', sizeof(p->wks)); + /* Set up for non-authenticated user. */ TALLOC_FREE(p->pipe_user.nt_user_token); p->pipe_user.ut.ngroups = 0; @@ -651,10 +656,14 @@ static bool pipe_ntlmssp_verify_final(pipes_struct *p, DATA_BLOB *p_resp_blob) return False; } } + + fstrcpy(p->user_name, a->ntlmssp_state->user); + fstrcpy(p->pipe_user_name, a->server_info->unix_name); + fstrcpy(p->domain, a->ntlmssp_state->domain); + fstrcpy(p->wks, a->ntlmssp_state->workstation); - DEBUG(5, ("pipe_ntlmssp_verify_final: OK: user: %s domain: %s " - "workstation: %s\n", a->ntlmssp_state->user, - a->ntlmssp_state->domain, a->ntlmssp_state->workstation)); + DEBUG(5,("pipe_ntlmssp_verify_final: OK: user: %s domain: %s workstation: %s\n", + p->user_name, p->domain, p->wks)); /* * Store the UNIX credential data (uid/gid pair) in the pipe structure.