aboutsummaryrefslogtreecommitdiffstats
path: root/package/firewall/files/lib/fw.sh
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2010-09-28 10:42:56 +0000
committerJo-Philipp Wich <jow@openwrt.org>2010-09-28 10:42:56 +0000
commit5baf4fe290301a7ac39a3a82df4e91446c6d726d (patch)
treea8f19e30a4a00e6b6a45cd471ea002d4d982a7ed /package/firewall/files/lib/fw.sh
parent4ce9fd34457db66ad031c6f91c6cb993fc3b6bbc (diff)
downloadupstream-5baf4fe290301a7ac39a3a82df4e91446c6d726d.tar.gz
upstream-5baf4fe290301a7ac39a3a82df4e91446c6d726d.tar.bz2
upstream-5baf4fe290301a7ac39a3a82df4e91446c6d726d.zip
[package] fireall:
- support negations for src_ip, dest_ip, src_dip options in rules and redirects - add NOTRACK target to rule sections, allows to define fine grained notrack rules git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23141 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/firewall/files/lib/fw.sh')
-rw-r--r--package/firewall/files/lib/fw.sh9
1 files changed, 9 insertions, 0 deletions
diff --git a/package/firewall/files/lib/fw.sh b/package/firewall/files/lib/fw.sh
index 3549f8aa4c..16a39b6a66 100644
--- a/package/firewall/files/lib/fw.sh
+++ b/package/firewall/files/lib/fw.sh
@@ -218,3 +218,12 @@ fw_get_family_mode() {
esac
}
+fw_get_negation() {
+ local _var="$1"
+ local _flag="$2"
+ local _ipaddr="$3"
+
+ [ "${_ipaddr#!}" != "$_ipaddr" ] && \
+ export -n -- "$_var=! $_flag ${_ipaddr#!}" || \
+ export -n -- "$_var=${_ipaddr:+$_flag $_ipaddr}"
+}