diff options
Diffstat (limited to 'root/usr/share/udhcpc/default.script')
-rwxr-xr-x | root/usr/share/udhcpc/default.script | 41 |
1 files changed, 36 insertions, 5 deletions
diff --git a/root/usr/share/udhcpc/default.script b/root/usr/share/udhcpc/default.script index f5920ba..87be32d 100755 --- a/root/usr/share/udhcpc/default.script +++ b/root/usr/share/udhcpc/default.script @@ -1,7 +1,38 @@ #!/bin/sh -# Currently, we only dispatch according to command. However, a more -# elaborate system might dispatch by command and interface or do some -# common initialization first, especially if more dhcp event notifications -# are added. +# udhcpc script edited by Tim Riker <Tim@Rikers.org> +# (slightly modified) -exec /usr/share/udhcpc/default.$1 +[ -z "$1" ] && echo "Error: should be run by udhcpc" && exit 1 + +RESOLV_CONF="/tmp/resolv.conf" + +case "$1" in + deconfig) + ifconfig $interface 0.0.0.0 + ;; + + renew|bound) + ifconfig $interface $ip \ + ${broadcast:+broadcast $broadcast} \ + ${subnet:+netmask $subnet} + + if [ -n "$router" ] ; then + echo "deleting routers" + while route del default gw 0.0.0.0 dev $interface ; do + : + done + + for i in $router ; do + 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 + done + ;; +esac +exit 0 |