diff options
Diffstat (limited to 'target/default/target_skeleton/usr/share/udhcpc')
-rwxr-xr-x | target/default/target_skeleton/usr/share/udhcpc/default.script | 61 |
1 files changed, 30 insertions, 31 deletions
diff --git a/target/default/target_skeleton/usr/share/udhcpc/default.script b/target/default/target_skeleton/usr/share/udhcpc/default.script index a52a7f8122..87be32d1ad 100755 --- a/target/default/target_skeleton/usr/share/udhcpc/default.script +++ b/target/default/target_skeleton/usr/share/udhcpc/default.script @@ -1,39 +1,38 @@ #!/bin/sh - # udhcpc script edited by Tim Riker <Tim@Rikers.org> +# (slightly modified) -[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 +[ -z "$1" ] && echo "Error: should be run by udhcpc" && exit 1 -RESOLV_CONF="/etc/resolv.conf" -[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" -[ -n "$subnet" ] && NETMASK="netmask $subnet" +RESOLV_CONF="/tmp/resolv.conf" case "$1" in - deconfig) - /sbin/ifconfig $interface 0.0.0.0 - ;; - - renew|bound) - /sbin/ifconfig $interface $ip $BROADCAST $NETMASK - - 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 - [ -n "$domain" ] && echo search $domain >> $RESOLV_CONF - for i in $dns ; do - echo adding dns $i - echo nameserver $i >> $RESOLV_CONF - done - ;; + 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 |