Michael Wallner fixed this problem: When I set domains in the options
authorDaniel Stenberg <daniel@haxx.se>
Wed, 22 Nov 2006 22:54:41 +0000 (22:54 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Wed, 22 Nov 2006 22:54:41 +0000 (22:54 +0000)
struct, and there are domain/search entries in /etc/resolv.conf, the domains
of the options struct will be overridden.

ares/CHANGES
ares/ares_init.c

index fe2fd6a..bfe2e4a 100644 (file)
@@ -4,6 +4,10 @@
 
 - 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
 
 - Yang Tse removed a couple of potential zero size memory allocations.
index 7246bc4..e32633f 100644 (file)
@@ -592,11 +592,11 @@ DhcpNameServer
       return (errno == ENOENT) ? ARES_SUCCESS : ARES_EFILE;
     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);
       else if ((p = try_config(line, "lookup")) && !channel->lookups)
         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);
       else if ((p = try_config(line, "nameserver")) && channel->nservers == -1)
         status = config_nameserver(&servers, &nservers, p);