struct composite_context);
struct nbtlist_state *state = talloc_get_type(c->private_data, struct nbtlist_state);
struct nbt_name_query *q;
+ struct interface *ifaces;
int i;
for (i=0;i<state->num_queries;i++) {
}
/* favor a local address if possible */
+ load_interfaces(lp_interfaces(global_loadparm), &ifaces);
state->reply_addr = NULL;
for (i=0;i<q->out.num_addrs;i++) {
- if (iface_is_local(q->out.reply_addrs[i])) {
+ if (iface_is_local(ifaces, q->out.reply_addrs[i])) {
state->reply_addr = talloc_steal(state,
q->out.reply_addrs[i]);
break;
struct event_context *event_ctx,
struct nbt_name *name,
const char **address_list,
- BOOL broadcast,
- BOOL wins_lookup)
+ bool broadcast,
+ bool wins_lookup)
{
struct composite_context *c;
struct nbtlist_state *state;
for (i=0;i<state->num_queries;i++) {
state->io_queries[i].in.name = state->name;
state->io_queries[i].in.dest_addr = talloc_strdup(state->io_queries, address_list[i]);
+ state->io_queries[i].in.dest_port = lp_nbt_port(global_loadparm);
if (composite_nomem(state->io_queries[i].in.dest_addr, c)) return c;
state->io_queries[i].in.broadcast = broadcast;
state->io_queries[i].in.wins_lookup = wins_lookup;
- state->io_queries[i].in.timeout = lp_parm_int(NULL, "nbt", "timeout", 1);
+ state->io_queries[i].in.timeout = lp_parm_int(global_loadparm, NULL, "nbt", "timeout", 1);
state->io_queries[i].in.retries = 2;
state->queries[i] = nbt_name_query_send(state->nbtsock, &state->io_queries[i]);
NTSTATUS resolve_name_nbtlist(struct nbt_name *name,
TALLOC_CTX *mem_ctx,
const char **address_list,
- BOOL broadcast, BOOL wins_lookup,
+ bool broadcast, bool wins_lookup,
const char **reply_addr)
{
struct composite_context *c = resolve_name_nbtlist_send(mem_ctx, NULL, name, address_list,