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

mimir at samba.org mimir at samba.org
Thu Apr 21 01:00:31 GMT 2005


Author: mimir
Date: 2005-04-21 01:00:30 +0000 (Thu, 21 Apr 2005)
New Revision: 6405

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

Log:
Complete NET-USERADD torture test for user add composite function.


rafal


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


Changeset:
Modified: branches/SAMBA_4_0/source/torture/libnet/userman.c
===================================================================
--- branches/SAMBA_4_0/source/torture/libnet/userman.c	2005-04-20 22:34:26 UTC (rev 6404)
+++ branches/SAMBA_4_0/source/torture/libnet/userman.c	2005-04-21 01:00:30 UTC (rev 6405)
@@ -98,6 +98,61 @@
 }
 
 
+static BOOL test_cleanup(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
+			 struct policy_handle *domain_handle, const char *username)
+{
+	NTSTATUS status;
+	struct samr_LookupNames r1;
+	struct samr_OpenUser r2;
+	struct samr_DeleteUser r3;
+	struct samr_String names[2];
+	uint32_t rid;
+	struct policy_handle user_handle;
+
+	names[0].string = username;
+
+	r1.in.domain_handle  = domain_handle;
+	r1.in.num_names      = 1;
+	r1.in.names          = names;
+	
+	printf("user account lookup '%s'\n", username);
+
+	status = dcerpc_samr_LookupNames(p, mem_ctx, &r1);
+	if (!NT_STATUS_IS_OK(status)) {
+		printf("LookupNames failed - %s\n", nt_errstr(status));
+		return False;
+	}
+
+	rid = r1.out.rids.ids[0];
+	
+	r2.in.domain_handle  = domain_handle;
+	r2.in.access_mask    = SEC_FLAG_MAXIMUM_ALLOWED;
+	r2.in.rid            = rid;
+	r2.out.user_handle   = &user_handle;
+
+	printf("opening user account\n");
+
+	status = dcerpc_samr_OpenUser(p, mem_ctx, &r2);
+	if (!NT_STATUS_IS_OK(status)) {
+		printf("OpenUser failed - %s\n", nt_errstr(status));
+		return False;
+	}
+
+	r3.in.user_handle  = &user_handle;
+	r3.out.user_handle = &user_handle;
+
+	printf("deleting user account\n");
+	
+	status = dcerpc_samr_DeleteUser(p, mem_ctx, &r3);
+	if (!NT_STATUS_IS_OK(status)) {
+		printf("DeleteUser failed - %s\n", nt_errstr(status));
+		return False;
+	}
+	
+	return True;
+}
+
+
 BOOL torture_useradd(void)
 {
 	NTSTATUS status;
@@ -142,6 +197,11 @@
 		goto done;
 	}
 
+	if (!test_cleanup(p, mem_ctx, &h, name)) {
+		ret = False;
+		goto done;
+	}
+
 done:
 	talloc_free(mem_ctx);
 	return ret;



More information about the samba-cvs mailing list