summaryrefslogtreecommitdiff
path: root/source3/rpc_server
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2008-06-24 14:18:55 +0200
committerVolker Lendecke <vl@samba.org>2008-06-26 13:13:22 +0200
commitd331624fdfe9fc72f1da7fd01c59a1a20cf1c7d7 (patch)
tree2c5abd6a0f47e68519987f92a4ac6a9fbfb818d0 /source3/rpc_server
parenta8a0dd4241d3717b9b7273ac44de08c24835eeef (diff)
downloadsamba-d331624fdfe9fc72f1da7fd01c59a1a20cf1c7d7.tar.gz
samba-d331624fdfe9fc72f1da7fd01c59a1a20cf1c7d7.tar.bz2
samba-d331624fdfe9fc72f1da7fd01c59a1a20cf1c7d7.zip
Add server_info to pipes_struct
(This used to be commit d621867bb8767e1c4236d28dd9294a61db6cbb10)
Diffstat (limited to 'source3/rpc_server')
-rw-r--r--source3/rpc_server/srv_pipe.c10
-rw-r--r--source3/rpc_server/srv_pipe_hnd.c9
2 files changed, 19 insertions, 0 deletions
diff --git a/source3/rpc_server/srv_pipe.c b/source3/rpc_server/srv_pipe.c
index 0987a420d5..04d18d51c9 100644
--- a/source3/rpc_server/srv_pipe.c
+++ b/source3/rpc_server/srv_pipe.c
@@ -694,6 +694,16 @@ static bool pipe_ntlmssp_verify_final(pipes_struct *p, DATA_BLOB *p_resp_blob)
return False;
}
+ TALLOC_FREE(p->server_info);
+
+ p->server_info = copy_serverinfo(p, a->server_info);
+ if (p->server_info == NULL) {
+ DEBUG(0, ("copy_serverinfo failed\n"));
+ return false;
+ }
+
+ server_info_set_session_key(p->server_info, p->session_key);
+
return True;
}
diff --git a/source3/rpc_server/srv_pipe_hnd.c b/source3/rpc_server/srv_pipe_hnd.c
index 1feed1550c..9a57a1bdb3 100644
--- a/source3/rpc_server/srv_pipe_hnd.c
+++ b/source3/rpc_server/srv_pipe_hnd.c
@@ -314,6 +314,15 @@ static void *make_internal_rpc_pipe_p(const char *pipe_name,
return NULL;
}
+ p->server_info = copy_serverinfo(p, conn->server_info);
+ if (p->server_info == NULL) {
+ DEBUG(0, ("open_rpc_pipe_p: copy_serverinfo failed\n"));
+ talloc_destroy(p->mem_ctx);
+ close_policy_by_pipe(p);
+ TALLOC_FREE(p);
+ return NULL;
+ }
+
DLIST_ADD(InternalPipes, p);
memcpy(p->client_address, conn->client_address,