X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/aa954c1c5dd50c89f91ac2574482ab7c927a3c54..f6b146de59bdcb8a3380fef950688eb9b8b41b31:/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 }