diff options
author | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-07-12 21:59:38 +0000 |
---|---|---|
committer | nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2007-07-12 21:59:38 +0000 |
commit | fa2a6d6883931ef2ea2e6785b5547f0655c72ec7 (patch) | |
tree | 3f05fe4fec45dab44c2434e863891b702d8b8c15 /package/base-files/files/usr/share/udhcpc | |
parent | cbd05f24b2ec9089865d89aeb9b38f21cfb222d0 (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/files/usr/share/udhcpc')
-rwxr-xr-x | package/base-files/files/usr/share/udhcpc/default.script | 7 |
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 a3a696be70..7ce3d2aa89 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 |