From c582f5cf1d94e7c8d3bc8ef63eb4b6e3a6dc1e0f Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sat, 3 Apr 2004 17:21:26 +0000 Subject: added IDL and test for lsa_OpenSecret() (This used to be commit dd95cd141dc63f16e14f4c9392529653084b5a2a) --- source4/torture/rpc/lsa.c | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'source4/torture') diff --git a/source4/torture/rpc/lsa.c b/source4/torture/rpc/lsa.c index f50d189dd2..5aab8b366a 100644 --- a/source4/torture/rpc/lsa.c +++ b/source4/torture/rpc/lsa.c @@ -386,7 +386,9 @@ static BOOL test_CreateSecret(struct dcerpc_pipe *p, { NTSTATUS status; struct lsa_CreateSecret r; - struct policy_handle sec_handle; + struct lsa_OpenSecret r2; + struct policy_handle sec_handle, sec_handle2; + struct lsa_Delete d; printf("Testing CreateSecret\n"); @@ -402,10 +404,30 @@ static BOOL test_CreateSecret(struct dcerpc_pipe *p, return False; } + r2.in.handle = handle; + r2.in.desired_access = SEC_RIGHTS_MAXIMUM_ALLOWED; + init_lsa_Name(&r2.in.name, "torturesecret"); + r2.out.sec_handle = &sec_handle2; + + printf("Testing OpenSecret\n"); + + status = dcerpc_lsa_OpenSecret(p, mem_ctx, &r2); + if (!NT_STATUS_IS_OK(status)) { + printf("OpenSecret failed - %s\n", nt_errstr(status)); + return False; + } + if (!test_Delete(p, mem_ctx, &sec_handle)) { return False; } + d.in.handle = &sec_handle2; + status = dcerpc_lsa_Delete(p, mem_ctx, &d); + if (!NT_STATUS_EQUAL(status, NT_STATUS_INVALID_HANDLE)) { + printf("Second delete expected INVALID_HANDLE - %s\n", nt_errstr(status)); + return False; + } + return True; } -- cgit