if (tevent_req_nomem(r, req)) {
return;
}
+ r->in.req = talloc_zero(r, union drsuapi_DsReplicaSyncRequest);
+ if (tevent_req_nomem(r, req)) {
+ return;
+ }
r->in.bind_handle = &drsuapi->bind_handle;
r->in.level = 1;
- r->in.req.req1.naming_context = &partition->nc;
- r->in.req.req1.source_dsa_guid = state->op->service->ntds_guid;
- r->in.req.req1.options =
+ r->in.req->req1.naming_context = &partition->nc;
+ r->in.req->req1.source_dsa_guid = state->op->service->ntds_guid;
+ r->in.req->req1.options =
DRSUAPI_DRS_ASYNC_OP |
DRSUAPI_DRS_UPDATE_NOTIFICATION |
DRSUAPI_DRS_WRIT_REP;
if (state->op->is_urgent) {
- r->in.req.req1.options |= DRSUAPI_DRS_SYNC_URGENT;
+ r->in.req->req1.options |= DRSUAPI_DRS_SYNC_URGENT;
}
rreq = dcerpc_drsuapi_DsReplicaSync_send(drsuapi->pipe, r, r);
{
struct dreplsrv_service *service = talloc_get_type(msg->private_data,
struct dreplsrv_service);
- struct GUID *guid = &r->in.req.req1.naming_context->guid;
+ struct GUID *guid = &r->in.req->req1.naming_context->guid;
r->out.result = dreplsrv_schedule_partition_pull_by_guid(service, msg, guid);
if (W_ERROR_IS_OK(r->out.result)) {
struct dcerpc_pipe *p = priv->drs_pipe;
int i;
struct drsuapi_DsReplicaSync r;
+ union drsuapi_DsReplicaSyncRequest sync_req;
struct drsuapi_DsReplicaObjectIdentifier nc;
struct GUID null_guid;
struct dom_sid null_sid;
nc.sid = null_sid;
nc.dn = priv->domain_obj_dn?priv->domain_obj_dn:"";
- r.in.req.req1.naming_context = &nc;
- r.in.req.req1.source_dsa_guid = priv->dcinfo.ntds_guid;
- r.in.req.req1.source_dsa_dns = NULL;
- r.in.req.req1.options = 16;
+ sync_req.req1.naming_context = &nc;
+ sync_req.req1.source_dsa_guid = priv->dcinfo.ntds_guid;
+ sync_req.req1.source_dsa_dns = NULL;
+ sync_req.req1.options = 16;
+
+ r.in.req = &sync_req;
break;
}