The branch, master has been updated via 50cc29b... s4:torture/rpc/lsa*: make use of dcerpc_binding_handle stubs via ba3b9fa... s4:torture/rpc/remote_pac.c: make use of dcerpc_binding_handle stubs from f48fb0d... s3-vfs: fix some buildwarnings in traffic analyzer, there are many more.
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master - Log ----------------------------------------------------------------- commit 50cc29b3cb234f71f7fbbef47fe36bf9d85a313b Author: Stefan Metzmacher <me...@samba.org> Date: Thu Mar 11 12:00:34 2010 +0100 s4:torture/rpc/lsa*: make use of dcerpc_binding_handle stubs metze commit ba3b9fa36b0ffcb2cfcee34dab6d9a544a8cd9fd Author: Stefan Metzmacher <me...@samba.org> Date: Tue Mar 16 11:24:25 2010 +0100 s4:torture/rpc/remote_pac.c: make use of dcerpc_binding_handle stubs metze ----------------------------------------------------------------------- Summary of changes: source4/torture/rpc/alter_context.c | 8 +- source4/torture/rpc/lsa.c | 404 ++++++++++++++++++----------------- source4/torture/rpc/lsa_lookup.c | 57 +++--- source4/torture/rpc/remote_pac.c | 11 +- source4/torture/rpc/samr.c | 4 +- source4/torture/rpc/session_key.c | 15 +- 6 files changed, 258 insertions(+), 241 deletions(-) Changeset truncated at 500 lines: diff --git a/source4/torture/rpc/alter_context.c b/source4/torture/rpc/alter_context.c index cfd56f7..08d938e 100644 --- a/source4/torture/rpc/alter_context.c +++ b/source4/torture/rpc/alter_context.c @@ -38,7 +38,7 @@ bool torture_rpc_alter_context(struct torture_context *torture) status = torture_rpc_connection(torture, &p, &ndr_table_lsarpc); torture_assert_ntstatus_ok(torture, status, "connecting"); - if (!test_lsa_OpenPolicy2(p, torture, &handle)) { + if (!test_lsa_OpenPolicy2(p->binding_handle, torture, &handle)) { ret = false; } @@ -57,7 +57,7 @@ bool torture_rpc_alter_context(struct torture_context *torture) ret &= test_DsRoleGetPrimaryDomainInformation(torture, p2); if (handle) { - ret &= test_lsa_Close(p, torture, handle); + ret &= test_lsa_Close(p->binding_handle, torture, handle); } syntax = p->syntax; @@ -70,10 +70,10 @@ bool torture_rpc_alter_context(struct torture_context *torture) torture_comment(torture, "testing DSSETUP pipe operations - should fault\n"); ret &= test_DsRoleGetPrimaryDomainInformation_ext(torture, p, NT_STATUS_NET_WRITE_FAULT); - ret &= test_lsa_OpenPolicy2(p, torture, &handle); + ret &= test_lsa_OpenPolicy2(p->binding_handle, torture, &handle); if (handle) { - ret &= test_lsa_Close(p, torture, handle); + ret &= test_lsa_Close(p->binding_handle, torture, handle); } torture_comment(torture, "testing DSSETUP pipe operations\n"); diff --git a/source4/torture/rpc/lsa.c b/source4/torture/rpc/lsa.c index e2a4411..4353f4b 100644 --- a/source4/torture/rpc/lsa.c +++ b/source4/torture/rpc/lsa.c @@ -37,7 +37,7 @@ static void init_lsa_String(struct lsa_String *name, const char *s) name->string = s; } -static bool test_OpenPolicy(struct dcerpc_pipe *p, +static bool test_OpenPolicy(struct dcerpc_binding_handle *b, struct torture_context *tctx) { struct lsa_ObjectAttribute attr; @@ -66,7 +66,7 @@ static bool test_OpenPolicy(struct dcerpc_pipe *p, r.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED; r.out.handle = &handle; - status = dcerpc_lsa_OpenPolicy(p, tctx, &r); + status = dcerpc_lsa_OpenPolicy_r(b, tctx, &r); if (!NT_STATUS_IS_OK(status)) { if (NT_STATUS_EQUAL(status, NT_STATUS_ACCESS_DENIED) || NT_STATUS_EQUAL(status, NT_STATUS_RPC_PROTSEQ_NOT_SUPPORTED)) { @@ -81,7 +81,7 @@ static bool test_OpenPolicy(struct dcerpc_pipe *p, } -bool test_lsa_OpenPolicy2(struct dcerpc_pipe *p, +bool test_lsa_OpenPolicy2(struct dcerpc_binding_handle *b, struct torture_context *tctx, struct policy_handle **handle) { @@ -114,7 +114,7 @@ bool test_lsa_OpenPolicy2(struct dcerpc_pipe *p, r.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED; r.out.handle = *handle; - status = dcerpc_lsa_OpenPolicy2(p, tctx, &r); + status = dcerpc_lsa_OpenPolicy2_r(b, tctx, &r); if (!NT_STATUS_IS_OK(status)) { if (NT_STATUS_EQUAL(status, NT_STATUS_ACCESS_DENIED) || NT_STATUS_EQUAL(status, NT_STATUS_RPC_PROTSEQ_NOT_SUPPORTED)) { @@ -148,7 +148,7 @@ static const char *sid_type_lookup(enum lsa_SidType r) return "Invalid sid type\n"; } -static bool test_LookupNames(struct dcerpc_pipe *p, +static bool test_LookupNames(struct dcerpc_binding_handle *b, struct torture_context *tctx, struct policy_handle *handle, struct lsa_TransNameArray *tnames) @@ -181,7 +181,7 @@ static bool test_LookupNames(struct dcerpc_pipe *p, r.out.sids = &sids; r.out.domains = &domains; - status = dcerpc_lsa_LookupNames(p, tctx, &r); + status = dcerpc_lsa_LookupNames_r(b, tctx, &r); if (NT_STATUS_EQUAL(status, STATUS_SOME_UNMAPPED) || NT_STATUS_EQUAL(status, NT_STATUS_NONE_MAPPED)) { @@ -225,7 +225,7 @@ static bool test_LookupNames(struct dcerpc_pipe *p, return true; } -static bool test_LookupNames_bogus(struct dcerpc_pipe *p, +static bool test_LookupNames_bogus(struct dcerpc_binding_handle *b, struct torture_context *tctx, struct policy_handle *handle) { @@ -253,7 +253,7 @@ static bool test_LookupNames_bogus(struct dcerpc_pipe *p, r.out.sids = &sids; r.out.domains = &domains; - status = dcerpc_lsa_LookupNames(p, tctx, &r); + status = dcerpc_lsa_LookupNames_r(b, tctx, &r); if (!NT_STATUS_EQUAL(status, NT_STATUS_NONE_MAPPED)) { torture_comment(tctx, "LookupNames failed - %s\n", nt_errstr(status)); return false; @@ -264,7 +264,7 @@ static bool test_LookupNames_bogus(struct dcerpc_pipe *p, return true; } -static bool test_LookupNames_NULL(struct dcerpc_pipe *p, +static bool test_LookupNames_NULL(struct dcerpc_binding_handle *b, struct torture_context *tctx, struct policy_handle *handle) { @@ -298,7 +298,7 @@ static bool test_LookupNames_NULL(struct dcerpc_pipe *p, * SID_NAME_DOMAIN, rid -1 and sid_index 0 and BUILTIN domain */ - torture_assert_ntstatus_ok(tctx, dcerpc_lsa_LookupNames(p, tctx, &r), + torture_assert_ntstatus_ok(tctx, dcerpc_lsa_LookupNames_r(b, tctx, &r), "LookupNames with NULL name failed"); torture_comment(tctx, "\n"); @@ -306,7 +306,7 @@ static bool test_LookupNames_NULL(struct dcerpc_pipe *p, return true; } -static bool test_LookupNames_wellknown(struct dcerpc_pipe *p, +static bool test_LookupNames_wellknown(struct dcerpc_binding_handle *b, struct torture_context *tctx, struct policy_handle *handle) { @@ -320,43 +320,43 @@ static bool test_LookupNames_wellknown(struct dcerpc_pipe *p, tnames.count = 1; name.name.string = "NT AUTHORITY\\SYSTEM"; name.sid_type = SID_NAME_WKN_GRP; - ret &= test_LookupNames(p, tctx, handle, &tnames); + ret &= test_LookupNames(b, tctx, handle, &tnames); name.name.string = "NT AUTHORITY\\ANONYMOUS LOGON"; name.sid_type = SID_NAME_WKN_GRP; - ret &= test_LookupNames(p, tctx, handle, &tnames); + ret &= test_LookupNames(b, tctx, handle, &tnames); name.name.string = "NT AUTHORITY\\Authenticated Users"; name.sid_type = SID_NAME_WKN_GRP; - ret &= test_LookupNames(p, tctx, handle, &tnames); + ret &= test_LookupNames(b, tctx, handle, &tnames); #if 0 name.name.string = "NT AUTHORITY"; - ret &= test_LookupNames(p, tctx, handle, &tnames); + ret &= test_LookupNames(b, tctx, handle, &tnames); name.name.string = "NT AUTHORITY\\"; - ret &= test_LookupNames(p, tctx, handle, &tnames); + ret &= test_LookupNames(b, tctx, handle, &tnames); #endif name.name.string = "BUILTIN\\"; name.sid_type = SID_NAME_DOMAIN; - ret &= test_LookupNames(p, tctx, handle, &tnames); + ret &= test_LookupNames(b, tctx, handle, &tnames); name.name.string = "BUILTIN\\Administrators"; name.sid_type = SID_NAME_ALIAS; - ret &= test_LookupNames(p, tctx, handle, &tnames); + ret &= test_LookupNames(b, tctx, handle, &tnames); name.name.string = "SYSTEM"; name.sid_type = SID_NAME_WKN_GRP; - ret &= test_LookupNames(p, tctx, handle, &tnames); + ret &= test_LookupNames(b, tctx, handle, &tnames); name.name.string = "Everyone"; name.sid_type = SID_NAME_WKN_GRP; - ret &= test_LookupNames(p, tctx, handle, &tnames); + ret &= test_LookupNames(b, tctx, handle, &tnames); return ret; } -static bool test_LookupNames2(struct dcerpc_pipe *p, +static bool test_LookupNames2(struct dcerpc_binding_handle *b, struct torture_context *tctx, struct policy_handle *handle, struct lsa_TransNameArray2 *tnames, @@ -392,7 +392,7 @@ static bool test_LookupNames2(struct dcerpc_pipe *p, r.out.sids = &sids; r.out.domains = &domains; - status = dcerpc_lsa_LookupNames2(p, tctx, &r); + status = dcerpc_lsa_LookupNames2_r(b, tctx, &r); if (!NT_STATUS_IS_OK(status)) { torture_comment(tctx, "LookupNames2 failed - %s\n", nt_errstr(status)); return false; @@ -412,7 +412,7 @@ static bool test_LookupNames2(struct dcerpc_pipe *p, } -static bool test_LookupNames3(struct dcerpc_pipe *p, +static bool test_LookupNames3(struct dcerpc_binding_handle *b, struct torture_context *tctx, struct policy_handle *handle, struct lsa_TransNameArray2 *tnames, @@ -448,7 +448,7 @@ static bool test_LookupNames3(struct dcerpc_pipe *p, r.out.sids = &sids; r.out.domains = &domains; - status = dcerpc_lsa_LookupNames3(p, tctx, &r); + status = dcerpc_lsa_LookupNames3_r(b, tctx, &r); if (!NT_STATUS_IS_OK(status)) { torture_comment(tctx, "LookupNames3 failed - %s\n", nt_errstr(status)); return false; @@ -467,7 +467,7 @@ static bool test_LookupNames3(struct dcerpc_pipe *p, return true; } -static bool test_LookupNames4(struct dcerpc_pipe *p, +static bool test_LookupNames4(struct dcerpc_binding_handle *b, struct torture_context *tctx, struct lsa_TransNameArray2 *tnames, bool check_result) @@ -501,7 +501,7 @@ static bool test_LookupNames4(struct dcerpc_pipe *p, r.out.sids = &sids; r.out.domains = &domains; - status = dcerpc_lsa_LookupNames4(p, tctx, &r); + status = dcerpc_lsa_LookupNames4_r(b, tctx, &r); if (!NT_STATUS_IS_OK(status)) { torture_comment(tctx, "LookupNames4 failed - %s\n", nt_errstr(status)); return false; @@ -521,7 +521,7 @@ static bool test_LookupNames4(struct dcerpc_pipe *p, } -static bool test_LookupSids(struct dcerpc_pipe *p, +static bool test_LookupSids(struct dcerpc_binding_handle *b, struct torture_context *tctx, struct policy_handle *handle, struct lsa_SidArray *sids) @@ -546,7 +546,7 @@ static bool test_LookupSids(struct dcerpc_pipe *p, r.out.names = &names; r.out.domains = &domains; - status = dcerpc_lsa_LookupSids(p, tctx, &r); + status = dcerpc_lsa_LookupSids_r(b, tctx, &r); if (!NT_STATUS_IS_OK(status)) { torture_comment(tctx, "LookupSids failed - %s\n", nt_errstr(status)); return false; @@ -554,7 +554,7 @@ static bool test_LookupSids(struct dcerpc_pipe *p, torture_comment(tctx, "\n"); - if (!test_LookupNames(p, tctx, handle, &names)) { + if (!test_LookupNames(b, tctx, handle, &names)) { return false; } @@ -562,7 +562,7 @@ static bool test_LookupSids(struct dcerpc_pipe *p, } -static bool test_LookupSids2(struct dcerpc_pipe *p, +static bool test_LookupSids2(struct dcerpc_binding_handle *b, struct torture_context *tctx, struct policy_handle *handle, struct lsa_SidArray *sids) @@ -589,7 +589,7 @@ static bool test_LookupSids2(struct dcerpc_pipe *p, r.out.names = &names; r.out.domains = &domains; - status = dcerpc_lsa_LookupSids2(p, tctx, &r); + status = dcerpc_lsa_LookupSids2_r(b, tctx, &r); if (!NT_STATUS_IS_OK(status)) { torture_comment(tctx, "LookupSids2 failed - %s\n", nt_errstr(status)); return false; @@ -597,18 +597,18 @@ static bool test_LookupSids2(struct dcerpc_pipe *p, torture_comment(tctx, "\n"); - if (!test_LookupNames2(p, tctx, handle, &names, false)) { + if (!test_LookupNames2(b, tctx, handle, &names, false)) { return false; } - if (!test_LookupNames3(p, tctx, handle, &names, false)) { + if (!test_LookupNames3(b, tctx, handle, &names, false)) { return false; } return true; } -static bool test_LookupSids3(struct dcerpc_pipe *p, +static bool test_LookupSids3(struct dcerpc_binding_handle *b, struct torture_context *tctx, struct lsa_SidArray *sids) { @@ -633,7 +633,7 @@ static bool test_LookupSids3(struct dcerpc_pipe *p, r.out.count = &count; r.out.names = &names; - status = dcerpc_lsa_LookupSids3(p, tctx, &r); + status = dcerpc_lsa_LookupSids3_r(b, tctx, &r); if (!NT_STATUS_IS_OK(status)) { if (NT_STATUS_EQUAL(status, NT_STATUS_ACCESS_DENIED) || NT_STATUS_EQUAL(status, NT_STATUS_RPC_PROTSEQ_NOT_SUPPORTED)) { @@ -647,7 +647,7 @@ static bool test_LookupSids3(struct dcerpc_pipe *p, torture_comment(tctx, "\n"); - if (!test_LookupNames4(p, tctx, &names, false)) { + if (!test_LookupNames4(b, tctx, &names, false)) { return false; } @@ -662,6 +662,7 @@ bool test_many_LookupSids(struct dcerpc_pipe *p, NTSTATUS status; struct lsa_SidArray sids; int i; + struct dcerpc_binding_handle *b = p->binding_handle; torture_comment(tctx, "\nTesting LookupSids with lots of SIDs\n"); @@ -692,7 +693,7 @@ bool test_many_LookupSids(struct dcerpc_pipe *p, r.out.names = &names; r.out.domains = &domains; - status = dcerpc_lsa_LookupSids(p, tctx, &r); + status = dcerpc_lsa_LookupSids_r(b, tctx, &r); if (!NT_STATUS_IS_OK(status)) { torture_comment(tctx, "LookupSids failed - %s\n", nt_errstr(status)); return false; @@ -700,7 +701,7 @@ bool test_many_LookupSids(struct dcerpc_pipe *p, torture_comment(tctx, "\n"); - if (!test_LookupNames(p, tctx, handle, &names)) { + if (!test_LookupNames(b, tctx, handle, &names)) { return false; } } else if (p->conn->security_state.auth_info->auth_type == DCERPC_AUTH_TYPE_SCHANNEL && @@ -724,7 +725,7 @@ bool test_many_LookupSids(struct dcerpc_pipe *p, r.out.names = &names; r.out.domains = &domains; - status = dcerpc_lsa_LookupSids3(p, tctx, &r); + status = dcerpc_lsa_LookupSids3_r(b, tctx, &r); if (!NT_STATUS_IS_OK(status)) { if (NT_STATUS_EQUAL(status, NT_STATUS_ACCESS_DENIED) || NT_STATUS_EQUAL(status, NT_STATUS_RPC_PROTSEQ_NOT_SUPPORTED)) { @@ -735,7 +736,7 @@ bool test_many_LookupSids(struct dcerpc_pipe *p, nt_errstr(status)); return false; } - if (!test_LookupNames4(p, tctx, &names, false)) { + if (!test_LookupNames4(b, tctx, &names, false)) { return false; } } @@ -764,7 +765,7 @@ static void lookupsids_cb(struct tevent_req *subreq) } } -static bool test_LookupSids_async(struct dcerpc_pipe *p, +static bool test_LookupSids_async(struct dcerpc_binding_handle *b, struct torture_context *tctx, struct policy_handle *handle) { @@ -807,7 +808,7 @@ static bool test_LookupSids_async(struct dcerpc_pipe *p, r[i].out.names = &names[i]; r[i].out.domains = &domains; - req[i] = dcerpc_lsa_LookupSids_r_send(tctx, tctx->ev, p->binding_handle, &r[i]); + req[i] = dcerpc_lsa_LookupSids_r_send(tctx, tctx->ev, b, &r[i]); if (req[i] == NULL) { ret = false; break; @@ -817,7 +818,7 @@ static bool test_LookupSids_async(struct dcerpc_pipe *p, } while (replies >= 0 && replies < num_async_requests) { - event_loop_once(p->conn->event_ctx); + event_loop_once(tctx->ev); } talloc_free(req); @@ -829,7 +830,7 @@ static bool test_LookupSids_async(struct dcerpc_pipe *p, return ret; } -static bool test_LookupPrivValue(struct dcerpc_pipe *p, +static bool test_LookupPrivValue(struct dcerpc_binding_handle *b, struct torture_context *tctx, struct policy_handle *handle, struct lsa_String *name) @@ -842,7 +843,7 @@ static bool test_LookupPrivValue(struct dcerpc_pipe *p, r.in.name = name; r.out.luid = &luid; - status = dcerpc_lsa_LookupPrivValue(p, tctx, &r); + status = dcerpc_lsa_LookupPrivValue_r(b, tctx, &r); if (!NT_STATUS_IS_OK(status)) { torture_comment(tctx, "\nLookupPrivValue failed - %s\n", nt_errstr(status)); return false; @@ -851,7 +852,7 @@ static bool test_LookupPrivValue(struct dcerpc_pipe *p, return true; } -static bool test_LookupPrivName(struct dcerpc_pipe *p, +static bool test_LookupPrivName(struct dcerpc_binding_handle *b, struct torture_context *tctx, struct policy_handle *handle, struct lsa_LUID *luid) @@ -864,7 +865,7 @@ static bool test_LookupPrivName(struct dcerpc_pipe *p, r.in.luid = luid; r.out.name = &name; - status = dcerpc_lsa_LookupPrivName(p, tctx, &r); + status = dcerpc_lsa_LookupPrivName_r(b, tctx, &r); if (!NT_STATUS_IS_OK(status)) { torture_comment(tctx, "\nLookupPrivName failed - %s\n", nt_errstr(status)); return false; @@ -873,7 +874,7 @@ static bool test_LookupPrivName(struct dcerpc_pipe *p, return true; } -static bool test_RemovePrivilegesFromAccount(struct dcerpc_pipe *p, +static bool test_RemovePrivilegesFromAccount(struct dcerpc_binding_handle *b, struct torture_context *tctx, struct policy_handle *handle, struct policy_handle *acct_handle, @@ -896,7 +897,7 @@ static bool test_RemovePrivilegesFromAccount(struct dcerpc_pipe *p, privs.set[0].luid = *luid; privs.set[0].attribute = 0; - status = dcerpc_lsa_RemovePrivilegesFromAccount(p, tctx, &r); + status = dcerpc_lsa_RemovePrivilegesFromAccount_r(b, tctx, &r); if (!NT_STATUS_IS_OK(status)) { struct lsa_LookupPrivName r_name; @@ -906,7 +907,7 @@ static bool test_RemovePrivilegesFromAccount(struct dcerpc_pipe *p, r_name.in.luid = luid; r_name.out.name = &name; - status = dcerpc_lsa_LookupPrivName(p, tctx, &r_name); + status = dcerpc_lsa_LookupPrivName_r(b, tctx, &r_name); if (!NT_STATUS_IS_OK(status)) { torture_comment(tctx, "\nLookupPrivName failed - %s\n", nt_errstr(status)); return false; @@ -925,7 +926,7 @@ static bool test_RemovePrivilegesFromAccount(struct dcerpc_pipe *p, return ret; } -static bool test_AddPrivilegesToAccount(struct dcerpc_pipe *p, +static bool test_AddPrivilegesToAccount(struct dcerpc_binding_handle *b, struct torture_context *tctx, struct policy_handle *acct_handle, struct lsa_LUID *luid) @@ -946,7 +947,7 @@ static bool test_AddPrivilegesToAccount(struct dcerpc_pipe *p, privs.set[0].luid = *luid; privs.set[0].attribute = 0; - status = dcerpc_lsa_AddPrivilegesToAccount(p, tctx, &r); + status = dcerpc_lsa_AddPrivilegesToAccount_r(b, tctx, &r); if (!NT_STATUS_IS_OK(status)) { torture_comment(tctx, "AddPrivilegesToAccount failed - %s\n", nt_errstr(status)); return false; @@ -955,7 +956,7 @@ static bool test_AddPrivilegesToAccount(struct dcerpc_pipe *p, return ret; } -static bool test_EnumPrivsAccount(struct dcerpc_pipe *p, +static bool test_EnumPrivsAccount(struct dcerpc_binding_handle *b, struct torture_context *tctx, struct policy_handle *handle, struct policy_handle *acct_handle) @@ -970,7 +971,7 @@ static bool test_EnumPrivsAccount(struct dcerpc_pipe *p, r.in.handle = acct_handle; r.out.privs = &privs; - status = dcerpc_lsa_EnumPrivsAccount(p, tctx, &r); + status = dcerpc_lsa_EnumPrivsAccount_r(b, tctx, &r); if (!NT_STATUS_IS_OK(status)) { torture_comment(tctx, "EnumPrivsAccount failed - %s\n", nt_errstr(status)); return false; @@ -979,20 +980,20 @@ static bool test_EnumPrivsAccount(struct dcerpc_pipe *p, if (privs && privs->count > 0) { int i; for (i=0;i<privs->count;i++) { - test_LookupPrivName(p, tctx, handle, + test_LookupPrivName(b, tctx, handle, &privs->set[i].luid); } -- Samba Shared Repository