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;
}
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;
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;
}
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;
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 */
/*
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);
}