summaryrefslogtreecommitdiffstats
path: root/package/busybox/udhcpc.script
diff options
context:
space:
mode:
Diffstat (limited to 'package/busybox/udhcpc.script')
-rwxr-xr-xpackage/busybox/udhcpc.script19
1 files changed, 16 insertions, 3 deletions
diff --git a/package/busybox/udhcpc.script b/package/busybox/udhcpc.script
index f7beb56a0..43742fbd5 100755
--- a/package/busybox/udhcpc.script
+++ b/package/busybox/udhcpc.script
@@ -13,6 +13,13 @@ case "$1" in
/sbin/ifconfig $interface up
/sbin/ifconfig $interface 0.0.0.0
+ # drop info from this interface
+ # resolv.conf may be a symlink to /tmp/, so take care
+ TMPFILE=$(mktemp)
+ grep -vE "# $interface\$" $RESOLV_CONF > $TMPFILE
+ cat $TMPFILE > $RESOLV_CONF
+ rm -f $TMPFILE
+
if [ -x /usr/sbin/avahi-autoipd ]; then
/usr/sbin/avahi-autoipd -k $interface
fi
@@ -41,11 +48,17 @@ case "$1" in
done
fi
- echo -n > $RESOLV_CONF
- [ -n "$domain" ] && echo search $domain >> $RESOLV_CONF
+ # drop info from this interface
+ # resolv.conf may be a symlink to /tmp/, so take care
+ TMPFILE=$(mktemp)
+ grep -vE "# $interface\$" $RESOLV_CONF > $TMPFILE
+ cat $TMPFILE > $RESOLV_CONF
+ rm -f $TMPFILE
+
+ [ -n "$domain" ] && echo "search $domain # $interface" >> $RESOLV_CONF
for i in $dns ; do
echo adding dns $i
- echo nameserver $i >> $RESOLV_CONF
+ echo "nameserver $i # $interface" >> $RESOLV_CONF
done
;;
esac