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

mimir at samba.org mimir at samba.org
Tue Aug 2 22:25:42 GMT 2005


Author: mimir
Date: 2005-08-02 22:25:42 +0000 (Tue, 02 Aug 2005)
New Revision: 8954

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

Log:
Use binding string to specify host rather than share path, as we use
rpc call here after all. Also, safely exit (freeing memory context) in
case of any error.


rafal


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


Changeset:
Modified: branches/SAMBA_4_0/source/torture/libnet/libnet_share.c
===================================================================
--- branches/SAMBA_4_0/source/torture/libnet/libnet_share.c	2005-08-02 22:01:04 UTC (rev 8953)
+++ branches/SAMBA_4_0/source/torture/libnet/libnet_share.c	2005-08-02 22:25:42 UTC (rev 8954)
@@ -114,18 +114,31 @@
 	int i;
 	BOOL ret = True;
 	struct libnet_context* libnetctx;
-	const char* host;
+	const char *binding, *host;
+	struct dcerpc_binding *bind;
 	TALLOC_CTX *mem_ctx;
 
 	mem_ctx = talloc_init("test_listshares");
-	host = lp_parm_string(-1, "torture", "host");
+	binding = lp_parm_string(-1, "torture", "binding");
+	status = dcerpc_parse_binding(mem_ctx, binding, &bind);
+	if (!NT_STATUS_IS_OK(status)) {
+		printf("Error while parsing the binding string\n");
+		ret = False;
+		goto done;
+	}
 
 	libnetctx = libnet_context_init(NULL);
+	if (!libnetctx) {
+		printf("Couldn't allocate libnet context\n");
+		ret = False;
+		goto done;
+	}
+
 	libnetctx->cred = cmdline_credentials;
 	
 	printf("Testing libnet_ListShare\n");
 	
-	share.in.server_name = talloc_asprintf(mem_ctx, "%s", host);
+	share.in.server_name = talloc_asprintf(mem_ctx, "%s", bind->host);
 
 	for (i = 0; i < ARRAY_SIZE(levels); i++) {
 		share.in.level = levels[i];
@@ -135,12 +148,15 @@
 		if (!NT_STATUS_IS_OK(status)) {
 			printf("libnet_ListShare level %u failed - %s\n", share.in.level, nt_errstr(status));
 			ret = False;
+			goto done;
 		}
 
 		printf("listing shares:\n");
 		test_displayshares(share);
 	}
 
+done:
+	talloc_free(mem_ctx);
 	return ret;
 }
 



More information about the samba-cvs mailing list