summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/include/proto.h3
-rw-r--r--source3/rpc_server/rpc_ncacn_np_internal.c8
-rw-r--r--source3/rpc_server/srv_pipe_hnd.c3
3 files changed, 9 insertions, 5 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 060776fa62..ed723436e1 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -4497,7 +4497,8 @@ NTSTATUS rpc_pipe_open_ncalrpc(TALLOC_CTX *mem_ctx, const char *socket_path,
struct pipes_struct *make_internal_rpc_pipe_p(TALLOC_CTX *mem_ctx,
const struct ndr_syntax_id *syntax,
const char *client_address,
- struct auth_serversupplied_info *server_info);
+ struct auth_serversupplied_info *server_info,
+ struct messaging_context *msg_ctx);
NTSTATUS rpc_pipe_open_internal(TALLOC_CTX *mem_ctx, const struct ndr_syntax_id *abstract_syntax,
struct auth_serversupplied_info *serversupplied_info,
struct rpc_pipe_client **presult);
diff --git a/source3/rpc_server/rpc_ncacn_np_internal.c b/source3/rpc_server/rpc_ncacn_np_internal.c
index b5408841a1..2d50c5cd5c 100644
--- a/source3/rpc_server/rpc_ncacn_np_internal.c
+++ b/source3/rpc_server/rpc_ncacn_np_internal.c
@@ -115,7 +115,8 @@ static int close_internal_rpc_pipe_hnd(struct pipes_struct *p)
struct pipes_struct *make_internal_rpc_pipe_p(TALLOC_CTX *mem_ctx,
const struct ndr_syntax_id *syntax,
const char *client_address,
- struct auth_serversupplied_info *server_info)
+ struct auth_serversupplied_info *server_info,
+ struct messaging_context *msg_ctx)
{
struct pipes_struct *p;
@@ -152,7 +153,7 @@ struct pipes_struct *make_internal_rpc_pipe_p(TALLOC_CTX *mem_ctx,
return NULL;
}
- p->msg_ctx = smbd_messaging_context();
+ p->msg_ctx = msg_ctx;
DLIST_ADD(InternalPipes, p);
@@ -360,7 +361,8 @@ NTSTATUS rpc_pipe_open_internal(TALLOC_CTX *mem_ctx,
result->dispatch = rpc_pipe_internal_dispatch;
result->pipes_struct = make_internal_rpc_pipe_p(
- result, abstract_syntax, "", serversupplied_info);
+ result, abstract_syntax, "", serversupplied_info,
+ smbd_messaging_context());
if (result->pipes_struct == NULL) {
TALLOC_FREE(result);
return NT_STATUS_NO_MEMORY;
diff --git a/source3/rpc_server/srv_pipe_hnd.c b/source3/rpc_server/srv_pipe_hnd.c
index 4bfcd4062a..c96d705f76 100644
--- a/source3/rpc_server/srv_pipe_hnd.c
+++ b/source3/rpc_server/srv_pipe_hnd.c
@@ -582,7 +582,8 @@ NTSTATUS np_open(TALLOC_CTX *mem_ctx, const char *name,
}
p = make_internal_rpc_pipe_p(handle, &syntax, client_address,
- server_info);
+ server_info,
+ smbd_messaging_context());
handle->type = FAKE_FILE_TYPE_NAMED_PIPE;
handle->private_data = p;