r8939: Do an open domain in the schannel SAMR test. This should test some of
authorAndrew Bartlett <abartlet@samba.org>
Tue, 2 Aug 2005 20:08:23 +0000 (20:08 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:30:59 +0000 (13:30 -0500)
the win2k3 SP1 interactions.

Andrew Bartlett
(This used to be commit ebd96e68d6d7f92b781df0c43970e0dab4a30d6e)

source4/torture/rpc/schannel.c

index 164da6ceefeb32078db82703dd52fa6e97fdb406..580c6f57eb1588ef3b54714a2c94d02fcc3c4a28 100644 (file)
@@ -34,12 +34,39 @@ static BOOL test_samr_ops(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx)
 {
        NTSTATUS status;
        struct samr_GetDomPwInfo r;
+       struct samr_Connect connect;
+       struct samr_OpenDomain opendom;
        int i;
        struct lsa_String name;
+       struct policy_handle handle;
+       struct policy_handle domain_handle;
 
        name.string = lp_workgroup();
        r.in.domain_name = &name;
 
+       connect.in.system_name = 0;
+       connect.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
+       connect.out.connect_handle = &handle;
+       
+       printf("Testing Connect and OpenDomain on BUILTIN\n");
+
+       status = dcerpc_samr_Connect(p, mem_ctx, &connect);
+       if (!NT_STATUS_IS_OK(status)) {
+               printf("Connect failed - %s\n", nt_errstr(status));
+               return False;
+       }
+
+       opendom.in.connect_handle = &handle;
+       opendom.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
+       opendom.in.sid = dom_sid_parse_talloc(mem_ctx, "S-1-5-32");
+       opendom.out.domain_handle = &domain_handle;
+
+       status = dcerpc_samr_OpenDomain(p, mem_ctx, &opendom);
+       if (!NT_STATUS_IS_OK(status)) {
+               printf("OpenDomain failed - %s\n", nt_errstr(status));
+               return False;
+       }
+
        printf("Testing GetDomPwInfo with name %s\n", r.in.domain_name->string);
        
        /* do several ops to test credential chaining */