diff options
Diffstat (limited to 'source/lib/msrpc-client.c')
-rw-r--r-- | source/lib/msrpc-client.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/source/lib/msrpc-client.c b/source/lib/msrpc-client.c index 051a051093e..60924ed81c5 100644 --- a/source/lib/msrpc-client.c +++ b/source/lib/msrpc-client.c @@ -195,7 +195,8 @@ static BOOL msrpc_authenticate(struct msrpc_state *msrpc, command = usr != NULL ? AGENT_CMD_CON : AGENT_CMD_CON_ANON; - if (!create_user_creds(&ps, msrpc->pipe_name, 0x0, command, usr)) + if (!create_user_creds(&ps, msrpc->pipe_name, 0x0, command, + msrpc->pid, usr)) { DEBUG(0,("could not parse credentials\n")); close(sock); @@ -274,11 +275,12 @@ static BOOL msrpc_init_redirect(struct msrpc_state *msrpc, } BOOL msrpc_connect_auth(struct msrpc_state *msrpc, + uint32 pid, const char* pipename, const struct user_creds *usr) { ZERO_STRUCTP(msrpc); - if (!msrpc_initialise(msrpc)) + if (!msrpc_initialise(msrpc, pid)) { DEBUG(0,("unable to initialise msrpcent connection.\n")); return False; @@ -298,7 +300,7 @@ BOOL msrpc_connect_auth(struct msrpc_state *msrpc, /**************************************************************************** initialise a msrpcent structure ****************************************************************************/ -struct msrpc_state *msrpc_initialise(struct msrpc_state *msrpc) +struct msrpc_state *msrpc_initialise(struct msrpc_state *msrpc, uint32 pid) { if (!msrpc) { msrpc = (struct msrpc_state *)malloc(sizeof(*msrpc)); @@ -323,6 +325,7 @@ struct msrpc_state *msrpc_initialise(struct msrpc_state *msrpc) msrpc->initialised = 1; msrpc_init_creds(msrpc, NULL); + msrpc->pid = pid; return msrpc; } |