summaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2009-01-16 18:09:19 +0000
committerJo-Philipp Wich <jow@openwrt.org>2009-01-16 18:09:19 +0000
commit83c9ac173d105243ffe346165d17f5109f9d4fa7 (patch)
treef22b603ed0196ff42d13d3e0fd318fab132c77e9 /package
parentb693945d4fa1bc234c3332cf7fa04c67586197d3 (diff)
downloadmaster-31e0f0ae-83c9ac173d105243ffe346165d17f5109f9d4fa7.tar.gz
master-31e0f0ae-83c9ac173d105243ffe346165d17f5109f9d4fa7.tar.bz2
master-31e0f0ae-83c9ac173d105243ffe346165d17f5109f9d4fa7.zip
firewall: introduce drop_invalid option to allow disabling the invalid state match
SVN-Revision: 14061
Diffstat (limited to 'package')
-rwxr-xr-xpackage/firewall/files/uci_firewall.sh17
1 files changed, 10 insertions, 7 deletions
diff --git a/package/firewall/files/uci_firewall.sh b/package/firewall/files/uci_firewall.sh
index fd108993c8..f38bd6b9ae 100755
--- a/package/firewall/files/uci_firewall.sh
+++ b/package/firewall/files/uci_firewall.sh
@@ -159,16 +159,19 @@ fw_defaults() {
$IPTABLES -t mangle -X
$IPTABLES -t nat -X
$IPTABLES -X
-
- $IPTABLES -A INPUT -m state --state INVALID -j DROP
+
+ config_get_bool drop_invalid $1 drop_invalid 1
+
+ [ "$drop_invalid" -gt 0 ] && {
+ $IPTABLES -A INPUT -m state --state INVALID -j DROP
+ $IPTABLES -A OUTPUT -m state --state INVALID -j DROP
+ $IPTABLES -A FORWARD -m state --state INVALID -j DROP
+ }
+
$IPTABLES -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-
- $IPTABLES -A OUTPUT -m state --state INVALID -j DROP
$IPTABLES -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-
- $IPTABLES -A FORWARD -m state --state INVALID -j DROP
$IPTABLES -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-
+
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT