freewrt_1_0
freewrt_2_0
| Line | |
|---|
| 1 | #!/bin/sh
|
|---|
| 2 | [ -z "$1" ] && echo "Error: should be run by udhcpc" && exit 1
|
|---|
| 3 |
|
|---|
| 4 | RESOLV_CONF="/tmp/resolv.conf"
|
|---|
| 5 |
|
|---|
| 6 | hotplug_event() {
|
|---|
| 7 | nvram show 2>&- | grep _proto=dhcp | {
|
|---|
| 8 | while :; do
|
|---|
| 9 | read FOO
|
|---|
| 10 | [ -z "$FOO" ] && break
|
|---|
| 11 | FOO="${FOO%%_*}"
|
|---|
| 12 | [ "$(nvram get ${FOO}_ifname)" = "${interface}" ] || continue
|
|---|
| 13 | env -i ACTION="$1" INTERFACE="${FOO}" PROTO=dhcp /sbin/hotplug iface
|
|---|
| 14 | done
|
|---|
| 15 | }
|
|---|
| 16 | }
|
|---|
| 17 |
|
|---|
| 18 | case "$1" in
|
|---|
| 19 | deconfig)
|
|---|
| 20 | ifconfig $interface 0.0.0.0
|
|---|
| 21 | hotplug_event ifdown
|
|---|
| 22 | ;;
|
|---|
| 23 | renew|bound)
|
|---|
| 24 | ifconfig $interface $ip \
|
|---|
| 25 | netmask ${subnet:-255.255.255.0} \
|
|---|
| 26 | broadcast ${broadcast:-+}
|
|---|
| 27 |
|
|---|
| 28 | if [ -n "$router" ] ; then
|
|---|
| 29 | echo "deleting routers"
|
|---|
| 30 | while route del default gw 0.0.0.0 dev $interface >&- 2>&- ; do :; done
|
|---|
| 31 |
|
|---|
| 32 | for i in $router ; do
|
|---|
| 33 | echo "adding router $i"
|
|---|
| 34 | route add default gw $i dev $interface
|
|---|
| 35 | done
|
|---|
| 36 | fi
|
|---|
| 37 |
|
|---|
| 38 | echo -n > $RESOLV_CONF
|
|---|
| 39 | ${domain:+echo search $domain} >> $RESOLV_CONF
|
|---|
| 40 | for i in $dns ; do
|
|---|
| 41 | echo "adding dns $i"
|
|---|
| 42 | echo "nameserver $i" >> $RESOLV_CONF
|
|---|
| 43 | done
|
|---|
| 44 |
|
|---|
| 45 | hotplug_event ifup
|
|---|
| 46 |
|
|---|
| 47 | # user rules
|
|---|
| 48 | [ -f /etc/udhcpc.user ] && . /etc/udhcpc.user
|
|---|
| 49 | ;;
|
|---|
| 50 | esac
|
|---|
| 51 |
|
|---|
| 52 | exit 0
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.