Submitted By: Dan Nicholson (dnicholson at linuxfromscratch dot org) Date: 2007-01-14 Initial Package Version: 3.0.5 Origin: Upstream Description: Fixes client fixes issues with always regenerating /etc/resolv.conf whether the DNS server has changed or not. diff -pNur dhcp-3.0.5.orig/client/scripts/linux dhcp-3.0.5/client/scripts/linux --- dhcp-3.0.5.orig/client/scripts/linux 2002-11-14 17:09:09.000000000 -0800 +++ dhcp-3.0.5/client/scripts/linux 2006-12-21 09:41:31.000000000 -0800 @@ -23,12 +23,22 @@ # of the $1 in its args. make_resolv_conf() { - if [ "x$new_domain_name" != x ] && [ x"$new_domain_name_servers" != x ]; then - echo search $new_domain_name >/etc/resolv.conf - chmod 644 /etc/resolv.conf + if [ x"$new_domain_name_servers" != x ]; then + cat /dev/null > /etc/resolv.conf.dhclient + chmod 644 /etc/resolv.conf.dhclient + if [ x"$new_domain_search" != x ]; then + echo search $new_domain_search >> /etc/resolv.conf.dhclient + elif [ x"$new_domain_name" != x ]; then + # Note that the DHCP 'Domain Name Option' is really just a domain + # name, and that this practice of using the domain name option as + # a search path is both nonstandard and deprecated. + echo search $new_domain_name >> /etc/resolv.conf.dhclient + fi for nameserver in $new_domain_name_servers; do - echo nameserver $nameserver >>/etc/resolv.conf + echo nameserver $nameserver >>/etc/resolv.conf.dhclient done + + mv /etc/resolv.conf.dhclient /etc/resolv.conf fi }