Michael Wallner fixed this problem: When I set domains in the options

struct, and there are domain/search entries in /etc/resolv.conf, the domains
of the options struct will be overridden.
This commit is contained in:
Daniel Stenberg 2006-11-22 22:54:41 +00:00
parent abd2775a70
commit 04d5d1895c
2 changed files with 6 additions and 2 deletions

View File

@ -4,6 +4,10 @@
- Install ares_dns.h too - Install ares_dns.h too
- Michael Wallner fixed this problem: When I set domains in the options
struct, and there are domain/search entries in /etc/resolv.conf, the domains
of the options struct will be overridden.
* November 6 * November 6
- Yang Tse removed a couple of potential zero size memory allocations. - Yang Tse removed a couple of potential zero size memory allocations.

View File

@ -592,11 +592,11 @@ DhcpNameServer
return (errno == ENOENT) ? ARES_SUCCESS : ARES_EFILE; return (errno == ENOENT) ? ARES_SUCCESS : ARES_EFILE;
while ((status = ares__read_line(fp, &line, &linesize)) == ARES_SUCCESS) while ((status = ares__read_line(fp, &line, &linesize)) == ARES_SUCCESS)
{ {
if ((p = try_config(line, "domain"))) if ((p = try_config(line, "domain")) && channel->ndomains == -1)
status = config_domain(channel, p); status = config_domain(channel, p);
else if ((p = try_config(line, "lookup")) && !channel->lookups) else if ((p = try_config(line, "lookup")) && !channel->lookups)
status = config_lookup(channel, p, "bind", "file"); status = config_lookup(channel, p, "bind", "file");
else if ((p = try_config(line, "search"))) else if ((p = try_config(line, "search")) && channel->ndomains == -1)
status = set_search(channel, p); status = set_search(channel, p);
else if ((p = try_config(line, "nameserver")) && channel->nservers == -1) else if ((p = try_config(line, "nameserver")) && channel->nservers == -1)
status = config_nameserver(&servers, &nservers, p); status = config_nameserver(&servers, &nservers, p);