summaryrefslogtreecommitdiff
path: root/package/firewall/files
diff options
context:
space:
mode:
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-12-20 01:10:15 +0000
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-12-20 01:10:15 +0000
commit15a81dae2ac4c0b4af17937969eb8799cceeddb2 (patch)
tree54afd727dccae78490a9cacd3e22f28e629401d0 /package/firewall/files
parent84d175a3f24beb1b982972da83192e7fa37e3b55 (diff)
[package] firewall:
- introduce per-section "option enabled" which defaults to "1" - useful to disable rules or zones without having to delete them - annotate default traffic rules with names - bump version git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29577 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/firewall/files')
-rw-r--r--package/firewall/files/firewall.config5
-rw-r--r--package/firewall/files/lib/config.sh6
2 files changed, 10 insertions, 1 deletions
diff --git a/package/firewall/files/firewall.config b/package/firewall/files/firewall.config
index 4ba165fcc6..77832ffaca 100644
--- a/package/firewall/files/firewall.config
+++ b/package/firewall/files/firewall.config
@@ -29,6 +29,7 @@ config forwarding
# We need to accept udp packets on port 68,
# see https://dev.openwrt.org/ticket/4108
config rule
+ option name Allow-DHCP-Renew
option src wan
option proto udp
option dest_port 68
@@ -37,6 +38,7 @@ config rule
# Allow IPv4 ping
config rule
+ option name Allow-Ping
option src wan
option proto icmp
option icmp_type echo-request
@@ -46,6 +48,7 @@ config rule
# Allow DHCPv6 replies
# see https://dev.openwrt.org/ticket/10381
config rule
+ option name Allow-DHCPv6
option src wan
option proto udp
option src_ip fe80::/10
@@ -57,6 +60,7 @@ config rule
# Allow essential incoming IPv6 ICMP traffic
config rule
+ option name Allow-ICMPv6-Input
option src wan
option proto icmp
list icmp_type echo-request
@@ -73,6 +77,7 @@ config rule
# Allow essential forwarded IPv6 ICMP traffic
config rule
+ option name Allow-ICMPv6-Forward
option src wan
option dest *
option proto icmp
diff --git a/package/firewall/files/lib/config.sh b/package/firewall/files/lib/config.sh
index 996cef884d..8b2399fc8e 100644
--- a/package/firewall/files/lib/config.sh
+++ b/package/firewall/files/lib/config.sh
@@ -34,7 +34,11 @@ fw_config_get_section() { # <config> <prefix> <type> <name> <default> ...
export ${NO_EXPORT:+-n} -- "${prefix}NAME"="${config}"
config_get "${prefix}TYPE" "$config" TYPE
}
-
+
+ local enabled
+ config_get_bool enabled "$config" enabled 1
+ [ $enabled -eq 1 ] || return 1
+
[ "$1" == '{' ] && shift
while [ $# -ge 3 ]; do
local type=$1