summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--etc/inc/filter.inc14
1 files changed, 9 insertions, 5 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc
index e7ba180..2a999e7 100644
--- a/etc/inc/filter.inc
+++ b/etc/inc/filter.inc
@@ -865,14 +865,18 @@ function filter_nat_rules_generate_if($if, $src, $srcport, $dst, $natport, $targ
return;
$nat = "nat";
-
- if($nonat == true)
- $nat = "no nat";
-
+
if ($target)
$tgt = $target . "/32";
else
$tgt = "($if)";
+
+ if($nonat == true) {
+ $nat = "no nat";
+ $second_half_of_rule = "";
+ } else {
+ $second_half_of_rule = " -> {$tgt}";
+ }
if ($dst == "")
$dst = "any";
@@ -884,7 +888,7 @@ function filter_nat_rules_generate_if($if, $src, $srcport, $dst, $natport, $targ
$tgt .= " port " . $natport;
$natrule = <<<EOD
-$nat on $if from $src to $dst -> $tgt
+$nat on $if from $src to $dst $second_half_of_rule
EOD;
OpenPOWER on IntegriCloud