X-Git-Url: http://git.samba.org/?a=blobdiff_plain;f=source%2Flibrpc%2Frpc%2Fdcerpc_sock.c;h=2e5a8388a1bb977fb5a7e7a9d06631c0799d6480;hb=1455e0b52e8ab4af7ae36ee6df58bfbea352867b;hp=e9c0c96be6cd08d2461c1e68106459159f8584f5;hpb=ff677af3427ee6ac59ef6f15f84258b01bb24a55;p=samba-svnmirror.git diff --git a/source/librpc/rpc/dcerpc_sock.c b/source/librpc/rpc/dcerpc_sock.c index e9c0c96be..2e5a8388a 100644 --- a/source/librpc/rpc/dcerpc_sock.c +++ b/source/librpc/rpc/dcerpc_sock.c @@ -332,7 +332,9 @@ static struct composite_context *dcerpc_pipe_open_socket_send(TALLOC_CTX *mem_ct talloc_steal(s->sock, s->socket_ctx); - conn_req = socket_connect_send(s->socket_ctx, NULL, s->server, 0, c->event_ctx); + conn_req = socket_connect_send(s->socket_ctx, NULL, s->server, 0, + lp_resolve_context(global_loadparm), + c->event_ctx); composite_continue(c, conn_req, continue_socket_connect, c); return c; } @@ -452,7 +454,8 @@ static void continue_ipv4_open_socket(struct composite_context *ctx) struct composite_context* dcerpc_pipe_open_tcp_send(struct dcerpc_connection *conn, const char *server, const char *target_hostname, - uint32_t port) + uint32_t port, + struct resolve_context *resolve_ctx) { struct composite_context *c; struct pipe_tcp_state *s; @@ -478,8 +481,7 @@ struct composite_context* dcerpc_pipe_open_tcp_send(struct dcerpc_connection *co s->conn = conn; make_nbt_name_server(&name, server); - resolve_req = resolve_name_send(&name, c->event_ctx, - lp_name_resolve_order()); + resolve_req = resolve_name_send(resolve_ctx, &name, c->event_ctx); composite_continue(c, resolve_req, continue_ip_resolve_name, c); return c; } @@ -597,6 +599,7 @@ static void continue_np_open_socket(struct composite_context *ctx) Send pipe open request on ncalrpc */ struct composite_context* dcerpc_pipe_open_pipe_send(struct dcerpc_connection *conn, + const char *ncalrpc_dir, const char *identifier) { char *canon = NULL; @@ -619,7 +622,7 @@ struct composite_context* dcerpc_pipe_open_pipe_send(struct dcerpc_connection *c s->conn = conn; string_replace(canon, '/', '\\'); - s->full_path = talloc_asprintf(canon, "%s/%s", lp_ncalrpc_dir(), canon); + s->full_path = talloc_asprintf(canon, "%s/%s", ncalrpc_dir, canon); if (composite_nomem(s->full_path, c)) return c; /* prepare server address using path and transport name */ @@ -648,8 +651,8 @@ NTSTATUS dcerpc_pipe_open_pipe_recv(struct composite_context *c) /* Open a rpc pipe on a named pipe - sync version */ -NTSTATUS dcerpc_pipe_open_pipe(struct dcerpc_connection *conn, const char *identifier) +NTSTATUS dcerpc_pipe_open_pipe(struct dcerpc_connection *conn, const char *ncalrpc_dir, const char *identifier) { - struct composite_context *c = dcerpc_pipe_open_pipe_send(conn, identifier); + struct composite_context *c = dcerpc_pipe_open_pipe_send(conn, ncalrpc_dir, identifier); return dcerpc_pipe_open_pipe_recv(c); }