struct lsa_SidArray sids;
int i;
struct dcerpc_binding_handle *b = p->binding_handle;
+ enum dcerpc_transport_t transport = dcerpc_binding_get_transport(p->binding);
torture_comment(tctx, "\nTesting LookupSids with lots of SIDs\n");
}
}
- if (p->binding->transport == NCACN_NP) {
+ if (transport == NCACN_NP) {
if (!test_LookupSids3_fail(b, tctx, &sids)) {
return false;
}
if (!test_LookupNames4_fail(b, tctx)) {
return false;
}
- } else if (p->binding->transport == NCACN_IP_TCP) {
+ } else if (transport == NCACN_IP_TCP) {
struct lsa_TransNameArray2 names;
names.count = 0;
struct test_join *join = NULL;
struct cli_credentials *machine_creds;
struct dcerpc_binding_handle *b;
+ enum dcerpc_transport_t transport;
status = torture_rpc_connection(tctx, &p, &ndr_table_lsarpc);
if (!NT_STATUS_IS_OK(status)) {
return false;
}
b = p->binding_handle;
+ transport = dcerpc_binding_get_transport(p->binding);
/* Test lsaLookupSids3 and lsaLookupNames4 over tcpip */
- if (p->binding->transport == NCACN_IP_TCP) {
+ if (transport == NCACN_IP_TCP) {
if (!test_OpenPolicy_fail(b, tctx)) {
ret = false;
}
struct dcerpc_pipe *p;
bool ret = true;
struct dcerpc_binding_handle *b;
+ enum dcerpc_transport_t transport;
status = torture_rpc_connection(tctx, &p, &ndr_table_lsarpc);
if (!NT_STATUS_IS_OK(status)) {
return false;
}
b = p->binding_handle;
+ transport = dcerpc_binding_get_transport(p->binding);
- if (p->binding->transport == NCACN_IP_TCP) {
+ if (transport == NCACN_IP_TCP) {
if (!test_GetUserName_fail(b, tctx)) {
ret = false;
}
struct lsa_TransNameArray tnames;
struct lsa_TransNameArray2 tnames2;
struct dcerpc_binding_handle *b = p->binding_handle;
+ enum dcerpc_transport_t transport = dcerpc_binding_get_transport(p->binding);
- if (p->binding->transport != NCACN_NP &&
- p->binding->transport != NCALRPC) {
+ if (transport != NCACN_NP && transport != NCALRPC) {
torture_comment(tctx, "testcase_LookupNames is only available "
"over NCACN_NP or NCALRPC");
return true;
struct lsa_trustdom_state *state =
talloc_get_type_abort(data, struct lsa_trustdom_state);
struct dcerpc_binding_handle *b = p->binding_handle;
+ enum dcerpc_transport_t transport = dcerpc_binding_get_transport(p->binding);
- if (p->binding->transport != NCACN_NP &&
- p->binding->transport != NCALRPC) {
+ if (transport != NCACN_NP && transport != NCALRPC) {
torture_comment(tctx, "testcase_TrustedDomains is only available "
"over NCACN_NP or NCALRPC");
return true;
{
struct policy_handle *handle;
struct dcerpc_binding_handle *b = p->binding_handle;
+ enum dcerpc_transport_t transport = dcerpc_binding_get_transport(p->binding);
- if (p->binding->transport != NCACN_NP &&
- p->binding->transport != NCALRPC) {
+ if (transport != NCACN_NP && transport != NCALRPC) {
torture_skip(tctx, "testcase_Privileges is only available "
"over NCACN_NP or NCALRPC");
}
struct dom_sid *trusted_sid = NULL;
struct dom_sid *sids[NUM_SIDS];
struct dcerpc_binding_handle *b;
+ enum dcerpc_transport_t transport;
status = torture_rpc_connection(torture, &p, &ndr_table_lsarpc);
if (!NT_STATUS_IS_OK(status)) {
torture_fail(torture, "unable to connect to table");
}
b = p->binding_handle;
+ transport = dcerpc_binding_get_transport(p->binding);
- if (p->binding->transport != NCACN_NP &&
- p->binding->transport != NCALRPC) {
+ if (transport != NCACN_NP && transport != NCALRPC) {
torture_comment(torture,
"torture_rpc_lsa_lookup is only available "
"over NCACN_NP or NCALRPC");
const char *dom_sid = "S-1-5-21-1111111111-2222222222-3333333333";
const char *dom_admin_sid;
struct dcerpc_binding_handle *b = p->binding_handle;
+ enum dcerpc_transport_t transport = dcerpc_binding_get_transport(p->binding);
- if (p->binding->transport != NCACN_NP &&
- p->binding->transport != NCALRPC) {
+ if (transport != NCACN_NP && transport != NCALRPC) {
torture_comment(tctx,
"test_LookupSidsReply is only available "
"over NCACN_NP or NCALRPC");
bool ret = true;
const struct ndr_interface_list *l;
struct dcerpc_binding *b;
+ enum dcerpc_transport_t transport;
status = torture_rpc_binding(torture, &b);
if (!NT_STATUS_IS_OK(status)) {
return false;
}
+ transport = dcerpc_binding_get_transport(b);
for (l=ndr_table_list();l;l=l->next) {
loop_ctx = talloc_named(torture, 0, "torture_rpc_scanner loop context");
printf("\nTesting pipe '%s'\n", l->table->name);
- if (b->transport == NCACN_IP_TCP) {
+ if (transport == NCACN_IP_TCP) {
status = dcerpc_epm_map_binding(torture, b, l->table,
torture->ev,
torture->lp_ctx);
"Failed to process schannel secured NETLOGON EX ops");
/* we *MUST* use ncacn_np for openpolicy etc. */
- transport = b->transport;
- b->transport = NCACN_NP;
+ transport = dcerpc_binding_get_transport(b);
+ status = dcerpc_binding_set_transport(b, NCACN_NP);
+ torture_assert_ntstatus_ok(tctx, status, "set transport");
/* Swap the binding details from SAMR to LSARPC */
status = dcerpc_epm_map_binding(tctx, b, &ndr_table_lsarpc, tctx->ev, tctx->lp_ctx);
talloc_free(p_lsa);
p_lsa = NULL;
- b->transport = transport;
-
/* we *MUST* use ncacn_ip_tcp for lookupsids3/lookupnames4 */
- transport = b->transport;
- b->transport = NCACN_IP_TCP;
+ status = dcerpc_binding_set_transport(b, NCACN_IP_TCP);
+ torture_assert_ntstatus_ok(tctx, status, "set transport");
torture_assert_ntstatus_ok(tctx,
dcerpc_epm_map_binding(tctx, b, &ndr_table_lsarpc, tctx->ev, tctx->lp_ctx),
test_many_LookupSids(p_lsa, tctx, NULL),
"LsaLookupSids3 failed!\n");
- b->transport = transport;
+ status = dcerpc_binding_set_transport(b, transport);
+ torture_assert_ntstatus_ok(tctx, status, "set transport");
+
/* Drop the socket, we want to start from scratch */
talloc_free(p);