summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorhrs <hrs@FreeBSD.org>2011-09-19 15:56:50 +0000
committerhrs <hrs@FreeBSD.org>2011-09-19 15:56:50 +0000
commit1463ae2b35779a93e0c6ff86e13d66fd5c9905dc (patch)
treec31fb71eb32c193a27b6111ccb641c542c946a6f /etc
parent3005eb1de483cac7dd03626c8a83c00e837052fa (diff)
downloadFreeBSD-src-1463ae2b35779a93e0c6ff86e13d66fd5c9905dc.zip
FreeBSD-src-1463ae2b35779a93e0c6ff86e13d66fd5c9905dc.tar.gz
Use resolvconf(8) to create /etc/resolv.conf, not directly overwrite it.
Approved by: re (kib)
Diffstat (limited to 'etc')
-rwxr-xr-xetc/rc.d/resolv14
1 files changed, 7 insertions, 7 deletions
diff --git a/etc/rc.d/resolv b/etc/rc.d/resolv
index c34209c..aa7921f 100755
--- a/etc/rc.d/resolv
+++ b/etc/rc.d/resolv
@@ -28,7 +28,7 @@
#
# PROVIDE: resolv
-# REQUIRE: netif
+# REQUIRE: netif var
# KEYWORD: nojail
. /etc/rc.subr
@@ -41,17 +41,17 @@ load_rc_config $name
# if the info is available via dhcp/kenv
# build the resolv.conf
#
-if [ ! -e /etc/resolv.conf -a \
- -n "`/bin/kenv dhcp.domain-name-servers 2> /dev/null`" ]; then
- > /etc/resolv.conf
-
+if [ -n "`/bin/kenv dhcp.domain-name-servers 2> /dev/null`" ]; then
+ interface="`/bin/kenv boot.netif.name`"
+ (
if [ -n "`/bin/kenv dhcp.domain-name 2> /dev/null`" ]; then
- echo domain `/bin/kenv dhcp.domain-name` > /etc/resolv.conf
+ echo domain `/bin/kenv dhcp.domain-name`
fi
set -- `/bin/kenv dhcp.domain-name-servers`
for ns in `IFS=','; echo $*`; do
- echo nameserver $ns >> /etc/resolv.conf;
+ echo nameserver $ns
done
+ ) | /sbin/resolvconf -a ${interface}:dhcp4
fi
OpenPOWER on IntegriCloud