Просмотр исходного кода

firewall: count rules per chain and family, fix wrong order of ip6tables rules when ipv4 only or dual family rules are defined

SVN-Revision: 21533
Jo-Philipp Wich 15 лет назад
Родитель
Сommit
409edb1b8e
1 измененных файлов с 4 добавлено и 4 удалено
  1. 4 4
      package/firewall/files/lib/core_rule.sh

+ 4 - 4
package/firewall/files/lib/core_rule.sh

@@ -29,7 +29,7 @@ fw_load_rule() {
 
 	rule_src_port=$(fw_get_port_range $rule_src_port)
 	rule_dest_port=$(fw_get_port_range $rule_dest_port)
-	
+
 	local chain=input
 	[ -n "$rule_src" ] && {
 		[ -z "$rule_dest" ] && {
@@ -47,11 +47,11 @@ fw_load_rule() {
 		target=zone_${rule_dest}_${target}
 	}
 
-	local rule_pos
-	eval 'rule_pos=$((++FW__RULE_COUNT_'$chain'))'
-
 	local mode=$(fw_get_family_mode ${rule_family:-x} $rule_src I)
 
+	local rule_pos
+	eval 'rule_pos=$((++FW__RULE_COUNT_'$mode'_'$chain'))'
+
 	[ "$rule_proto" == "tcpudp" ] && rule_proto="tcp udp"
 	for rule_proto in $rule_proto; do
 		fw add $mode f $chain $target $rule_pos { $rule_src_ip $rule_dest_ip } { \