[SCM] Samba Shared Repository - branch master updated
Stefan Metzmacher
metze at samba.org
Thu Mar 18 05:40:00 MDT 2010
The branch, master has been updated
via fd86c9b... s4:utils/net/drs: make use of dcerpc_binding_handle stubs
via 95cefcf... s4:torture/rpc/browser.c: make use of dcerpc_binding_handle stubs
via 18fa68f... s4:torture/rpc/ntsvcs.c: make use of dcerpc_binding_handle stubs
via 7456df5... s4:torture/rpc/frsapi.c: make use of dcerpc_binding_handle stubs
via 61c62a7... s4:torture/rpc/handles.c: make use of dcerpc_binding_handle stubs
via cef4643... s4:torture/rpc/handles: check the correct last_fault_code
from 6de83ef... s4:dsdb Move rdn_name down the stack
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit fd86c9b6877ab9e416b82d04bc7cfc42af027d74
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Mar 18 10:48:24 2010 +0100
s4:utils/net/drs: make use of dcerpc_binding_handle stubs
metze
commit 95cefcfa4a7da51f11c9662057275830b25555a4
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Mar 18 10:27:41 2010 +0100
s4:torture/rpc/browser.c: make use of dcerpc_binding_handle stubs
metze
commit 18fa68f2597a68699a3f87674663fb8df57453b9
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Mar 18 10:26:43 2010 +0100
s4:torture/rpc/ntsvcs.c: make use of dcerpc_binding_handle stubs
metze
commit 7456df5e75ae383a5ea89578fbc1ef5507771670
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Mar 18 10:24:56 2010 +0100
s4:torture/rpc/frsapi.c: make use of dcerpc_binding_handle stubs
metze
commit 61c62a7fd12efeea91b11762f59aebe6d9652b3f
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Mar 18 09:56:32 2010 +0100
s4:torture/rpc/handles.c: make use of dcerpc_binding_handle stubs
metze
commit cef46436fc89d938780a4bdaea4e654b9a4c01b1
Author: Stefan Metzmacher <metze at samba.org>
Date: Thu Mar 18 09:38:57 2010 +0100
s4:torture/rpc/handles: check the correct last_fault_code
metze
-----------------------------------------------------------------------
Summary of changes:
source4/torture/rpc/browser.c | 17 +++---
source4/torture/rpc/frsapi.c | 40 +++++++-----
source4/torture/rpc/handles.c | 97 +++++++++++++++++------------
source4/torture/rpc/ntsvcs.c | 22 ++++---
source4/utils/net/drs/net_drs.c | 6 +-
source4/utils/net/drs/net_drs.h | 1 +
source4/utils/net/drs/net_drs_kcc.c | 2 +-
source4/utils/net/drs/net_drs_replicate.c | 2 +-
source4/utils/net/drs/net_drs_showrepl.c | 2 +-
9 files changed, 109 insertions(+), 80 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source4/torture/rpc/browser.c b/source4/torture/rpc/browser.c
index c9bb9d7..34eaf52 100644
--- a/source4/torture/rpc/browser.c
+++ b/source4/torture/rpc/browser.c
@@ -26,6 +26,7 @@
bool test_BrowserrQueryOtherDomains(struct torture_context *tctx,
struct dcerpc_pipe *p)
{
+ struct dcerpc_binding_handle *b = p->binding_handle;
struct BrowserrQueryOtherDomains r;
struct BrowserrSrvInfo info;
struct BrowserrSrvInfo100Ctr ctr100;
@@ -53,7 +54,7 @@ bool test_BrowserrQueryOtherDomains(struct torture_context *tctx,
info.level = 100;
info.info.info100 = &ctr100;
- status = dcerpc_BrowserrQueryOtherDomains(p, tctx, &r);
+ status = dcerpc_BrowserrQueryOtherDomains_r(b, tctx, &r);
torture_assert_ntstatus_ok(tctx, status, "BrowserrQueryOtherDomains failed");
torture_assert_werr_ok(tctx, r.out.result, "BrowserrQueryOtherDomains failed");
torture_assert_int_equal(tctx, *r.out.total_entries, 0, "BrowserrQueryOtherDomains");
@@ -62,13 +63,13 @@ bool test_BrowserrQueryOtherDomains(struct torture_context *tctx,
ctr100.entries_read = ARRAY_SIZE(entries100);
ctr100.entries = entries100;
- status = dcerpc_BrowserrQueryOtherDomains(p, tctx, &r);
+ status = dcerpc_BrowserrQueryOtherDomains_r(b, tctx, &r);
torture_assert_ntstatus_ok(tctx, status, "BrowserrQueryOtherDomains failed");
torture_assert_werr_ok(tctx, r.out.result, "BrowserrQueryOtherDomains failed");
torture_assert_int_equal(tctx, *r.out.total_entries, 0, "BrowserrQueryOtherDomains");
info.info.info100 = NULL;
- status = dcerpc_BrowserrQueryOtherDomains(p, tctx, &r);
+ status = dcerpc_BrowserrQueryOtherDomains_r(b, tctx, &r);
torture_assert_ntstatus_ok(tctx, status, "BrowserrQueryOtherDomains failed");
torture_assert_werr_equal(tctx, WERR_INVALID_PARAM, r.out.result,
"BrowserrQueryOtherDomains failed");
@@ -76,7 +77,7 @@ bool test_BrowserrQueryOtherDomains(struct torture_context *tctx,
info.level = 101;
info.info.info101 = &ctr101;
- status = dcerpc_BrowserrQueryOtherDomains(p, tctx, &r);
+ status = dcerpc_BrowserrQueryOtherDomains_r(b, tctx, &r);
torture_assert_ntstatus_ok(tctx, status, "BrowserrQueryOtherDomains failed");
torture_assert_werr_equal(tctx, WERR_UNKNOWN_LEVEL, r.out.result,
"BrowserrQueryOtherDomains");
@@ -85,25 +86,25 @@ bool test_BrowserrQueryOtherDomains(struct torture_context *tctx,
ctr101.entries_read = ARRAY_SIZE(entries101);
ctr101.entries = entries101;
- status = dcerpc_BrowserrQueryOtherDomains(p, tctx, &r);
+ status = dcerpc_BrowserrQueryOtherDomains_r(b, tctx, &r);
torture_assert_ntstatus_ok(tctx, status, "BrowserrQueryOtherDomains failed");
torture_assert_werr_equal(tctx, WERR_UNKNOWN_LEVEL, r.out.result,
"BrowserrQueryOtherDomains");
info.info.info101 = NULL;
- status = dcerpc_BrowserrQueryOtherDomains(p, tctx, &r);
+ status = dcerpc_BrowserrQueryOtherDomains_r(b, tctx, &r);
torture_assert_ntstatus_ok(tctx, status, "BrowserrQueryOtherDomains failed");
torture_assert_werr_equal(tctx, WERR_UNKNOWN_LEVEL, r.out.result,
"BrowserrQueryOtherDomains");
info.level = 102;
- status = dcerpc_BrowserrQueryOtherDomains(p, tctx, &r);
+ status = dcerpc_BrowserrQueryOtherDomains_r(b, tctx, &r);
torture_assert_ntstatus_ok(tctx, status, "BrowserrQueryOtherDomains failed");
torture_assert_werr_equal(tctx, WERR_UNKNOWN_LEVEL, r.out.result,
"BrowserrQueryOtherDomains");
info.level = 0;
- status = dcerpc_BrowserrQueryOtherDomains(p, tctx, &r);
+ status = dcerpc_BrowserrQueryOtherDomains_r(b, tctx, &r);
torture_assert_ntstatus_ok(tctx, status, "BrowserrQueryOtherDomains failed");
torture_assert_werr_equal(tctx, WERR_UNKNOWN_LEVEL, r.out.result,
"BrowserrQueryOtherDomains");
diff --git a/source4/torture/rpc/frsapi.c b/source4/torture/rpc/frsapi.c
index 7834777..74b5f06 100644
--- a/source4/torture/rpc/frsapi.c
+++ b/source4/torture/rpc/frsapi.c
@@ -25,7 +25,7 @@
#include "param/param.h"
static bool test_GetDsPollingIntervalW(struct torture_context *tctx,
- struct dcerpc_pipe *p,
+ struct dcerpc_binding_handle *b,
uint32_t *CurrentInterval,
uint32_t *DsPollingLongInterval,
uint32_t *DsPollingShortInterval)
@@ -39,7 +39,7 @@ static bool test_GetDsPollingIntervalW(struct torture_context *tctx,
r.out.DsPollingShortInterval = DsPollingShortInterval;
torture_assert_ntstatus_ok(tctx,
- dcerpc_frsapi_GetDsPollingIntervalW(p, tctx, &r),
+ dcerpc_frsapi_GetDsPollingIntervalW_r(b, tctx, &r),
"GetDsPollingIntervalW failed");
torture_assert_werr_ok(tctx, r.out.result,
@@ -49,7 +49,7 @@ static bool test_GetDsPollingIntervalW(struct torture_context *tctx,
}
static bool test_SetDsPollingIntervalW(struct torture_context *tctx,
- struct dcerpc_pipe *p,
+ struct dcerpc_binding_handle *b,
uint32_t CurrentInterval,
uint32_t DsPollingLongInterval,
uint32_t DsPollingShortInterval)
@@ -63,7 +63,7 @@ static bool test_SetDsPollingIntervalW(struct torture_context *tctx,
r.in.DsPollingShortInterval = DsPollingShortInterval;
torture_assert_ntstatus_ok(tctx,
- dcerpc_frsapi_SetDsPollingIntervalW(p, tctx, &r),
+ dcerpc_frsapi_SetDsPollingIntervalW_r(b, tctx, &r),
"SetDsPollingIntervalW failed");
torture_assert_werr_ok(tctx, r.out.result,
@@ -75,25 +75,26 @@ static bool test_SetDsPollingIntervalW(struct torture_context *tctx,
static bool test_DsPollingIntervalW(struct torture_context *tctx,
struct dcerpc_pipe *p)
{
+ struct dcerpc_binding_handle *b = p->binding_handle;
uint32_t i1, i2, i3;
uint32_t k1, k2, k3;
- if (!test_GetDsPollingIntervalW(tctx, p, &i1, &i2, &i3)) {
+ if (!test_GetDsPollingIntervalW(tctx, b, &i1, &i2, &i3)) {
return false;
}
- if (!test_SetDsPollingIntervalW(tctx, p, i1, i2, i3)) {
+ if (!test_SetDsPollingIntervalW(tctx, b, i1, i2, i3)) {
return false;
}
k1 = i1;
k2 = k3 = 0;
- if (!test_SetDsPollingIntervalW(tctx, p, k1, k2, k3)) {
+ if (!test_SetDsPollingIntervalW(tctx, b, k1, k2, k3)) {
return false;
}
- if (!test_GetDsPollingIntervalW(tctx, p, &k1, &k2, &k3)) {
+ if (!test_GetDsPollingIntervalW(tctx, b, &k1, &k2, &k3)) {
return false;
}
@@ -105,7 +106,7 @@ static bool test_DsPollingIntervalW(struct torture_context *tctx,
}
static bool test_IsPathReplicated_err(struct torture_context *tctx,
- struct dcerpc_pipe *p,
+ struct dcerpc_binding_handle *b,
const char *path,
uint32_t type,
WERROR werr)
@@ -124,7 +125,7 @@ static bool test_IsPathReplicated_err(struct torture_context *tctx,
r.out.replica_set_guid = &guid;
torture_assert_ntstatus_ok(tctx,
- dcerpc_frsapi_IsPathReplicated(p, tctx, &r),
+ dcerpc_frsapi_IsPathReplicated_r(b, tctx, &r),
"IsPathReplicated failed");
torture_assert_werr_equal(tctx, r.out.result, werr,
@@ -134,16 +135,17 @@ static bool test_IsPathReplicated_err(struct torture_context *tctx,
}
static bool _test_IsPathReplicated(struct torture_context *tctx,
- struct dcerpc_pipe *p,
+ struct dcerpc_binding_handle *b,
const char *path,
uint32_t type)
{
- return test_IsPathReplicated_err(tctx, p, path, type, WERR_OK);
+ return test_IsPathReplicated_err(tctx, b, path, type, WERR_OK);
}
static bool test_IsPathReplicated(struct torture_context *tctx,
struct dcerpc_pipe *p)
{
+ struct dcerpc_binding_handle *b = p->binding_handle;
const uint32_t lvls[] = {
FRSAPI_REPLICA_SET_TYPE_0,
FRSAPI_REPLICA_SET_TYPE_DOMAIN,
@@ -151,13 +153,13 @@ static bool test_IsPathReplicated(struct torture_context *tctx,
int i;
bool ret = true;
- if (!test_IsPathReplicated_err(tctx, p, NULL, 0,
+ if (!test_IsPathReplicated_err(tctx, b, NULL, 0,
WERR_FRS_INVALID_SERVICE_PARAMETER)) {
ret = false;
}
for (i=0; i<ARRAY_SIZE(lvls); i++) {
- if (!_test_IsPathReplicated(tctx, p, dcerpc_server_name(p),
+ if (!_test_IsPathReplicated(tctx, b, dcerpc_server_name(p),
lvls[i])) {
ret = false;
}
@@ -166,13 +168,13 @@ static bool test_IsPathReplicated(struct torture_context *tctx,
for (i=0; i<ARRAY_SIZE(lvls); i++) {
const char *path = talloc_asprintf(tctx, "\\\\%s\\SYSVOL",
dcerpc_server_name(p));
- if (!_test_IsPathReplicated(tctx, p, path, lvls[i])) {
+ if (!_test_IsPathReplicated(tctx, b, path, lvls[i])) {
ret = false;
}
}
for (i=0; i<ARRAY_SIZE(lvls); i++) {
- if (!_test_IsPathReplicated(tctx, p,
+ if (!_test_IsPathReplicated(tctx, b,
"C:\\windows\\sysvol\\domain",
lvls[i])) {
ret = false;
@@ -185,6 +187,7 @@ static bool test_IsPathReplicated(struct torture_context *tctx,
static bool test_ForceReplication(struct torture_context *tctx,
struct dcerpc_pipe *p)
{
+ struct dcerpc_binding_handle *b = p->binding_handle;
struct frsapi_ForceReplication r;
ZERO_STRUCT(r);
@@ -195,7 +198,7 @@ static bool test_ForceReplication(struct torture_context *tctx,
r.in.partner_dns_name = dcerpc_server_name(p);
torture_assert_ntstatus_ok(tctx,
- dcerpc_frsapi_ForceReplication(p, tctx, &r),
+ dcerpc_frsapi_ForceReplication_r(b, tctx, &r),
"ForceReplication failed");
torture_assert_werr_ok(tctx, r.out.result,
@@ -207,6 +210,7 @@ static bool test_ForceReplication(struct torture_context *tctx,
static bool test_InfoW(struct torture_context *tctx,
struct dcerpc_pipe *p)
{
+ struct dcerpc_binding_handle *b = p->binding_handle;
int i;
for (i=0; i<10; i++) {
@@ -230,7 +234,7 @@ static bool test_InfoW(struct torture_context *tctx,
info->blob_len = 0x2c;
torture_assert_ntstatus_ok(tctx,
- dcerpc_frsapi_InfoW(p, tctx, &r),
+ dcerpc_frsapi_InfoW_r(b, tctx, &r),
"InfoW failed");
torture_assert_werr_ok(tctx, r.out.result, "InfoW failed");
diff --git a/source4/torture/rpc/handles.c b/source4/torture/rpc/handles.c
index fa42a6a..ee41ce6 100644
--- a/source4/torture/rpc/handles.c
+++ b/source4/torture/rpc/handles.c
@@ -33,6 +33,7 @@ static bool test_handles_lsa(struct torture_context *torture)
{
NTSTATUS status;
struct dcerpc_pipe *p1, *p2;
+ struct dcerpc_binding_handle *b1, *b2;
struct policy_handle handle;
struct policy_handle handle2;
struct lsa_ObjectAttribute attr;
@@ -46,9 +47,11 @@ static bool test_handles_lsa(struct torture_context *torture)
status = torture_rpc_connection(torture, &p1, &ndr_table_lsarpc);
torture_assert_ntstatus_ok(torture, status, "opening lsa pipe1");
+ b1 = p1->binding_handle;
status = torture_rpc_connection(torture, &p2, &ndr_table_lsarpc);
torture_assert_ntstatus_ok(torture, status, "opening lsa pipe1");
+ b2 = p2->binding_handle;
qos.len = 0;
qos.impersonation_level = 2;
@@ -67,7 +70,7 @@ static bool test_handles_lsa(struct torture_context *torture)
r.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
r.out.handle = &handle;
- status = dcerpc_lsa_OpenPolicy(p1, mem_ctx, &r);
+ status = dcerpc_lsa_OpenPolicy_r(b1, mem_ctx, &r);
if (!NT_STATUS_IS_OK(status)) {
torture_comment(torture, "lsa_OpenPolicy not supported - skipping\n");
talloc_free(mem_ctx);
@@ -77,16 +80,16 @@ static bool test_handles_lsa(struct torture_context *torture)
c.in.handle = &handle;
c.out.handle = &handle2;
- status = dcerpc_lsa_Close(p2, mem_ctx, &c);
+ status = dcerpc_lsa_Close_r(b2, mem_ctx, &c);
torture_assert_ntstatus_equal(torture, status, NT_STATUS_NET_WRITE_FAULT,
"closing policy handle on p2");
torture_assert_int_equal(torture, p2->last_fault_code, DCERPC_FAULT_CONTEXT_MISMATCH,
"closing policy handle on p2");
- status = dcerpc_lsa_Close(p1, mem_ctx, &c);
+ status = dcerpc_lsa_Close_r(b1, mem_ctx, &c);
torture_assert_ntstatus_ok(torture, status, "closing policy handle on p1");
- status = dcerpc_lsa_Close(p1, mem_ctx, &c);
+ status = dcerpc_lsa_Close_r(b1, mem_ctx, &c);
torture_assert_ntstatus_equal(torture, status, NT_STATUS_NET_WRITE_FAULT,
"closing policy handle on p1 again");
torture_assert_int_equal(torture, p1->last_fault_code, DCERPC_FAULT_CONTEXT_MISMATCH,
@@ -101,6 +104,7 @@ static bool test_handles_lsa_shared(struct torture_context *torture)
{
NTSTATUS status;
struct dcerpc_pipe *p1, *p2, *p3, *p4, *p5;
+ struct dcerpc_binding_handle *b1, *b2, *b3, *b4;
struct policy_handle handle;
struct policy_handle handle2;
struct lsa_ObjectAttribute attr;
@@ -119,6 +123,7 @@ static bool test_handles_lsa_shared(struct torture_context *torture)
torture_comment(torture, "connect lsa pipe1\n");
status = torture_rpc_connection(torture, &p1, &ndr_table_lsarpc);
torture_assert_ntstatus_ok(torture, status, "opening lsa pipe1");
+ b1 = p1->binding_handle;
transport = p1->conn->transport.transport;
assoc_group_id = p1->assoc_group_id;
@@ -130,6 +135,7 @@ static bool test_handles_lsa_shared(struct torture_context *torture)
transport,
assoc_group_id);
torture_assert_ntstatus_ok(torture, status, "opening lsa pipe2");
+ b2 = p2->binding_handle;
torture_comment(torture, "got assoc_group_id[0x%08X] for p2\n",
p2->assoc_group_id);
@@ -152,7 +158,7 @@ static bool test_handles_lsa_shared(struct torture_context *torture)
r.out.handle = &handle;
torture_comment(torture, "open lsa policy handle\n");
- status = dcerpc_lsa_OpenPolicy(p1, mem_ctx, &r);
+ status = dcerpc_lsa_OpenPolicy_r(b1, mem_ctx, &r);
if (!NT_STATUS_IS_OK(status)) {
torture_comment(torture, "lsa_OpenPolicy not supported - skipping\n");
talloc_free(mem_ctx);
@@ -167,6 +173,7 @@ static bool test_handles_lsa_shared(struct torture_context *torture)
transport,
assoc_group_id);
torture_assert_ntstatus_ok(torture, status, "opening lsa pipe3");
+ b3 = p3->binding_handle;
qsec.in.handle = &handle;
qsec.in.sec_info = 0;
@@ -178,15 +185,15 @@ static bool test_handles_lsa_shared(struct torture_context *torture)
* use policy handle on all 3 connections
*/
torture_comment(torture, "use the policy handle on p1,p2,p3\n");
- status = dcerpc_lsa_QuerySecurity(p1, mem_ctx, &qsec);
+ status = dcerpc_lsa_QuerySecurity_r(b1, mem_ctx, &qsec);
torture_assert_ntstatus_equal(torture, status, NT_STATUS_OK,
"use policy handle on p1");
- status = dcerpc_lsa_QuerySecurity(p2, mem_ctx, &qsec);
+ status = dcerpc_lsa_QuerySecurity_r(b2, mem_ctx, &qsec);
torture_assert_ntstatus_equal(torture, status, NT_STATUS_OK,
"use policy handle on p2");
- status = dcerpc_lsa_QuerySecurity(p3, mem_ctx, &qsec);
+ status = dcerpc_lsa_QuerySecurity_r(b3, mem_ctx, &qsec);
torture_assert_ntstatus_equal(torture, status, NT_STATUS_OK,
"use policy handle on p3");
@@ -194,33 +201,33 @@ static bool test_handles_lsa_shared(struct torture_context *torture)
* close policy handle on connection 2 and the others get a fault
*/
torture_comment(torture, "close the policy handle on p2 others get a fault\n");
- status = dcerpc_lsa_Close(p2, mem_ctx, &c);
+ status = dcerpc_lsa_Close_r(b2, mem_ctx, &c);
torture_assert_ntstatus_equal(torture, status, NT_STATUS_OK,
"closing policy handle on p2");
- status = dcerpc_lsa_Close(p1, mem_ctx, &c);
+ status = dcerpc_lsa_Close_r(b1, mem_ctx, &c);
torture_assert_ntstatus_equal(torture, status, NT_STATUS_NET_WRITE_FAULT,
"closing policy handle on p1 again");
torture_assert_int_equal(torture, p1->last_fault_code, DCERPC_FAULT_CONTEXT_MISMATCH,
"closing policy handle on p1 again");
- status = dcerpc_lsa_Close(p3, mem_ctx, &c);
+ status = dcerpc_lsa_Close_r(b3, mem_ctx, &c);
torture_assert_ntstatus_equal(torture, status, NT_STATUS_NET_WRITE_FAULT,
"closing policy handle on p3");
- torture_assert_int_equal(torture, p1->last_fault_code, DCERPC_FAULT_CONTEXT_MISMATCH,
+ torture_assert_int_equal(torture, p3->last_fault_code, DCERPC_FAULT_CONTEXT_MISMATCH,
"closing policy handle on p3");
- status = dcerpc_lsa_Close(p2, mem_ctx, &c);
+ status = dcerpc_lsa_Close_r(b2, mem_ctx, &c);
torture_assert_ntstatus_equal(torture, status, NT_STATUS_NET_WRITE_FAULT,
"closing policy handle on p2 again");
- torture_assert_int_equal(torture, p1->last_fault_code, DCERPC_FAULT_CONTEXT_MISMATCH,
+ torture_assert_int_equal(torture, p2->last_fault_code, DCERPC_FAULT_CONTEXT_MISMATCH,
"closing policy handle on p2 again");
/*
* open a new policy handle on p3
*/
torture_comment(torture, "open a new policy handle on p3\n");
- status = dcerpc_lsa_OpenPolicy(p3, mem_ctx, &r);
+ status = dcerpc_lsa_OpenPolicy_r(b3, mem_ctx, &r);
torture_assert_ntstatus_equal(torture, status, NT_STATUS_OK,
"open policy handle on p3");
@@ -228,15 +235,15 @@ static bool test_handles_lsa_shared(struct torture_context *torture)
* use policy handle on all 3 connections
*/
torture_comment(torture, "use the policy handle on p1,p2,p3\n");
- status = dcerpc_lsa_QuerySecurity(p1, mem_ctx, &qsec);
+ status = dcerpc_lsa_QuerySecurity_r(b1, mem_ctx, &qsec);
torture_assert_ntstatus_equal(torture, status, NT_STATUS_OK,
"use policy handle on p1");
- status = dcerpc_lsa_QuerySecurity(p2, mem_ctx, &qsec);
+ status = dcerpc_lsa_QuerySecurity_r(b2, mem_ctx, &qsec);
torture_assert_ntstatus_equal(torture, status, NT_STATUS_OK,
"use policy handle on p2");
- status = dcerpc_lsa_QuerySecurity(p3, mem_ctx, &qsec);
+ status = dcerpc_lsa_QuerySecurity_r(b3, mem_ctx, &qsec);
torture_assert_ntstatus_equal(torture, status, NT_STATUS_OK,
"use policy handle on p3");
@@ -244,37 +251,37 @@ static bool test_handles_lsa_shared(struct torture_context *torture)
* close policy handle on connection 2 and the others get a fault
*/
torture_comment(torture, "close the policy handle on p2 others get a fault\n");
- status = dcerpc_lsa_Close(p2, mem_ctx, &c);
+ status = dcerpc_lsa_Close_r(b2, mem_ctx, &c);
torture_assert_ntstatus_equal(torture, status, NT_STATUS_OK,
"closing policy handle on p2");
- status = dcerpc_lsa_Close(p1, mem_ctx, &c);
+ status = dcerpc_lsa_Close_r(b1, mem_ctx, &c);
torture_assert_ntstatus_equal(torture, status, NT_STATUS_NET_WRITE_FAULT,
"closing policy handle on p1 again");
torture_assert_int_equal(torture, p1->last_fault_code, DCERPC_FAULT_CONTEXT_MISMATCH,
"closing policy handle on p1 again");
- status = dcerpc_lsa_Close(p3, mem_ctx, &c);
+ status = dcerpc_lsa_Close_r(b3, mem_ctx, &c);
torture_assert_ntstatus_equal(torture, status, NT_STATUS_NET_WRITE_FAULT,
"closing policy handle on p3");
- torture_assert_int_equal(torture, p1->last_fault_code, DCERPC_FAULT_CONTEXT_MISMATCH,
+ torture_assert_int_equal(torture, p3->last_fault_code, DCERPC_FAULT_CONTEXT_MISMATCH,
"closing policy handle on p3");
- status = dcerpc_lsa_Close(p2, mem_ctx, &c);
+ status = dcerpc_lsa_Close_r(b2, mem_ctx, &c);
torture_assert_ntstatus_equal(torture, status, NT_STATUS_NET_WRITE_FAULT,
"closing policy handle on p2 again");
- torture_assert_int_equal(torture, p1->last_fault_code, DCERPC_FAULT_CONTEXT_MISMATCH,
+ torture_assert_int_equal(torture, p2->last_fault_code, DCERPC_FAULT_CONTEXT_MISMATCH,
"closing policy handle on p2 again");
/*
* open a new policy handle
*/
torture_comment(torture, "open a new policy handle on p1 and use it\n");
- status = dcerpc_lsa_OpenPolicy(p1, mem_ctx, &r);
+ status = dcerpc_lsa_OpenPolicy_r(b1, mem_ctx, &r);
torture_assert_ntstatus_equal(torture, status, NT_STATUS_OK,
"open 2nd policy handle on p1");
- status = dcerpc_lsa_QuerySecurity(p1, mem_ctx, &qsec);
+ status = dcerpc_lsa_QuerySecurity_r(b1, mem_ctx, &qsec);
torture_assert_ntstatus_equal(torture, status, NT_STATUS_OK,
"QuerySecurity handle on p1");
@@ -287,11 +294,11 @@ static bool test_handles_lsa_shared(struct torture_context *torture)
* and it's still available on p2,p3
*/
torture_comment(torture, "use policy handle on p2,p3\n");
- status = dcerpc_lsa_QuerySecurity(p2, mem_ctx, &qsec);
+ status = dcerpc_lsa_QuerySecurity_r(b2, mem_ctx, &qsec);
torture_assert_ntstatus_equal(torture, status, NT_STATUS_OK,
"QuerySecurity handle on p2 after p1 was disconnected");
- status = dcerpc_lsa_QuerySecurity(p3, mem_ctx, &qsec);
+ status = dcerpc_lsa_QuerySecurity_r(b3, mem_ctx, &qsec);
torture_assert_ntstatus_equal(torture, status, NT_STATUS_OK,
"QuerySecurity handle on p3 after p1 was disconnected");
@@ -304,8 +311,9 @@ static bool test_handles_lsa_shared(struct torture_context *torture)
transport,
assoc_group_id);
torture_assert_ntstatus_ok(torture, status, "opening lsa pipe4");
+ b4 = p4->binding_handle;
- status = dcerpc_lsa_QuerySecurity(p4, mem_ctx, &qsec);
+ status = dcerpc_lsa_QuerySecurity_r(b4, mem_ctx, &qsec);
torture_assert_ntstatus_equal(torture, status, NT_STATUS_OK,
"using policy handle on p4");
@@ -339,6 +347,7 @@ static bool test_handles_samr(struct torture_context *torture)
{
NTSTATUS status;
struct dcerpc_pipe *p1, *p2;
+ struct dcerpc_binding_handle *b1, *b2;
--
Samba Shared Repository
More information about the samba-cvs
mailing list