When the DHCP server returns more than three DNS servers, all hell breaks loose. On my system, /etc/resolv.conf gets the first three DNS servers listed correctly, and then about a thousand more that have random junk for their IP addresses. ------- Email Received From John Dawson <jdawson> 06/25/99 10:42 -------
The patch I submitted fixes it. I note that my email with the attachment didn't show up here, so just for good measure, I'll paste the patch here too. Binary files pump-0.6.7.orig/pump and pump-0.6.7/pump differ diff -uNr pump-0.6.7.orig/pump.c pump-0.6.7/pump.c --- pump-0.6.7.orig/pump.c Sat May 8 10:27:32 1999 +++ pump-0.6.7/pump.c Fri Jun 25 09:11:50 1999 @@ -446,7 +446,7 @@ switch (option) { case BOOTP_OPTION_DNS: intf->numDns = 0; - for (i = 0; i < length; i += 4) + for (i = 0; i < length && i < sizeof intf->dnsServers; i += 4) memcpy(&intf->dnsServers[intf->numDns++], chptr + i, 4); intf->set |= NETINFO_HAS_DNS; break; Binary files pump-0.6.7.orig/pump.o and pump-0.6.7/pump.o differ
I believe that Erik fixed the problem by discarding all nameservers after the first 3. The resolver code in linux has never used more than the first 3 name servers. Or so I'm told ...
Should be fixed in the errata release.