The branch, v3-2-test has been updated
       via  944d736a0fa47dc92e2f4660e7a3e01d252b3e01 (commit)
       via  23666dc6ef39134cd1c402c5ff8184511eb5ced9 (commit)
      from  6b2b45002449140b06eaea2e5132e03029555d01 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test


- Log -----------------------------------------------------------------
commit 944d736a0fa47dc92e2f4660e7a3e01d252b3e01
Author: Volker Lendecke <[EMAIL PROTECTED]>
Date:   Fri Apr 25 16:42:27 2008 +0200

    Revert "Remove some write-only fstrings"
    
    This reverts commit aacb07b1b0f674b8cb92347ef4b4dd1e7808dde8.

commit 23666dc6ef39134cd1c402c5ff8184511eb5ced9
Author: Volker Lendecke <[EMAIL PROTECTED]>
Date:   Fri Apr 25 16:42:15 2008 +0200

    Revert "Remove namedpipe_transact fn pointer from smb_np_struct"
    
    This reverts commit d1f82b7e67a791e19d08c682b607d82ae649feb4.

-----------------------------------------------------------------------

Summary of changes:
 source/include/ntdomain.h    |   18 ++++++++++++++++++
 source/rpc_server/srv_pipe.c |   15 ++++++++++++---
 2 files changed, 30 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/include/ntdomain.h b/source/include/ntdomain.h
index 7bd5afe..b89b0fe 100644
--- a/source/include/ntdomain.h
+++ b/source/include/ntdomain.h
@@ -233,6 +233,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.
         */
 
@@ -325,6 +332,17 @@ typedef struct smb_np_struct {
        void *   (*namedpipe_create)(const char *pipe_name, 
                                          connection_struct *conn, uint16 vuid);
 
+       /* call to perform a write / read namedpipe transaction.
+        * TransactNamedPipe is weird: it returns whether there
+        * is more data outstanding to be read, and the
+        * caller is expected to take note and follow up with
+        * read requests.
+        */
+       ssize_t  (*namedpipe_transact)(void *np_state,
+                                      char *data, int len,
+                                      char *rdata, int rlen,
+                                      bool *pipe_outstanding);
+
        /* call to perform a write namedpipe operation
         */
        ssize_t  (*namedpipe_write)(void * np_state,
diff --git a/source/rpc_server/srv_pipe.c b/source/rpc_server/srv_pipe.c
index 52e4fdf..2f9e3e5 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.


-- 
Samba Shared Repository

Reply via email to