aboutsummaryrefslogtreecommitdiffstats
path: root/package/firewall/files/lib/core_redirect.sh
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2010-09-16 11:47:35 +0000
committerJo-Philipp Wich <jow@openwrt.org>2010-09-16 11:47:35 +0000
commit4cc4a085340f4283e29347683f8648b78b4a0683 (patch)
treebe373438e3db825da9a083b4d1004308605f1855 /package/firewall/files/lib/core_redirect.sh
parenteaa9187647860f3f5b77be1902adac70d0c98df4 (diff)
downloadmaster-187ad058-4cc4a085340f4283e29347683f8648b78b4a0683.tar.gz
master-187ad058-4cc4a085340f4283e29347683f8648b78b4a0683.tar.bz2
master-187ad058-4cc4a085340f4283e29347683f8648b78b4a0683.zip
[package] firewall: make invalid redirects and duplicate zones non-fatal, print a notice and discard them
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23080 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/firewall/files/lib/core_redirect.sh')
-rw-r--r--package/firewall/files/lib/core_redirect.sh9
1 files changed, 6 insertions, 3 deletions
diff --git a/package/firewall/files/lib/core_redirect.sh b/package/firewall/files/lib/core_redirect.sh
index 72364a99e9..3a37bb7ee6 100644
--- a/package/firewall/files/lib/core_redirect.sh
+++ b/package/firewall/files/lib/core_redirect.sh
@@ -30,7 +30,8 @@ fw_load_redirect() {
local fwdchain natchain natopt nataddr natports srcdaddr srcdports
if [ "$redirect_target" == "DNAT" ]; then
[ -n "$redirect_src" -a -n "$redirect_dest_ip$redirect_dest_port" ] || {
- fw_die "DNAT redirect ${redirect_name}: needs src and dest_ip or dest_port"
+ fw_log error "DNAT redirect ${redirect_name}: needs src and dest_ip or dest_port, skipping"
+ return 0
}
fwdchain="zone_${redirect_src}_forward"
@@ -48,7 +49,8 @@ fw_load_redirect() {
elif [ "$redirect_target" == "SNAT" ]; then
[ -n "$redirect_dest" -a -n "$redirect_src_dip" ] || {
- fw_die "SNAT redirect ${redirect_name}: needs dest and src_dip"
+ fw_log error "SNAT redirect ${redirect_name}: needs dest and src_dip, skipping"
+ return 0
}
fwdchain="${redirect_src:+zone_${redirect_src}_forward}"
@@ -65,7 +67,8 @@ fw_load_redirect() {
append FW_CONNTRACK_ZONES $redirect_dest
else
- fw_die "redirect ${redirect_name}: target must be either DNAT or SNAT"
+ fw_log error "redirect ${redirect_name}: target must be either DNAT or SNAT, skipping"
+ return 0
fi
local mode