[package] firewall: fix udp rules for tcpudp proto rules using src_port and dest_port...
authorcshore <cshore@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 6 Jul 2011 06:26:12 +0000 (06:26 +0000)
committercshore <cshore@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 6 Jul 2011 06:26:12 +0000 (06:26 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27469 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/firewall/files/lib/core_rule.sh

index 64a510d..5538159 100644 (file)
@@ -65,8 +65,15 @@ fw_load_rule() {
        fw_get_negation src_spec '-s' "${rule_src_ip:+$rule_src_ip/$rule_src_ip_prefixlen}"
        fw_get_negation dest_spec '-d' "${rule_dest_ip:+$rule_dest_ip/$rule_dest_ip_prefixlen}"
 
+       local rule_src_port_copy
+       local rule_dest_port_copy
+
        [ "$rule_proto" == "tcpudp" ] && rule_proto="tcp udp"
+       rule_src_port_copy="$rule_src_port"
+       rule_dest_port_copy="$rule_dest_port"
        for rule_proto in $rule_proto; do
+               rule_src_port="$rule_src_port_copy"
+               rule_dest_port="$rule_dest_port_copy"
                fw_get_negation rule_proto '-p' "$rule_proto"
                for rule_src_port in ${rule_src_port:-""}; do
                        fw_get_port_range rule_src_port $rule_src_port