if ((fd = socket(ns->addr.ss_family, SOCK_DGRAM, IPPROTO_UDP)) == -1) {
send_log(NULL, LOG_WARNING,
"DNS : resolvers '%s': can't create socket for nameserver '%s'.\n",
- ns->resolvers->id, ns->id);
+ ns->counters->pid, ns->id);
return -1;
}
if (connect(fd, (struct sockaddr*)&ns->addr, get_addr_len(&ns->addr)) == -1) {
send_log(NULL, LOG_WARNING,
"DNS : resolvers '%s': can't connect socket for nameserver '%s'.\n",
- ns->resolvers->id, ns->id);
+ ns->counters->id, ns->id);
close(fd);
return -1;
}
return;
}
- resolvers = ns->resolvers;
+ resolvers = ns->parent;
HA_SPIN_LOCK(DNS_LOCK, &resolvers->lock);
/* process all pending input messages */
if ((ns = dgram->owner) == NULL)
return;
- resolvers = ns->resolvers;
+ resolvers = ns->parent;
HA_SPIN_LOCK(DNS_LOCK, &resolvers->lock);
list_for_each_entry(res, &resolvers->resolutions.curr, list) {
dgram->t.sock.fd = -1;
ns->dgram = dgram;
- /* Store the ns counters pointer */
- if (ns->extra_counters) {
- ns->counters = EXTRA_COUNTERS_GET(ns->extra_counters, &dns_stats_module);
- ns->counters->id = ns->id;
- ns->counters->pid = ns->resolvers->id;
- }
}
/* Create the task associated to the resolvers section */
if (strcmp(mod->name, "dns") == 0) {
ns->counters = (struct dns_counters *)ns->extra_counters->data + mod->counters_off[COUNTERS_DNS];
ns->counters->id = ns->id;
- ns->counters->pid = ns->resolvers->id;
+ ns->counters->pid = resolvers->id;
}
}
}
/* the nameservers are linked backward first */
LIST_ADDQ(&curr_resolvers->nameservers, &newnameserver->list);
- newnameserver->resolvers = curr_resolvers;
+ newnameserver->parent = curr_resolvers;
newnameserver->conf.file = strdup(file);
newnameserver->conf.line = linenum;
newnameserver->id = strdup(args[1]);
goto resolv_out;
}
- newnameserver->resolvers = curr_resolvers;
+ newnameserver->parent = curr_resolvers;
newnameserver->conf.line = resolv_linenum;
newnameserver->addr = *sk;