[package] firewall: fix possible expansion of "*" when rules with "option src *" are processed

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28527 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Jo-Philipp Wich 2011-10-22 20:11:25 +00:00
parent 6ee2c2b79c
commit 091d0e2e9d
2 changed files with 11 additions and 6 deletions

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=firewall
PKG_VERSION:=2
PKG_RELEASE:=36
PKG_RELEASE:=37
include $(INCLUDE_DIR)/package.mk

View File

@ -211,12 +211,17 @@ fw_get_family_mode() {
local _mode="$4"
local _ipv4 _ipv6
[ -n "$FW_ZONES4$FW_ZONES6" ] && {
list_contains FW_ZONES4 $_zone && _ipv4=1 || _ipv4=0
list_contains FW_ZONES6 $_zone && _ipv6=1 || _ipv6=0
[ "$_zone" != "*" ] && {
[ -n "$FW_ZONES4$FW_ZONES6" ] && {
list_contains FW_ZONES4 "$_zone" && _ipv4=1 || _ipv4=0
list_contains FW_ZONES6 "$_zone" && _ipv6=1 || _ipv6=0
} || {
_ipv4=$(uci_get_state firewall core "${_zone}_ipv4" 0)
_ipv6=$(uci_get_state firewall core "${_zone}_ipv6" 0)
}
} || {
_ipv4=$(uci_get_state firewall core ${_zone}_ipv4 0)
_ipv6=$(uci_get_state firewall core ${_zone}_ipv6 0)
_ipv4=1
_ipv6=1
}
case "$_hint:$_ipv4:$_ipv6" in