fireall: - support negations for src_ip, dest_ip, src_dip options in rules and redire...
[openwrt/openwrt.git] / package / firewall / files / lib / core_init.sh
index 56e19b7b86e198a3d79dfe0418ec13b2c57b1550..c7e41e7ff7dada3ad8015d741c8e894240e78376 100644 (file)
@@ -245,9 +245,9 @@ fw_load_zone() {
        if [ "$zone_masq" == 1 ]; then
                local msrc mdst
                for msrc in ${zone_masq_src:-0.0.0.0/0}; do
-                       [ "${msrc#!}" != "$msrc" ] && msrc="! -s ${msrc#!}" || msrc="-s $msrc"
+                       fw_get_negation msrc '-s' "$msrc"
                        for mdst in ${zone_masq_dest:-0.0.0.0/0}; do
-                               [ "${mdst#!}" != "$mdst" ] && mdst="! -d ${mdst#!}" || mdst="-d $mdst"
+                               fw_get_negation mdst '-d' "$mdst"
                                fw add $mode n ${chain}_nat MASQUERADE $ { $msrc $mdst }
                        done
                done