Revert "Remove some write-only fstrings"
authorVolker Lendecke <vl@samba.org>
Fri, 25 Apr 2008 14:42:27 +0000 (16:42 +0200)
committerVolker Lendecke <vl@samba.org>
Fri, 25 Apr 2008 14:42:27 +0000 (16:42 +0200)
This reverts commit aacb07b1b0f674b8cb92347ef4b4dd1e7808dde8.

source/include/ntdomain.h
source/rpc_server/srv_pipe.c

index 74a59443c8f9b90904dcacec3bc11ff8239b0e8c..b89b0fea3a605098d5d81e21e3ca1c48ac591e69 100644 (file)
@@ -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.
         */
index 52e4fdfd5ba6c871eccf8be6e67ea326ec050fd0..2f9e3e583599d3fc071367ffae2a428eaed71950 100644 (file)
@@ -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.