--- /etc/net/scripts/functions.orig 2006-04-15 01:02:00 +0300 +++ /etc/net/scripts/functions 2006-04-16 13:42:21 +0300 @@ -4,7 +4,15 @@ [ -s "$optionsfile" ] && . $optionsfile done -DENOISE="egrep ^[^#]" +denoise() +{ + local line + [ -s "$1" ] && cat "$1"| while read line; do + eval "set -u;echo \"$line\"" 2>/dev/null + done|egrep -v '(^#|\$)' +} + +DENOISE="denoise" # Stolen from /etc/init.d/functions and improved. is_yes() --- /etc/net/scripts/config-ipv4.orig 2005-08-10 11:08:40 +0300 +++ /etc/net/scripts/config-ipv4 2006-04-16 12:50:23 +0300 @@ -75,6 +75,10 @@ config_routes_rules() { # setup routes local SRCFILE=`profiled_filename $MYIFACEDIR/ipv4route` + # get available device information + DEVINFO=`$IP addr show dev $NAME` + DEVCONFIG=`echo $DEVINFO|tr ' ' '\n'|awk -v force_mask="$FORCE_NETMASK" -f $SCRIPTDIR/parse.awk` + eval "$DEVCONFIG" [ -s "$SRCFILE" ] && $DENOISE "$SRCFILE" | \ while read FIRST REST; do # If there is no operation, substitute default, otherwise keep. @@ -88,6 +92,12 @@ config_routes_rules() esac print_progress done + + # Unset variables + DEVCONF_UNSET=`echo "$DEVCONFIG"|sed -e 's:^\([^=]*\)=.*:unset \1:'` + eval "$DEVCONF_UNSET" + unset DEVCONF_UNSET + unset DEVCONFIG # Setup rules only after routes are Ok, so that route tables are # already populated when rule starts routing traffic to them.