summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErik Fonnesbeck <efonnes@gmail.com>2012-01-20 20:30:50 -0700
committerErik Fonnesbeck <efonnes@gmail.com>2012-01-20 20:30:50 -0700
commitfa984be954d33c90fb42186edc94865de5b2c921 (patch)
tree7358d199448f1ab5dec91465ec2f283520eca23a
parentb0c76f18faba63f23955287eba3a04f60bbffcb9 (diff)
downloadpfsense-fa984be954d33c90fb42186edc94865de5b2c921.zip
pfsense-fa984be954d33c90fb42186edc94865de5b2c921.tar.gz
Only add these lines if there is both an IP address and CIDR. Fixes #1882
-rw-r--r--etc/inc/filter.inc10
1 files changed, 6 insertions, 4 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc
index 6e81abe..fc6bdb3 100644
--- a/etc/inc/filter.inc
+++ b/etc/inc/filter.inc
@@ -1641,10 +1641,12 @@ function filter_nat_rules_generate() {
if(isset($rule['destination']['any']) && !interface_has_gateway($rule['interface']) && !isset($rule['nordr'])) {
$rule_interface_ip = find_interface_ip($natif);
$rule_interface_subnet = find_interface_subnet($natif);
- $rule_subnet = gen_subnet($rule_interface_ip, $rule_interface_subnet);
- $natrules .= "\n";
- $natrules .= "no nat on {$natif} proto tcp from ({$natif}) to {$rule_subnet}/{$rule_interface_subnet}\n";
- $natrules .= "nat on {$natif} proto tcp from {$rule_subnet}/{$rule_interface_subnet} to {$target} port {$dstport[0]} -> ({$natif})\n";
+ if(!empty($rule_interface_ip) && !empty($rule_interface_subnet)) {
+ $rule_subnet = gen_subnet($rule_interface_ip, $rule_interface_subnet);
+ $natrules .= "\n";
+ $natrules .= "no nat on {$natif} proto tcp from ({$natif}) to {$rule_subnet}/{$rule_interface_subnet}\n";
+ $natrules .= "nat on {$natif} proto tcp from {$rule_subnet}/{$rule_interface_subnet} to {$target} port {$dstport[0]} -> ({$natif})\n";
+ }
}
$natrules .= filter_generate_reflection($rule, $nordr, $nat_if_list, $srcaddr, $dstaddr, $starting_localhost_port, $reflection_rules);
$natrules .= "\n";
OpenPOWER on IntegriCloud