[SCM] Samba Shared Repository - branch master updated

Volker Lendecke vlendec at samba.org
Wed Apr 11 13:20:03 UTC 2018


The branch, master has been updated
       via  2128159 rpc_server: Init local_server_* in make_internal_rpc_pipe_socketpair
      from  462eb4a lib/util: Call log_stack_trace() in smb_panic_default()

https://git.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 212815969f4a706bc8395e2f6dbf225318ff2ad7
Author: Volker Lendecke <vl at samba.org>
Date:   Wed Apr 11 10:42:21 2018 +0200

    rpc_server: Init local_server_* in make_internal_rpc_pipe_socketpair
    
    Bug: https://bugzilla.samba.org/show_bug.cgi?id=13370
    Signed-off-by: Volker Lendecke <vl at samba.org>
    Reviewed-by: Stefan Metzmacher <metze at samba.org>
    
    Autobuild-User(master): Volker Lendecke <vl at samba.org>
    Autobuild-Date(master): Wed Apr 11 15:19:19 CEST 2018 on sn-devel-144

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

Summary of changes:
 source3/rpc_server/rpc_ncacn_np.c | 31 +++++++++++++++++++++++--------
 source3/rpc_server/rpc_ncacn_np.h | 18 ++++++++++--------
 source3/rpc_server/srv_pipe_hnd.c | 18 ++++++++++--------
 3 files changed, 43 insertions(+), 24 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source3/rpc_server/rpc_ncacn_np.c b/source3/rpc_server/rpc_ncacn_np.c
index 0728f54..d7e7785 100644
--- a/source3/rpc_server/rpc_ncacn_np.c
+++ b/source3/rpc_server/rpc_ncacn_np.c
@@ -69,14 +69,16 @@ fail:
 	return NULL;
 }
 
-NTSTATUS make_internal_rpc_pipe_socketpair(TALLOC_CTX *mem_ctx,
-					   struct tevent_context *ev_ctx,
-					   struct messaging_context *msg_ctx,
-					   const char *pipe_name,
-					   const struct ndr_syntax_id *syntax,
-					   const struct tsocket_address *remote_address,
-					   const struct auth_session_info *session_info,
-					   struct npa_state **pnpa)
+NTSTATUS make_internal_rpc_pipe_socketpair(
+	TALLOC_CTX *mem_ctx,
+	struct tevent_context *ev_ctx,
+	struct messaging_context *msg_ctx,
+	const char *pipe_name,
+	const struct ndr_syntax_id *syntax,
+	const struct tsocket_address *remote_address,
+	const struct tsocket_address *local_address,
+	const struct auth_session_info *session_info,
+	struct npa_state **pnpa)
 {
 	TALLOC_CTX *tmp_ctx = talloc_stackframe();
 	struct named_pipe_client *npc;
@@ -136,6 +138,19 @@ NTSTATUS make_internal_rpc_pipe_socketpair(TALLOC_CTX *mem_ctx,
 		goto out;
 	}
 
+	npc->local_server_addr = tsocket_address_copy(local_address, npc);
+	if (npc->local_server_addr == NULL) {
+		status = NT_STATUS_NO_MEMORY;
+		goto out;
+	}
+
+	npc->local_server_name = tsocket_address_inet_addr_string(
+		npc->local_server_addr, npc);
+	if (npc->local_server_name == NULL) {
+		status = NT_STATUS_NO_MEMORY;
+		goto out;
+	}
+
 	npc->session_info = copy_session_info(npc, session_info);
 	if (npc->session_info == NULL) {
 		status = NT_STATUS_NO_MEMORY;
diff --git a/source3/rpc_server/rpc_ncacn_np.h b/source3/rpc_server/rpc_ncacn_np.h
index 03bbd3f..9ba5864 100644
--- a/source3/rpc_server/rpc_ncacn_np.h
+++ b/source3/rpc_server/rpc_ncacn_np.h
@@ -44,14 +44,16 @@ NTSTATUS make_external_rpc_pipe(TALLOC_CTX *mem_ctx,
 				const struct auth_session_info *session_info,
 				struct npa_state **pnpa);
 
-NTSTATUS make_internal_rpc_pipe_socketpair(TALLOC_CTX *mem_ctx,
-					   struct tevent_context *ev_ctx,
-					   struct messaging_context *msg_ctx,
-					   const char *pipe_name,
-					   const struct ndr_syntax_id *syntax,
-					   const struct tsocket_address *remote_address,
-					   const struct auth_session_info *session_info,
-					   struct npa_state **pnpa);
+NTSTATUS make_internal_rpc_pipe_socketpair(
+	TALLOC_CTX *mem_ctx,
+	struct tevent_context *ev_ctx,
+	struct messaging_context *msg_ctx,
+	const char *pipe_name,
+	const struct ndr_syntax_id *syntax,
+	const struct tsocket_address *remote_address,
+	const struct tsocket_address *local_address,
+	const struct auth_session_info *session_info,
+	struct npa_state **pnpa);
 
 struct np_proxy_state {
 	uint16_t file_type;
diff --git a/source3/rpc_server/srv_pipe_hnd.c b/source3/rpc_server/srv_pipe_hnd.c
index f9b7855..baa4ce9 100644
--- a/source3/rpc_server/srv_pipe_hnd.c
+++ b/source3/rpc_server/srv_pipe_hnd.c
@@ -106,14 +106,16 @@ NTSTATUS np_open(TALLOC_CTX *mem_ctx, const char *name,
 			return NT_STATUS_OBJECT_NAME_NOT_FOUND;
 		}
 
-		status = make_internal_rpc_pipe_socketpair(handle,
-							   ev_ctx,
-							   msg_ctx,
-							   name,
-							   &syntax,
-							   remote_client_address,
-							   session_info,
-							   &npa);
+		status = make_internal_rpc_pipe_socketpair(
+			handle,
+			ev_ctx,
+			msg_ctx,
+			name,
+			&syntax,
+			remote_client_address,
+			local_server_address,
+			session_info,
+			&npa);
 		if (!NT_STATUS_IS_OK(status)) {
 			talloc_free(handle);
 			return status;


-- 
Samba Shared Repository



More information about the samba-cvs mailing list