diff options
Diffstat (limited to 'testprogs/ejs/samr.js')
-rw-r--r-- | testprogs/ejs/samr.js | 41 |
1 files changed, 37 insertions, 4 deletions
diff --git a/testprogs/ejs/samr.js b/testprogs/ejs/samr.js index fac1cb712e0..dd3abe00613 100644 --- a/testprogs/ejs/samr.js +++ b/testprogs/ejs/samr.js @@ -30,16 +30,47 @@ function check_status_ok(status) function test_Connect(conn) { var io = irpcObj(); - print("Testing samr_Connect\n"); - io.input.system_name = NULL; io.input.access_mask = 0; status = dcerpc_samr_Connect(conn, io); - printVars(io); + check_status_ok(status); + return io.output.connect_handle; +} + +/* + test the samr_Close interface +*/ +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_EnumDomains interface +*/ +function test_EnumDomains(conn, handle) +{ + var io = irpcObj(); + print("Testing samr_EnumDomains\n"); + io.input.connect_handle = handle; + io.input.resume_handle = 0; + io.input.buf_size = 0; + status = dcerpc_samr_EnumDomains(conn, io); + check_status_ok(status); + print("Found " + io.output.num_entries + " domains\n"); + entries = io.output.sam.entries; + for (i=0;i<io.output.num_entries;i++) { + print("\t" + entries[i].name.string + "\n"); + } +} + + + if (ARGV.length == 0) { print("Usage: samr.js <RPCBINDING>\n"); exit(0); @@ -55,6 +86,8 @@ if (status.is_ok != true) { return; } -test_Connect(conn); +handle = test_Connect(conn); +test_EnumDomains(conn, handle); +test_Close(conn, handle); print("All OK\n"); |