summaryrefslogtreecommitdiff
path: root/package/firewall/files/uci_firewall.sh
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2010-03-02 11:02:24 +0000
committerJo-Philipp Wich <jow@openwrt.org>2010-03-02 11:02:24 +0000
commitf96ecd026d6c8fdb48d1eaec71838193559850a0 (patch)
tree907ce2c0aa0d1d6d1c241ed530ce3dcd0052cdf6 /package/firewall/files/uci_firewall.sh
parentb3f90f939bff33fcfd980b16d9a5d63c20f55e5c (diff)
downloadmtk-20170518-f96ecd026d6c8fdb48d1eaec71838193559850a0.zip
mtk-20170518-f96ecd026d6c8fdb48d1eaec71838193559850a0.tar.gz
mtk-20170518-f96ecd026d6c8fdb48d1eaec71838193559850a0.tar.bz2
firewall: insert rules at the beginning of chains again while maintaining non reversed order, fixes wrong ordering introduced by r18015
SVN-Revision: 19946
Diffstat (limited to 'package/firewall/files/uci_firewall.sh')
-rwxr-xr-xpackage/firewall/files/uci_firewall.sh5
1 files changed, 4 insertions, 1 deletions
diff --git a/package/firewall/files/uci_firewall.sh b/package/firewall/files/uci_firewall.sh
index 4921b91..8d75382 100755
--- a/package/firewall/files/uci_firewall.sh
+++ b/package/firewall/files/uci_firewall.sh
@@ -294,8 +294,11 @@ fw_rule() {
[ -n "$src" -a -z "$dest" ] && ZONE=zone_$src
[ -n "$src" -a -n "$dest" ] && ZONE=zone_${src}_forward
[ -n "$dest" ] && TARGET=zone_${dest}_$target
+
+ eval 'RULE_COUNT=$((++RULE_COUNT_'$ZONE'))'
+
add_rule() {
- $IPTABLES -A $ZONE \
+ $IPTABLES -I $ZONE $RULE_COUNT \
${proto:+-p $proto} \
${icmp_type:+--icmp-type $icmp_type} \
${src_ip:+-s $src_ip} \