struct nbt_name name;
struct composite_context *creq;
make_nbt_name_server(&name, server_address);
- creq = resolve_name_send(resolve_ctx, &name, result->event_ctx);
+ creq = resolve_name_send(resolve_ctx, multi, &name, result->event_ctx);
if (composite_nomem(creq, result)) goto failed;
composite_continue(result, creq, continue_resolve_name, result);
return result;
state->msg_ctx = msg_ctx;
make_nbt_name(&name, state->domain_name, name_type);
- creq = resolve_name_send(resolve_ctx, &name, event_ctx);
+ creq = resolve_name_send(resolve_ctx, state, &name, event_ctx);
composite_continue(c, creq, finddcs_name_resolved, state);
return c;
}
general name resolution - async send
*/
struct composite_context *resolve_name_all_send(struct resolve_context *ctx,
+ TALLOC_CTX *mem_ctx,
uint32_t flags,
uint16_t port,
struct nbt_name *name,
return NULL;
}
- c = composite_create(ctx, event_ctx);
+ c = composite_create(mem_ctx, event_ctx);
if (c == NULL) return NULL;
if (composite_nomem(c->event_ctx, c)) return c;
}
struct composite_context *resolve_name_send(struct resolve_context *ctx,
+ TALLOC_CTX *mem_ctx,
struct nbt_name *name,
struct tevent_context *event_ctx)
{
- return resolve_name_all_send(ctx, 0, 0, name, event_ctx);
+ return resolve_name_all_send(ctx, mem_ctx, 0, 0, name, event_ctx);
}
NTSTATUS resolve_name_recv(struct composite_context *c,
const char **reply_addr,
struct tevent_context *ev)
{
- struct composite_context *c = resolve_name_send(ctx, name, ev);
+ struct composite_context *c = resolve_name_send(ctx, mem_ctx, name, ev);
return resolve_name_recv(c, mem_ctx, reply_addr);
}
ZERO_STRUCT(name);
name.name = host;
- creq = resolve_name_send(resolve_ctx, &name, c->event_ctx);
+ creq = resolve_name_send(resolve_ctx, state, &name, c->event_ctx);
composite_continue(c, creq, continue_resolve, c);
return c;
}
state->stage = CONNECT_RESOLVE;
make_nbt_name_server(&name, io->in.dest_host);
- state->creq = resolve_name_send(resolve_ctx, &name, c->event_ctx);
+ state->creq = resolve_name_send(resolve_ctx, state, &name, c->event_ctx);
if (state->creq == NULL) goto failed;
state->creq->async.private_data = c;
}
/* send resolve request */
- cresolve_req = resolve_name_send(resolve_ctx, &s->hostname, c->event_ctx);
+ cresolve_req = resolve_name_send(resolve_ctx, s, &s->hostname, c->event_ctx);
if (composite_nomem(cresolve_req, c)) return c;
composite_continue(c, cresolve_req, continue_name_resolved, c);
s->resolve_ctx = resolve_ctx;
make_nbt_name_server(&name, server);
- resolve_req = resolve_name_send(resolve_ctx, &name, c->event_ctx);
+ resolve_req = resolve_name_send(resolve_ctx, s, &name, c->event_ctx);
composite_continue(c, resolve_req, continue_ip_resolve_name, c);
return c;
}
if (resolve_ctx == NULL) goto failed;
resolve_context_add_host_method(resolve_ctx);
- creq = resolve_name_send(resolve_ctx, name, iface->nbtsrv->task->event_ctx);
+ creq = resolve_name_send(resolve_ctx, s, name, iface->nbtsrv->task->event_ctx);
if (!creq) goto failed;
creq->async.fn = nbtd_wins_dns_proxy_handler;
if (*state->info->dcs[0].name == '\\') state->info->dcs[0].name++;
make_nbt_name(&name, state->info->dcs[0].name, 0x20);
- ctx = resolve_name_send(lp_resolve_context(state->service->task->lp_ctx),
+ ctx = resolve_name_send(lp_resolve_context(state->service->task->lp_ctx), state,
&name, state->service->task->event_ctx);
composite_continue(state->ctx, ctx, trusted_dom_info_recv_dcaddr,