struct socket_address *dest;
struct test_join *join_ctx;
struct cli_credentials *machine_credentials;
- const char *dom_sid;
+ const struct dom_sid *dom_sid;
const char *myaddress = talloc_strdup(dgmsock, iface_best_ip(address));
struct nbt_ntlogon_packet logon;
logon.req.logon.user_name = TEST_NAME"$";
logon.req.logon.mailslot_name = dgmslot->mailslot_name;
logon.req.logon.acct_control = ACB_WSTRUST;
- logon.req.logon.sid = *dom_sid_parse_talloc(dgmslot, dom_sid);
+ logon.req.logon.sid = *dom_sid;
logon.req.logon.nt_version = 1;
logon.req.logon.lmnt_token = 0xFFFF;
logon.req.logon.lm20_token = 0xFFFF;
struct dcerpc_pipe *p;
struct policy_handle user_handle;
struct libnet_JoinDomain *libnet_r;
- const char *dom_sid;
+ struct dom_sid *dom_sid;
+ struct dom_sid *user_sid;
};
goto failed;
}
- join->dom_sid = dom_sid_string(join, l.out.sid);
+ talloc_steal(join, l.out.sid);
+ join->dom_sid = l.out.sid;
o.in.connect_handle = &handle;
o.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
goto failed;
}
+ join->user_sid = dom_sid_add_rid(join, join->dom_sid, rid);
+
pwp.in.user_handle = &join->user_handle;
status = dcerpc_samr_GetUserPwInfo(join->p, join, &pwp);
}
tj->p = libnet_r->out.samr_pipe;
tj->user_handle = *libnet_r->out.user_handle;
- tj->dom_sid = dom_sid_string(tj, libnet_r->out.domain_sid);
+ tj->dom_sid = libnet_r->out.domain_sid;
+ talloc_steal(tj, libnet_r->out.domain_sid);
ZERO_STRUCT(u);
s.in.user_handle = &tj->user_handle;
printf("SetUserInfo (non-critical) failed - %s\n", nt_errstr(status));
}
- DEBUG(0, ("%s joined domain %s (%s).\n",
- libnet_r->in.netbios_name,
- libnet_r->out.domain_name,
- tj->dom_sid));
-
*machine_credentials = cli_credentials_init(tj);
cli_credentials_set_conf(*machine_credentials);
cli_credentials_set_workstation(*machine_credentials, machine_name, CRED_SPECIFIED);
/*
return the dom sid for a test join
*/
-const char *torture_join_sid(struct test_join *join)
+const struct dom_sid *torture_join_sid(struct test_join *join)
{
return join->dom_sid;
}