diff --git a/lib/modules/Protocols.pmod/DNS.pmod b/lib/modules/Protocols.pmod/DNS.pmod index 6001a61e97aa54fccc900471317db3f4862eb885..3a7e855ebd8920cc90629744c1741533bb359c34 100644 --- a/lib/modules/Protocols.pmod/DNS.pmod +++ b/lib/modules/Protocols.pmod/DNS.pmod @@ -278,9 +278,8 @@ class client { if(!server) { string domain; -#if __NT__ - +#if __NT__ domain=get_tcpip_param("Domain"); nameservers = ({ get_tcpip_param("NameServer") }); domains=get_tcpip_param("SearchList") / " "- ({""}); @@ -291,6 +290,10 @@ class client { break; if (!resolv_conf) { + /* FIXME: Is this a good idea? + * Why not just try the fallback? + * /grubba 1999-04-14 + */ throw(({ "Protocols.DNS.client(): No /etc/resolv.conf!\n", backtrace() })); } @@ -308,12 +311,11 @@ class client { { case "domain": // Save domain for later. - domain = rest; + domain = sizeof(rest) && rest; break; case "search": rest = replace(rest, "\t", " "); - foreach(rest / " " - ({""}), string dom) - domains += ({dom}); + domains += ((rest/" ") - ({""})); break; case "nameserver": @@ -327,13 +329,14 @@ class client { } } if (sizeof(rest)) { - nameservers = `+(nameservers, ({ rest })); + nameservers += ({ rest }); } break; } } #endif if (!sizeof(nameservers)) { + /* Try localhost... */ nameservers = ({ "127.0.0.1" }); } if(domain)