struct socket_address *my_address,
struct socket_address *server_address,
uint32_t flags,
+ struct resolve_context *resolve_ctx,
struct event_context *event_ctx)
{
struct composite_context *result;
set_blocking(socket_get_fd(sock), false);
- if (server_address->addr && strcmp(sock->backend_name, "ipv4") == 0) {
+ if (resolve_ctx != NULL && server_address->addr && strcmp(sock->backend_name, "ipv4") == 0) {
struct nbt_name name;
struct composite_context *creq;
make_nbt_name_client(&name, server_address->addr);
- creq = resolve_name_send(&name, result->event_ctx,
- lp_name_resolve_order(global_loadparm));
+ creq = resolve_name_send(resolve_ctx, &name, result->event_ctx);
if (composite_nomem(creq, result)) return result;
composite_continue(result, creq, continue_resolve_name, result);
return result;
NTSTATUS socket_connect_ev(struct socket_context *sock,
struct socket_address *my_address,
struct socket_address *server_address,
- uint32_t flags, struct event_context *ev)
+ uint32_t flags, struct resolve_context *resolve_ctx,
+ struct event_context *ev)
{
struct composite_context *ctx;
ctx = socket_connect_send(sock, my_address,
- server_address, flags, ev);
+ server_address, flags, resolve_ctx, ev);
return socket_connect_recv(ctx);
}