Explorar el Código

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

SVN-Revision: 28527
Jo-Philipp Wich hace 14 años
padre
commit
9a61d9e513
Se han modificado 2 ficheros con 11 adiciones y 6 borrados
  1. 1 1
      package/firewall/Makefile
  2. 10 5
      package/firewall/files/lib/fw.sh

+ 1 - 1
package/firewall/Makefile

@@ -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
 

+ 10 - 5
package/firewall/files/lib/fw.sh

@@ -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