summaryrefslogtreecommitdiff
path: root/package/firewall/files/uci_firewall.sh
diff options
context:
space:
mode:
authorcyrus <cyrus@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-01-01 13:05:16 +0000
committercyrus <cyrus@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-01-01 13:05:16 +0000
commite1ee5624c292d634183053c23c52ac31c70753b2 (patch)
treeaa0c8d3f87d120f510d22cbcce56657fc43119af /package/firewall/files/uci_firewall.sh
parentafb87b33ca6a84890e9080260df97b14c9104667 (diff)
Unify portrange-support in firewall rule generator
fixes #4404 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@13791 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/firewall/files/uci_firewall.sh')
-rwxr-xr-xpackage/firewall/files/uci_firewall.sh10
1 files changed, 10 insertions, 0 deletions
diff --git a/package/firewall/files/uci_firewall.sh b/package/firewall/files/uci_firewall.sh
index 41b2b5f76c..93259fc962 100755
--- a/package/firewall/files/uci_firewall.sh
+++ b/package/firewall/files/uci_firewall.sh
@@ -217,6 +217,16 @@ fw_rule() {
config_get proto $1 proto
config_get target $1 target
config_get ruleset $1 ruleset
+
+ src_port_first=${src_port%-*}
+ src_port_last=${src_port#*-}
+ [ "$src_port_first" -ne "$src_port_last" ] && { \
+ src_port="$src_port_first:$src_port_last"; }
+
+ dest_port_first=${dest_port%-*}
+ dest_port_last=${dest_port#*-}
+ [ "$dest_port_first" -ne "$dest_port_last" ] && { \
+ dest_port="$dest_port_first:$dest_port_last"; }
ZONE=input
TARGET=$target