Module Name: src Committed By: roy Date: Sat Nov 21 07:54:00 UTC 2009
Modified Files: src/usr.sbin/dhcp/clientscript: dhclient-script Log Message: Use resolvconf(8) to manage /etc/resolv.conf To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/usr.sbin/dhcp/clientscript/dhclient-script Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/usr.sbin/dhcp/clientscript/dhclient-script diff -u src/usr.sbin/dhcp/clientscript/dhclient-script:1.12 src/usr.sbin/dhcp/clientscript/dhclient-script:1.13 --- src/usr.sbin/dhcp/clientscript/dhclient-script:1.12 Sun Oct 8 17:09:32 2006 +++ src/usr.sbin/dhcp/clientscript/dhclient-script Sat Nov 21 07:53:59 2009 @@ -1,6 +1,6 @@ #!/bin/sh # -# $NetBSD: dhclient-script,v 1.12 2006/10/08 17:09:32 riz Exp $ +# $NetBSD: dhclient-script,v 1.13 2009/11/21 07:53:59 roy Exp $ ENTERHOOKS=/etc/dhclient-enter-hooks EXITHOOKS=/etc/dhclient-exit-hooks @@ -8,34 +8,39 @@ SIGNATURE="# Created by dhclient from" INTSIG="$SIGNATURE $interface" +echo_resolv_conf() { + echo "$INTSIG" + echo search $new_domain_name + for nameserver in $new_domain_name_servers; do + echo nameserver $nameserver + done +} + make_resolv_conf() { if [ ! -z "$new_domain_name_servers" ]; then - if [ -f $RESOLV ] - then - while read line; do - case $line in - "$SIGNATURE"*) - ;; - *) - mv $RESOLV $RESOLV.save;; - esac - break - done < $RESOLV - fi - echo "$INTSIG" > $RESOLV - if [ ! -z "$new_domain_name" ] - then - echo search $new_domain_name >> $RESOLV + if [ -x /sbin/resolvconf ]; then + echo_resolv_conf | /sbin/resolvconf -a $interface + else + if [ -f $RESOLV ]; then + while read line; do + case $line in + "$SIGNATURE"*) + ;; + *) + mv $RESOLV $RESOLV.save;; + esac + break + done < $RESOLV + fi + echo_resolv_conf > $RESOLV fi - for nameserver in $new_domain_name_servers; do - echo nameserver $nameserver - done >> $RESOLV fi } restore_resolv_conf() { - if [ -f $RESOLV.save -a -f $RESOLV ] - then + if [ -x /sbin/resolvconf ]; then + /sbin/resolvconf -d $interface + elif [ -f $RESOLV.save -a -f $RESOLV ]; then while read line; do case $line in "$INTSIG"*)