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

mimir at samba.org mimir at samba.org
Wed Aug 3 03:28:11 GMT 2005


Author: mimir
Date: 2005-08-03 03:28:10 +0000 (Wed, 03 Aug 2005)
New Revision: 8975

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

Log:
Very basic test for delshare function based on code submitted
by Gregory LEOCADIE <gleocadie at idealx.com>.


rafal


Modified:
   branches/SAMBA_4_0/source/torture/libnet/libnet_share.c
   branches/SAMBA_4_0/source/torture/torture.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-03 03:09:17 UTC (rev 8974)
+++ branches/SAMBA_4_0/source/torture/libnet/libnet_share.c	2005-08-03 03:28:10 UTC (rev 8975)
@@ -161,30 +161,81 @@
 }
 
 
+BOOL test_addshare(struct dcerpc_pipe *pipe, TALLOC_CTX *mem_ctx, const char *host,
+		   const char* share)
+{
+	NTSTATUS status;
+	struct srvsvc_NetShareAdd add;
+	struct srvsvc_NetShareInfo2 i;
+	
+	i.name         = share;
+	i.type         = STYPE_DISKTREE;
+	i.path         = "C:\\WINDOWS\\TEMP";
+	i.max_users    = 5;
+	i.comment      = "Comment to the test share";
+	i.password     = NULL;
+	i.permissions  = 0x0;
+
+	add.in.server_unc = host;
+	add.in.level      = 2;
+	add.in.info.info2 = &i;
+
+	status = dcerpc_srvsvc_NetShareAdd(pipe, mem_ctx, &add);
+	if (!NT_STATUS_IS_OK(status)) {
+		printf("Failed to add a new share\n");
+		return False;
+	}
+
+	printf("share added\n");
+	return True;
+}
+
+
 BOOL torture_delshare(void)
 {
+	struct dcerpc_pipe *p;
+	struct dcerpc_binding *bind;
 	struct libnet_context* libnetctx;
-	const char* host;
+	const char *host, *binding;
 	TALLOC_CTX *mem_ctx;
 	NTSTATUS  status;
 	BOOL ret = True;
 	struct libnet_DelShare share;
 	
 	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);
 	libnetctx->cred = cmdline_credentials;
 
-	share.in.server_name	= host;
+	status = torture_rpc_connection(mem_ctx,
+					&p,
+					DCERPC_SRVSVC_NAME,
+					DCERPC_SRVSVC_UUID,
+					DCERPC_SRVSVC_VERSION);
+
+	if (!test_addshare(p, mem_ctx, host, TEST_SHARENAME)) {
+		ret = False;
+		goto done;
+	}
+
+	share.in.server_name	= bind->host;
 	share.in.share_name	= TEST_SHARENAME;
 
 	status = libnet_DelShare(libnetctx, mem_ctx, &share);
 	if (!NT_STATUS_IS_OK(status)) {
 		ret = False;
+		goto done;
 	}
 
+
+done:
 	talloc_free(mem_ctx);
-
 	return ret;
 }

Modified: branches/SAMBA_4_0/source/torture/torture.c
===================================================================
--- branches/SAMBA_4_0/source/torture/torture.c	2005-08-03 03:09:17 UTC (rev 8974)
+++ branches/SAMBA_4_0/source/torture/torture.c	2005-08-03 03:28:10 UTC (rev 8975)
@@ -2346,6 +2346,7 @@
 	{"NET-API-CREATEUSER", torture_createuser, 0},
 	{"NET-API-RPCCONNECT", torture_rpc_connect, 0},
 	{"NET-API-LISTSHARES", torture_listshares, 0},
+	{"NET-API-DELSHARE", torture_delshare, 0},
 
 	{NULL, NULL, 0}};
 



More information about the samba-cvs mailing list