# HG changeset patch # User Pascal Bellard # Date 1227722576 0 # Node ID b46a95b3d2ee47c16f979ebc3e7ae3342efdab1f # Parent a85ffe1b42a5baeb47e74994dc5affb3895110bc busybox udhcpc/zcip: call /etc/ip*.d scripts diff -r a85ffe1b42a5 -r b46a95b3d2ee busybox/receipt --- a/busybox/receipt Wed Nov 26 11:51:02 2008 +0000 +++ b/busybox/receipt Wed Nov 26 18:02:56 2008 +0000 @@ -61,7 +61,7 @@ mkdir -p $fs/etc/modprobe.d # Udhcpc stuff. mkdir -p $fs/usr/share/udhcpc - cp $src/examples/udhcp/simple.script \ + cp stuff/udhcp.script \ $fs/usr/share/udhcpc/default.script chmod +x $fs/usr/share/udhcpc/default.script # ZeroConf stuff. diff -r a85ffe1b42a5 -r b46a95b3d2ee busybox/stuff/udhcp.script --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/busybox/stuff/udhcp.script Wed Nov 26 18:02:56 2008 +0000 @@ -0,0 +1,46 @@ +#!/bin/sh + +# udhcpc script edited by Tim Riker + +[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 + +RESOLV_CONF="/etc/resolv.conf" +[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" +[ -n "$subnet" ] && NETMASK="netmask $subnet" + +case "$1" in + deconfig) + /sbin/ifconfig $interface 0.0.0.0 + for i in /etc/ipdown.d/*; do + [ -e $i ] && . $i $interface + done + ;; + + 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 + + metric=0 + for i in $router ; do + route add default gw $i dev $interface metric $((metric++)) + 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 + for i in /etc/ipup.d/*; do + [ -e $i ] && . $i $interface $ip $dns + done + ;; +esac + +exit 0 diff -r a85ffe1b42a5 -r b46a95b3d2ee busybox/stuff/zcip.script --- a/busybox/stuff/zcip.script Wed Nov 26 11:51:02 2008 +0000 +++ b/busybox/stuff/zcip.script Wed Nov 26 18:02:56 2008 +0000 @@ -3,7 +3,15 @@ [ "$1" = "init" ] && exit 0 [ -n "$ip" ] || exit 1 case "$1" in -config) exec ifconfig $interface $ip netmask 255.255.0.0 up;; -deconfig) exec ifconfig $interface down;; +config) ifconfig $interface $ip netmask 255.255.0.0 up + for i in /etc/ipup.d/*; do + [ -e $i ] && . $i $interface $ip + done + ;; +deconfig) ifconfig $interface down + for i in /etc/ipdown.d/*; do + [ -e $i ] && . $i $interface + done + ;; *) exit 1;; esac