svn commit: samba r8239 - in branches/SAMBA_4_0/testprogs/ejs: .

tridge at samba.org tridge at samba.org
Fri Jul 8 10:30:50 GMT 2005


Author: tridge
Date: 2005-07-08 10:30:50 +0000 (Fri, 08 Jul 2005)
New Revision: 8239

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

Log:
- added testing of LookupDomain, OpenDomain and EnumDomainUsers

- used SEC_FLAG_MAXIMUM_ALLOWED for access mask. This gets the samr.js
  test working with w2k3 as the server

Modified:
   branches/SAMBA_4_0/testprogs/ejs/samr.js


Changeset:
Modified: branches/SAMBA_4_0/testprogs/ejs/samr.js
===================================================================
--- branches/SAMBA_4_0/testprogs/ejs/samr.js	2005-07-08 10:29:18 UTC (rev 8238)
+++ branches/SAMBA_4_0/testprogs/ejs/samr.js	2005-07-08 10:30:50 UTC (rev 8239)
@@ -25,6 +25,16 @@
 }
 
 /*
+  form a lsa_String
+*/
+function lsaString(s)
+{
+	var o = new Object();
+	o.string = s;
+	return o;
+}
+
+/*
   test the samr_Connect interface
 */
 function test_Connect(conn)
@@ -32,7 +42,7 @@
 	var io = irpcObj();
 	print("Testing samr_Connect\n");
 	io.input.system_name = NULL;
-	io.input.access_mask = 0;
+	io.input.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
 	status = dcerpc_samr_Connect(conn, io);
 	check_status_ok(status);
 	return io.output.connect_handle;
@@ -44,13 +54,74 @@
 function test_Close(conn, handle)
 {
 	var io = irpcObj();
-	print("Testing samr_Close\n");
 	io.input.handle = handle;
 	status = dcerpc_samr_Close(conn, io);
 	check_status_ok(status);
 }
 
 /*
+  test the samr_LookupDomain interface
+*/
+function test_LookupDomain(conn, handle, domain)
+{
+	var io = irpcObj();
+	print("Testing samr_LookupDomain\n");
+	io.input.connect_handle = handle;
+	io.input.domain_name = lsaString(domain);
+	status = dcerpc_samr_LookupDomain(conn, io);
+	check_status_ok(status);
+	return io.output.sid;
+}
+
+/*
+  test the samr_OpenDomain interface
+*/
+function test_OpenDomain(conn, handle, sid)
+{
+	var io = irpcObj();
+	print("Testing samr_OpenDomain\n");
+	io.input.connect_handle = handle;
+	io.input.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
+	io.input.sid = sid;
+	status = dcerpc_samr_OpenDomain(conn, io);
+	check_status_ok(status);
+	return io.output.domain_handle;
+}
+
+/*
+  test the samr_EnumDomainUsers interface
+*/
+function test_EnumDomainUsers(conn, dom_handle)
+{
+	var io = irpcObj();
+	print("Testing samr_EnumDomainUsers\n");
+	io.input.domain_handle = dom_handle;
+	io.input.resume_handle = 0;
+	io.input.acct_flags = 0;
+	io.input.max_size = -1;
+	status = dcerpc_samr_EnumDomainUsers(conn, io);
+	check_status_ok(status);
+	print("Found " + io.output.num_entries + " users\n");
+	if (io.output.num_entries == 0) {
+		return;
+	}
+	entries = io.output.sam.entries;
+	for (i=0;i<io.output.num_entries;i++) {
+		print("\t" + entries[i].name.string + "\n");
+	}
+}
+
+/*
+  test domain specific ops
+*/
+function test_domain_ops(conn, dom_handle)
+{
+	test_EnumDomainUsers(conn, dom_handle);
+}
+
+
+
+/*
   test the samr_EnumDomains interface
 */
 function test_EnumDomains(conn, handle)
@@ -59,7 +130,7 @@
 	print("Testing samr_EnumDomains\n");
 	io.input.connect_handle = handle;
 	io.input.resume_handle = 0;
-	io.input.buf_size = 0;
+	io.input.buf_size = -1;
 	status = dcerpc_samr_EnumDomains(conn, io);
 	check_status_ok(status);
 	print("Found " + io.output.num_entries + " domains\n");
@@ -67,6 +138,14 @@
 	for (i=0;i<io.output.num_entries;i++) {
 		print("\t" + entries[i].name.string + "\n");
 	}
+	for (i=0;i<io.output.num_entries;i++) {
+		domain = entries[i].name.string;
+		print("Testing domain " + domain + "\n");
+		sid = test_LookupDomain(conn, handle, domain);
+		dom_handle = test_OpenDomain(conn, handle, sid);
+		test_domain_ops(conn, dom_handle);
+		test_Close(conn, dom_handle);
+	}
 }
 
 



More information about the samba-cvs mailing list