};
-static NTSTATUS DeleteUser_byname(struct dcerpc_pipe *p, TALLOC_CTX *mem_ctx,
+static NTSTATUS DeleteUser_byname(struct dcerpc_binding_handle *b,
+ TALLOC_CTX *mem_ctx,
struct policy_handle *handle, const char *name)
{
NTSTATUS status;
n.out.rids = &rids;
n.out.types = &types;
- status = dcerpc_samr_LookupNames(p, mem_ctx, &n);
+ status = dcerpc_samr_LookupNames_r(b, mem_ctx, &n);
if (NT_STATUS_IS_OK(status)) {
rid = n.out.rids->ids[0];
} else {
r.in.rid = rid;
r.out.user_handle = &user_handle;
- status = dcerpc_samr_OpenUser(p, mem_ctx, &r);
+ status = dcerpc_samr_OpenUser_r(b, mem_ctx, &r);
if (!NT_STATUS_IS_OK(status)) {
printf("OpenUser(%s) failed - %s\n", name, nt_errstr(status));
return status;
d.in.user_handle = &user_handle;
d.out.user_handle = &user_handle;
- status = dcerpc_samr_DeleteUser(p, mem_ctx, &d);
+ status = dcerpc_samr_DeleteUser_r(b, mem_ctx, &d);
if (!NT_STATUS_IS_OK(status)) {
return status;
}
struct test_join *join;
char *random_pw;
const char *dc_binding = torture_setting_string(torture, "dc_binding", NULL);
+ struct dcerpc_binding_handle *b = NULL;
join = talloc(NULL, struct test_join);
if (join == NULL) {
if (!NT_STATUS_IS_OK(status)) {
return NULL;
}
+ b = join->p->binding_handle;
c.in.system_name = NULL;
c.in.access_mask = SEC_FLAG_MAXIMUM_ALLOWED;
c.out.connect_handle = &handle;
- status = dcerpc_samr_Connect(join->p, join, &c);
+ status = dcerpc_samr_Connect_r(b, join, &c);
if (!NT_STATUS_IS_OK(status)) {
const char *errstr = nt_errstr(status);
if (NT_STATUS_EQUAL(status, NT_STATUS_NET_WRITE_FAULT)) {
l.in.domain_name = &name;
l.out.sid = &sid;
- status = dcerpc_samr_LookupDomain(join->p, join, &l);
+ status = dcerpc_samr_LookupDomain_r(b, join, &l);
if (!NT_STATUS_IS_OK(status)) {
printf("LookupDomain failed - %s\n", nt_errstr(status));
goto failed;
o.in.sid = *l.out.sid;
o.out.domain_handle = &domain_handle;
- status = dcerpc_samr_OpenDomain(join->p, join, &o);
+ status = dcerpc_samr_OpenDomain_r(b, join, &o);
if (!NT_STATUS_IS_OK(status)) {
printf("OpenDomain failed - %s\n", nt_errstr(status));
goto failed;
r.out.access_granted = &access_granted;
r.out.rid = &rid;
- status = dcerpc_samr_CreateUser2(join->p, join, &r);
+ status = dcerpc_samr_CreateUser2_r(b, join, &r);
if (NT_STATUS_EQUAL(status, NT_STATUS_USER_EXISTS)) {
- status = DeleteUser_byname(join->p, join, &domain_handle, name.string);
+ status = DeleteUser_byname(b, join, &domain_handle, name.string);
if (NT_STATUS_IS_OK(status)) {
goto again;
}
pwp.in.user_handle = &join->user_handle;
pwp.out.info = &info;
- status = dcerpc_samr_GetUserPwInfo(join->p, join, &pwp);
+ status = dcerpc_samr_GetUserPwInfo_r(b, join, &pwp);
if (NT_STATUS_IS_OK(status)) {
policy_min_pw_len = pwp.out.info->min_password_length;
}
arcfour_crypt_blob(u.info24.password.data, 516, &session_key);
- status = dcerpc_samr_SetUserInfo(join->p, join, &s);
+ status = dcerpc_samr_SetUserInfo_r(b, join, &s);
if (!NT_STATUS_IS_OK(status)) {
printf("SetUserInfo failed - %s\n", nt_errstr(status));
goto failed;
printf("Resetting ACB flags, force pw change time\n");
- status = dcerpc_samr_SetUserInfo(join->p, join, &s);
+ status = dcerpc_samr_SetUserInfo_r(b, join, &s);
if (!NT_STATUS_IS_OK(status)) {
printf("SetUserInfo failed - %s\n", nt_errstr(status));
goto failed;
"Samba4 torture account created by host %s: %s",
lp_netbios_name(tctx->lp_ctx), timestring(tj, time(NULL)));
- status = dcerpc_samr_SetUserInfo(tj->p, tj, &s);
+ status = dcerpc_samr_SetUserInfo_r(tj->p->binding_handle, tj, &s);
if (!NT_STATUS_IS_OK(status)) {
printf("SetUserInfo (non-critical) failed - %s\n", nt_errstr(status));
}
d.out.user_handle = &join->user_handle;
/* Delete machine account */
- status = dcerpc_samr_DeleteUser(join->p, join, &d);
+ status = dcerpc_samr_DeleteUser_r(join->p->binding_handle, join, &d);
if (!NT_STATUS_IS_OK(status)) {
printf("Delete of machine account %s failed\n",
join->netbios_name);