svn commit: samba r8820 - in branches/SAMBA_4_0/source/librpc/rpc: .

abartlet at samba.org abartlet at samba.org
Thu Jul 28 04:46:11 GMT 2005


Author: abartlet
Date: 2005-07-28 04:46:11 +0000 (Thu, 28 Jul 2005)
New Revision: 8820

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=8820

Log:
Push this common block of code into the caller.

Use talloc_steal() rather than talloc_reference().

Andrew Bartlett

Modified:
   branches/SAMBA_4_0/source/librpc/rpc/dcerpc_util.c


Changeset:
Modified: branches/SAMBA_4_0/source/librpc/rpc/dcerpc_util.c
===================================================================
--- branches/SAMBA_4_0/source/librpc/rpc/dcerpc_util.c	2005-07-28 04:09:11 UTC (rev 8819)
+++ branches/SAMBA_4_0/source/librpc/rpc/dcerpc_util.c	2005-07-28 04:46:11 UTC (rev 8820)
@@ -1022,19 +1022,6 @@
 		return status;
 	}
 
-	/* Look up identifier using the epmapper */
-	if (!binding->endpoint) {
-		status = dcerpc_epm_map_binding(tmp_ctx, binding, 
-						pipe_uuid, pipe_version, 
-						p->conn->event_ctx);
-		if (!NT_STATUS_IS_OK(status)) {
-			DEBUG(0,("Failed to map DCERPC/TCP NCACN_NP pipe for '%s' - %s\n", 
-				 pipe_uuid, nt_errstr(status)));
-			return status;
-		}
-		DEBUG(2,("Mapped to DCERPC/NP pipe %s\n", binding->endpoint));
-	}
-
 	pipe_name = binding->endpoint;
 
 	status = dcerpc_pipe_open_smb(p->conn, cli->tree, pipe_name);
@@ -1056,19 +1043,6 @@
 {
 	NTSTATUS status;
 
-	/* Look up identifier using the epmapper */
-	if (!binding->endpoint) {
-		status = dcerpc_epm_map_binding(tmp_ctx, binding, 
-						pipe_uuid, pipe_version, 
-						p->conn->event_ctx);
-		if (!NT_STATUS_IS_OK(status)) {
-			DEBUG(0,("Failed to map DCERPC/TCP NCALRPC identifier for '%s' - %s\n", 
-				 pipe_uuid, nt_errstr(status)));
-			return status;
-		}
-		DEBUG(2,("Mapped to DCERPC/LRPC identifier %s\n", binding->endpoint));
-	}
-
 	status = dcerpc_pipe_open_pipe(p->conn, binding->endpoint);
 	if (!NT_STATUS_IS_OK(status)) {
 		DEBUG(0,("Failed to open ncalrpc pipe '%s' - %s\n", 
@@ -1118,18 +1092,6 @@
 	NTSTATUS status;
 	uint32_t port = 0;
 
-	if (!binding->endpoint) {
-		status = dcerpc_epm_map_binding(tmp_ctx, binding, 
-						pipe_uuid, pipe_version, 
-						p->conn->event_ctx);
-		if (!NT_STATUS_IS_OK(status)) {
-			DEBUG(0,("Failed to map DCERPC/TCP port for '%s' - %s\n", 
-				 pipe_uuid, nt_errstr(status)));
-			return status;
-		}
-		DEBUG(2,("Mapped to DCERPC/TCP port %s\n", binding->endpoint));
-	}
-
 	port = atoi(binding->endpoint);
 
 	status = dcerpc_pipe_open_tcp(p->conn, binding->host, port);
@@ -1168,6 +1130,23 @@
 
 	switch (binding->transport) {
 	case NCACN_NP:
+	case NCACN_IP_TCP:
+	case NCALRPC:
+		if (!binding->endpoint) {
+			status = dcerpc_epm_map_binding(tmp_ctx, binding, 
+							pipe_uuid, pipe_version, 
+							p->conn->event_ctx);
+			if (!NT_STATUS_IS_OK(status)) {
+				DEBUG(0,("Failed to map DCERPC endpoint for '%s' - %s\n", 
+					 pipe_uuid, nt_errstr(status)));
+				return status;
+			}
+			DEBUG(2,("Mapped to DCERPC endpoint %s\n", binding->endpoint));
+		}
+	}
+
+	switch (binding->transport) {
+	case NCACN_NP:
 		status = dcerpc_pipe_connect_ncacn_np(tmp_ctx, 
 						      p, binding, pipe_uuid, pipe_version, credentials);
 		break;
@@ -1237,7 +1216,7 @@
 				       credentials, ev);
 
 	if (NT_STATUS_IS_OK(status)) {
-		*pp = talloc_reference(parent_ctx, *pp);
+		*pp = talloc_steal(parent_ctx, *pp);
 	}
 	talloc_free(tmp_ctx);
 



More information about the samba-cvs mailing list