c-ares/domain-search-order-1.6.0.patch

49 lines
1.8 KiB
Diff
Raw Normal View History

2010-06-03 12:52:52 +00:00
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);