diff --git a/source3/include/proto.h b/source3/include/proto.h index 060776fa623..ed723436e14 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 b5408841a1d..2d50c5cd5c8 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 4bfcd4062a5..c96d705f762 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;