From 312627976edac54eaa668cd0f9c1130c605c7818 Mon Sep 17 00:00:00 2001 From: nbd Date: Fri, 16 Jan 2009 17:39:03 +0000 Subject: firewall: allow multiple interfaces to be part of one zone, fix the sanity checks for that git-svn-id: svn://svn.openwrt.org/openwrt/trunk@14058 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/firewall/files/20-firewall | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'package/firewall/files/20-firewall') diff --git a/package/firewall/files/20-firewall b/package/firewall/files/20-firewall index 126fb9bad..38fbb9441 100644 --- a/package/firewall/files/20-firewall +++ b/package/firewall/files/20-firewall @@ -1,8 +1,8 @@ . /lib/firewall/uci_firewall.sh unset ZONE config_get ifname $INTERFACE ifname -INTERFACE=$ifname -[ "$INTERFACE" == "lo" ] && exit 0 +[ "$ifname" == "lo" ] && exit 0 + load_zones() { local name local network @@ -10,11 +10,7 @@ load_zones() { config_get network $1 network [ -z "$network" ] && network=$name for n in $network; do - local ifname - config_get ifname $n ifname - list_contains ifname $INTERFACE && { - list_contains ZONE $name || ZONE="$ZONE $name" - } + [ "$n" = "$INTERFACE" ] && ZONE="$ZONE $name" done } @@ -26,7 +22,7 @@ config_foreach load_zones zone for z in $ZONE; do local loaded config_get loaded core loaded - [ -n "$loaded" ] && addif $INTERFACE $z + [ -n "$loaded" ] && addif "$INTERFACE" "$ifname" "$z" done } @@ -34,6 +30,6 @@ config_foreach load_zones zone for z in $ZONE; do local up config_get up $z up - [ "$up" == "1" ] && delif $INTERFACE $z + [ "$up" == "1" ] && delif "$INTERFACE" "$ifname" "$z" done } -- cgit v1.2.3