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

SVN-Revision: 28527
This commit is contained in:
Jo-Philipp Wich 2011-10-22 20:11:25 +00:00
parent e0e73928da
commit 9a61d9e513
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