Blob Blame History Raw
diff -up c-ares-1.6.0/ares_init.3.domain c-ares-1.6.0/ares_init.3
--- c-ares-1.6.0/ares_init.3.domain	2010-06-03 12:53:48.000000000 +0200
+++ c-ares-1.6.0/ares_init.3	2010-06-03 12:54:07.000000000 +0200
@@ -184,6 +184,27 @@ A configuration file could not be read.
 .TP 14
 .B ARES_ENOMEM
 The process's available memory was exhausted.
+.SH NOTES
+When initializing from
+.B /etc/resolv.conf,
+.BR ares_init (3)
+reads the
+.I domain
+and
+.I search
+directives to allow lookups of short names relative to the domains
+specified. The
+.I domain
+and
+.I search
+directives override one another. If more that one instance of either
+.I domain
+or
+.I search
+directives is specified, the last occurence wins. For more information,
+please see the
+.BR resolv.conf (5)
+manual page.
 .SH SEE ALSO
 .BR ares_destroy(3),
 .BR ares_dup(3)
diff -up c-ares-1.6.0/ares_init.c.domain c-ares-1.6.0/ares_init.c
--- c-ares-1.6.0/ares_init.c.domain	2010-06-03 12:53:42.000000000 +0200
+++ c-ares-1.6.0/ares_init.c	2010-06-03 12:54:29.000000000 +0200
@@ -815,11 +815,11 @@ DhcpNameServer
     if (fp) {
       while ((status = ares__read_line(fp, &line, &linesize)) == ARES_SUCCESS)
       {
-        if ((p = try_config(line, "domain")) && channel->ndomains == -1)
+        if ((p = try_config(line, "domain")))
           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")) && channel->ndomains == -1)
+        else if ((p = try_config(line, "search")))
           status = set_search(channel, p);
         else if ((p = try_config(line, "nameserver")) && channel->nservers == -1)
           status = config_nameserver(&servers, &nservers, p);