From: cshore <cshore@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Wed, 6 Jul 2011 06:26:12 +0000 (+0000)
Subject: [package] firewall: fix udp rules for tcpudp proto rules using src_port and dest_port... 
X-Git-Url: https://git.rohieb.name/openwrt.git/commitdiff_plain/c56955241ecc1dc609836925fe4059cd938643d7

[package] firewall: fix udp rules for tcpudp proto rules using src_port and dest_port after modification by the parsing of the tcp rule

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27469 3c298f89-4303-0410-b956-a3cf2f4a3e73
---

diff --git a/package/firewall/files/lib/core_rule.sh b/package/firewall/files/lib/core_rule.sh
index 64a510df9..55381598b 100644
--- a/package/firewall/files/lib/core_rule.sh
+++ b/package/firewall/files/lib/core_rule.sh
@@ -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