From 78b3ea6c26266ffd095c07aefc94338bb83a700b Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Fri, 8 Jul 2005 10:30:50 +0000 Subject: r8239: - 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 (This used to be commit a929a90ed78ceb00729cc2c20bce6f2f3d34abd6) --- testprogs/ejs/samr.js | 85 +++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 82 insertions(+), 3 deletions(-) (limited to 'testprogs/ejs/samr.js') diff --git a/testprogs/ejs/samr.js b/testprogs/ejs/samr.js index dd3abe0061..fb444fb4b5 100644 --- a/testprogs/ejs/samr.js +++ b/testprogs/ejs/samr.js @@ -24,6 +24,16 @@ function check_status_ok(status) assert(status.is_ok == true); } +/* + form a lsa_String +*/ +function lsaString(s) +{ + var o = new Object(); + o.string = s; + return o; +} + /* test the samr_Connect interface */ @@ -32,7 +42,7 @@ function test_Connect(conn) 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,12 +54,73 @@ function test_Connect(conn) 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