svn commit: samba r12835 - in branches/SAMBA_4_0/source/torture/libnet: .

mimir at samba.org mimir at samba.org
Tue Jan 10 22:22:56 GMT 2006


Author: mimir
Date: 2006-01-10 22:22:55 +0000 (Tue, 10 Jan 2006)
New Revision: 12835

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

Log:
RpcConnect test expansion to test connecting using ncacp_ip_tcp
as well as ncacn_np.


rafal


Modified:
   branches/SAMBA_4_0/source/torture/libnet/libnet_rpc.c


Changeset:
Modified: branches/SAMBA_4_0/source/torture/libnet/libnet_rpc.c
===================================================================
--- branches/SAMBA_4_0/source/torture/libnet/libnet_rpc.c	2006-01-10 20:37:16 UTC (rev 12834)
+++ branches/SAMBA_4_0/source/torture/libnet/libnet_rpc.c	2006-01-10 22:22:55 UTC (rev 12835)
@@ -24,13 +24,14 @@
 #include "libnet/libnet.h"
 
 
-BOOL test_lsa_connect(struct libnet_context *ctx)
+BOOL test_lsa_np_connect(struct libnet_context *ctx)
 {
 	NTSTATUS status;
 	struct libnet_RpcConnect connect;
-	connect.level                     = LIBNET_RPC_CONNECT_PDC;
-	connect.in.domain_name            = lp_workgroup();
-	connect.in.dcerpc_iface			  = &dcerpc_table_lsarpc;
+	connect.level            = LIBNET_RPC_CONNECT_BINDING;
+	connect.in.domain_name   = lp_workgroup();
+	connect.in.binding       = talloc_asprintf(ctx, "ncacn_np:%s", lp_workgroup());
+	connect.in.dcerpc_iface  = &dcerpc_table_lsarpc;
 
 	status = libnet_RpcConnect(ctx, ctx, &connect);
 
@@ -46,13 +47,14 @@
 }
 
 
-BOOL test_samr_connect(struct libnet_context *ctx)
+BOOL test_samr_np_connect(struct libnet_context *ctx)
 {
 	NTSTATUS status;
 	struct libnet_RpcConnect connect;
-	connect.level                     = LIBNET_RPC_CONNECT_PDC;
-	connect.in.domain_name            = lp_workgroup();
-	connect.in.dcerpc_iface      	  = &dcerpc_table_samr;
+	connect.level            = LIBNET_RPC_CONNECT_BINDING;
+	connect.in.domain_name   = lp_workgroup();
+	connect.in.binding       = talloc_asprintf(ctx, "ncacn_np:%s", lp_workgroup());
+	connect.in.dcerpc_iface  = &dcerpc_table_samr;
 
 	status = libnet_RpcConnect(ctx, ctx, &connect);
 
@@ -68,6 +70,52 @@
 }
 
 
+BOOL test_lsa_tcpip_connect(struct libnet_context *ctx)
+{
+	NTSTATUS status;
+	struct libnet_RpcConnect connect;
+	connect.level            = LIBNET_RPC_CONNECT_BINDING;
+	connect.in.domain_name   = lp_workgroup();
+	connect.in.binding       = talloc_asprintf(ctx, "ncacn_ip_tcp:%s", lp_netbios_name());
+	connect.in.dcerpc_iface  = &dcerpc_table_lsarpc;
+
+	status = libnet_RpcConnect(ctx, ctx, &connect);
+	
+	if (!NT_STATUS_IS_OK(status)) {
+		printf("Couldn't connect to rpc service %s on %s: %s\n",
+		       connect.in.dcerpc_iface->name, connect.in.domain_name,
+		       nt_errstr(status));
+
+		return False;
+	}
+
+	return True;
+}
+
+
+BOOL test_samr_tcpip_connect(struct libnet_context *ctx)
+{
+	NTSTATUS status;
+	struct libnet_RpcConnect connect;
+	connect.level            = LIBNET_RPC_CONNECT_BINDING;
+	connect.in.domain_name   = lp_workgroup();
+	connect.in.binding       = talloc_asprintf(ctx, "ncacn_ip_tcp:%s", lp_netbios_name());
+	connect.in.dcerpc_iface  = &dcerpc_table_samr;
+
+	status = libnet_RpcConnect(ctx, ctx, &connect);
+	
+	if (!NT_STATUS_IS_OK(status)) {
+		printf("Couldn't connect to rpc service %s on %s: %s\n",
+		       connect.in.dcerpc_iface->name, connect.in.domain_name,
+		       nt_errstr(status));
+
+		return False;
+	}
+
+	return True;
+}
+
+
 BOOL torture_rpc_connect(void)
 {
 	struct libnet_context *ctx;
@@ -75,15 +123,29 @@
 	ctx = libnet_context_init(NULL);
 	ctx->cred = cmdline_credentials;
 
-	if (!test_lsa_connect(ctx)) {
-		printf("failed to connect lsarpc interface\n");
+	printf("Testing connection to lsarpc interface via named pipe\n");
+	if (!test_lsa_np_connect(ctx)) {
+		printf("failed to connect lsarpc interface via named pipe\n");
 		return False;
 	}
 
-	if (!test_samr_connect(ctx)) {
-		printf("failed to connect samr interface\n");
+	printf("Testing connection to SAMR service via named pipe\n");
+	if (!test_samr_np_connect(ctx)) {
+		printf("failed to connect samr interface via named pipe\n");
 		return False;
 	}
 
+	printf("Testing connection to LSA service via tcp/ip\n");
+	if (!test_lsa_tcpip_connect(ctx)) {
+		printf("failed to connect lsarpc interface via tcp/ip\n");
+		return False;
+	}
+
+	printf("Testing connection to SAMR service via tcp/ip\n");
+	if (!test_samr_tcpip_connect(ctx)) {
+		printf("failed to connect samr interface via tcp/ip\n");
+		return False;
+	}
+
 	return True;
 }



More information about the samba-cvs mailing list