summaryrefslogtreecommitdiffstats
path: root/package/base-files
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2007-07-12 21:59:38 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2007-07-12 21:59:38 +0000
commitfa2a6d6883931ef2ea2e6785b5547f0655c72ec7 (patch)
tree3f05fe4fec45dab44c2434e863891b702d8b8c15 /package/base-files
parentcbd05f24b2ec9089865d89aeb9b38f21cfb222d0 (diff)
avoid a race condition that might lead to dnsmasq reading an empty resolv.conf (#2007)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7952 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/base-files')
-rwxr-xr-xpackage/base-files/files/usr/share/udhcpc/default.script7
1 files changed, 4 insertions, 3 deletions
diff --git a/package/base-files/files/usr/share/udhcpc/default.script b/package/base-files/files/usr/share/udhcpc/default.script
index a3a696be7..7ce3d2aa8 100755
--- a/package/base-files/files/usr/share/udhcpc/default.script
+++ b/package/base-files/files/usr/share/udhcpc/default.script
@@ -47,12 +47,13 @@ case "$1" in
}
[ -n "$dns" ] && {
- echo -n > $RESOLV_CONF
- ${domain:+echo search $domain} >> $RESOLV_CONF
+ echo -n > "${RESOLV_CONF}.tmp"
+ ${domain:+echo search $domain} >> "${RESOLV_CONF}.tmp"
for i in $dns ; do
echo "adding dns $i"
- echo "nameserver $i" >> $RESOLV_CONF
+ echo "nameserver $i" >> "${RESOLV_CONF}.tmp"
done
+ mv "${RESOLV_CONF}.tmp" "$RESOLV_CONF"
}
hotplug_event ifup