aboutsummaryrefslogtreecommitdiffstats
path: root/package/base-files/default/usr/share/udhcpc/default.script
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2006-04-05 02:09:22 +0000
committerFelix Fietkau <nbd@openwrt.org>2006-04-05 02:09:22 +0000
commite1b417ee76bd97a05854f4304cef3f73e9da633b (patch)
treef5913675e5868c535c007efb3e09a01ce6890287 /package/base-files/default/usr/share/udhcpc/default.script
parent42269e22a8b817e1e6bc2c9cbb2f03df31221458 (diff)
downloadmaster-187ad058-e1b417ee76bd97a05854f4304cef3f73e9da633b.tar.gz
master-187ad058-e1b417ee76bd97a05854f4304cef3f73e9da633b.tar.bz2
master-187ad058-e1b417ee76bd97a05854f4304cef3f73e9da633b.zip
large init script cleanup and merge of whiterussian changes, new dnsmasq config handling
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@3588 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/base-files/default/usr/share/udhcpc/default.script')
-rwxr-xr-xpackage/base-files/default/usr/share/udhcpc/default.script37
1 files changed, 17 insertions, 20 deletions
diff --git a/package/base-files/default/usr/share/udhcpc/default.script b/package/base-files/default/usr/share/udhcpc/default.script
index 42d3eaf0c2..4604648e6b 100755
--- a/package/base-files/default/usr/share/udhcpc/default.script
+++ b/package/base-files/default/usr/share/udhcpc/default.script
@@ -1,18 +1,17 @@
#!/bin/sh
[ -z "$1" ] && echo "Error: should be run by udhcpc" && exit 1
+. /etc/config/network
RESOLV_CONF="/tmp/resolv.conf"
hotplug_event() {
- nvram show 2>&- | grep _proto=dhcp | {
- while :; do
- read FOO
- [ -z "$FOO" ] && break
- FOO="${FOO%%_*}"
- [ "$(nvram get ${FOO}_ifname)" = "${interface}" ] || continue
- env -i ACTION="$1" INTERFACE="${FOO}" PROTO=dhcp /sbin/hotplug iface
- done
- }
+ for ifname in lan wan wifi ${ifnames}; do
+ eval "proto=\"\${${ifname}_proto}\""
+ eval "if=\"\${${ifname}_ifname}\""
+ [ "$proto" = "dhcp" ] || continue
+ [ "$if" = "$interface" ] || continue
+ env -i ACTION="$1" INTERFACE="$ifname" PROTO=dhcp /sbin/hotplug iface
+ done
}
case "$1" in
@@ -26,22 +25,20 @@ case "$1" in
broadcast ${broadcast:-+}
if [ -n "$router" ] ; then
-
- if [ "$router" != "$(route -n | grep '^0.0.0.0' | grep $interface | awk '{ print $2 }')" ] ; then
- while route del default gw 0.0.0.0 dev $interface 2>&- ; do
- echo "removing old default route"
- done
- for i in $router ; do
- route add default gw $i dev $interface
- done
- fi
+ echo "deleting routers"
+ while route del default gw 0.0.0.0 dev $interface >&- 2>&- ; do :; done
+
+ for i in $router ; do
+ echo "adding router $i"
+ route add default gw $i dev $interface
+ done
fi
echo -n > $RESOLV_CONF
${domain:+echo search $domain} >> $RESOLV_CONF
for i in $dns ; do
- echo adding dns $i
- echo nameserver $i >> $RESOLV_CONF
+ echo "adding dns $i"
+ echo "nameserver $i" >> $RESOLV_CONF
done
hotplug_event ifup