From 3bf358c4d1016c4c927cc31ab4dcd44130a07967 Mon Sep 17 00:00:00 2001 From: Rafal Szczesniak Date: Thu, 27 Sep 2007 15:51:07 +0000 Subject: r25377: Simplify code a little by employing commonly used functions. rafal (This used to be commit f0be9939cd83d8568d6b7f0540fb73ab530243f7) --- source4/torture/libnet/groupman.c | 112 ++------------------------------------ 1 file changed, 4 insertions(+), 108 deletions(-) (limited to 'source4/torture/libnet/groupman.c') diff --git a/source4/torture/libnet/groupman.c b/source4/torture/libnet/groupman.c index ba8fad89a0..0db89f4960 100644 --- a/source4/torture/libnet/groupman.c +++ b/source4/torture/libnet/groupman.c @@ -24,112 +24,7 @@ #include "libnet/libnet.h" #include "librpc/gen_ndr/ndr_samr_c.h" #include "param/param.h" - - -static BOOL test_opendomain(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, - struct policy_handle *handle, struct lsa_String *domname) -{ - NTSTATUS status; - struct policy_handle h, domain_handle; - struct samr_Connect r1; - struct samr_LookupDomain r2; - struct samr_OpenDomain r3; - - printf("connecting\n"); - - r1.in.system_name = 0; - r1.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED; - r1.out.connect_handle = &h; - - status = dcerpc_samr_Connect(p, mem_ctx, &r1); - if (!NT_STATUS_IS_OK(status)) { - printf("Connect failed - %s\n", nt_errstr(status)); - return False; - } - - r2.in.connect_handle = &h; - r2.in.domain_name = domname; - - printf("domain lookup on %s\n", domname->string); - - status = dcerpc_samr_LookupDomain(p, mem_ctx, &r2); - if (!NT_STATUS_IS_OK(status)) { - printf("LookupDomain failed - %s\n", nt_errstr(status)); - return False; - } - - r3.in.connect_handle = &h; - r3.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED; - r3.in.sid = r2.out.sid; - r3.out.domain_handle = &domain_handle; - - printf("opening domain\n"); - - status = dcerpc_samr_OpenDomain(p, mem_ctx, &r3); - if (!NT_STATUS_IS_OK(status)) { - printf("OpenDomain failed - %s\n", nt_errstr(status)); - return False; - } else { - *handle = domain_handle; - } - - return True; -} - - -static BOOL test_cleanup(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, - struct policy_handle *domain_handle, const char *groupname) -{ - NTSTATUS status; - struct samr_LookupNames r1; - struct samr_OpenGroup r2; - struct samr_DeleteDomainGroup r3; - struct lsa_String names[2]; - uint32_t rid; - struct policy_handle group_handle; - - names[0].string = groupname; - - r1.in.domain_handle = domain_handle; - r1.in.num_names = 1; - r1.in.names = names; - - printf("group account lookup '%s'\n", groupname); - - 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.group_handle = &group_handle; - - printf("opening group account\n"); - - status = dcerpc_samr_OpenGroup(p, mem_ctx, &r2); - if (!NT_STATUS_IS_OK(status)) { - printf("OpenGroup failed - %s\n", nt_errstr(status)); - return False; - } - - r3.in.group_handle = &group_handle; - r3.out.group_handle = &group_handle; - - printf("deleting group account\n"); - - status = dcerpc_samr_DeleteDomainGroup(p, mem_ctx, &r3); - if (!NT_STATUS_IS_OK(status)) { - printf("DeleteGroup failed - %s\n", nt_errstr(status)); - return False; - } - - return True; -} +#include "torture/libnet/utils.h" static BOOL test_groupadd(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx, @@ -161,6 +56,7 @@ BOOL torture_groupadd(struct torture_context *torture) struct dcerpc_pipe *p; struct policy_handle h; struct lsa_String domain_name; + struct dom_sid2 sid; const char *name = TEST_GROUPNAME; TALLOC_CTX *mem_ctx; BOOL ret = True; @@ -176,7 +72,7 @@ BOOL torture_groupadd(struct torture_context *torture) } domain_name.string = lp_workgroup(); - if (!test_opendomain(p, mem_ctx, &h, &domain_name)) { + if (!test_opendomain(p, mem_ctx, &h, &domain_name, &sid)) { ret = False; goto done; } @@ -186,7 +82,7 @@ BOOL torture_groupadd(struct torture_context *torture) goto done; } - if (!test_cleanup(p, mem_ctx, &h, name)) { + if (!test_group_cleanup(p, mem_ctx, &h, name)) { ret = False; goto done; } -- cgit