From 01d2acfdb4c4c0349a28a18c5c0da5b960b02791 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Fri, 7 Dec 2007 16:04:17 +0100 Subject: r26335: Specify name_resolve_order to socket code. (This used to be commit b03e5d00110be3f1fe5809dad4eb6ca5cea7463d) --- source4/lib/socket/connect_multi.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'source4/lib/socket/connect_multi.c') diff --git a/source4/lib/socket/connect_multi.c b/source4/lib/socket/connect_multi.c index 6d30141459..58ab673965 100644 --- a/source4/lib/socket/connect_multi.c +++ b/source4/lib/socket/connect_multi.c @@ -38,6 +38,8 @@ struct connect_multi_state { int num_ports; uint16_t *ports; + const char **name_resolve_order; + struct socket_context *sock; uint16_t result_port; @@ -68,6 +70,7 @@ _PUBLIC_ struct composite_context *socket_connect_multi_send( const char *server_address, int num_server_ports, uint16_t *server_ports, + const char **name_resolve_order, struct event_context *event_ctx) { struct composite_context *result; @@ -87,6 +90,7 @@ _PUBLIC_ struct composite_context *socket_connect_multi_send( if (composite_nomem(multi->server_address, result)) goto failed; multi->num_ports = num_server_ports; + multi->name_resolve_order = str_list_copy(multi, name_resolve_order); multi->ports = talloc_array(multi, uint16_t, multi->num_ports); if (composite_nomem(multi->ports, result)) goto failed; @@ -104,7 +108,7 @@ _PUBLIC_ struct composite_context *socket_connect_multi_send( struct composite_context *creq; make_nbt_name_client(&name, server_address); creq = resolve_name_send(&name, result->event_ctx, - lp_name_resolve_order(global_loadparm)); + name_resolve_order); if (composite_nomem(creq, result)) goto failed; composite_continue(result, creq, continue_resolve_name, result); return result; @@ -157,7 +161,8 @@ static void connect_multi_next_socket(struct composite_context *result) talloc_steal(state, state->sock); creq = socket_connect_send(state->sock, NULL, - state->addr, 0, result->event_ctx); + state->addr, 0, multi->name_resolve_order, + result->event_ctx); if (composite_nomem(creq, result)) return; talloc_steal(state, creq); @@ -264,6 +269,7 @@ _PUBLIC_ NTSTATUS socket_connect_multi_recv(struct composite_context *ctx, NTSTATUS socket_connect_multi(TALLOC_CTX *mem_ctx, const char *server_address, int num_server_ports, uint16_t *server_ports, + const char **name_resolve_order, struct event_context *event_ctx, struct socket_context **result, uint16_t *result_port) @@ -271,6 +277,7 @@ NTSTATUS socket_connect_multi(TALLOC_CTX *mem_ctx, struct composite_context *ctx = socket_connect_multi_send(mem_ctx, server_address, num_server_ports, server_ports, + name_resolve_order, event_ctx); return socket_connect_multi_recv(ctx, mem_ctx, result, result_port); } -- cgit