Changelog for the c-ares project
+* May 11
+- Nico Stappenbelt reported that when processing domain and search lines in
+ the resolv.conf file, the first entry encountered is processed and used as
+ the search list. According to the manual pages for both Linux, Solaris and
+ Tru64, the last entry of either a domain or a search field is used.
+
+ This is now adjusted in the code
+
Version 1.2.0 (April 13, 2004)
* April 2, 2004
return (errno == ENOENT) ? ARES_SUCCESS : ARES_EFILE;
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);
- 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);
int n;
const char *p, *q;
+ if(channel->ndomains != -1) {
+ /* if we already have some domains present, free them first */
+ for(n=0; n < channel->ndomains; n++)
+ free(channel->domains[n]);
+ free(channel->domains);
+ channel->ndomains = -1;
+ }
+
/* Count the domains given. */
n = 0;
p = str;