prevent zombies from occuring when stdou/stdout are held open
[openwrt.git] / openwrt / target / default / target_skeleton / usr / share / udhcpc / default.script
index a52a7f8..cc94a79 100755 (executable)
@@ -1,39 +1,38 @@
 #!/bin/sh
-
 # udhcpc script edited by Tim Riker <Tim@Rikers.org>
+# (slightly modified for openwrt)
 
-[ -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 \
+                netmask ${subnet:-255.255.255.0} \
+                broadcast ${broadcast:-+}
+
+                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
This page took 0.022822 seconds and 4 git commands to generate.