summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorErmal <eri@pfsense.org>2011-08-15 20:16:54 +0000
committerErmal <eri@pfsense.org>2011-08-15 20:16:54 +0000
commit24a682d3b646b61f9f3fdf787113b3861bb3be09 (patch)
treea287e4ec88177fe57aec047069c68ec407d54cae
parent619e42295a27d023bd74ac46c36edde8a0f5baa5 (diff)
downloadpfsense-24a682d3b646b61f9f3fdf787113b3861bb3be09.zip
pfsense-24a682d3b646b61f9f3fdf787113b3861bb3be09.tar.gz
Resolves #1731. Correctly handle nested alias that have hostnames. While here prevent putting duplicated dns hostnames under the same table to prevent possible hickups and save double work.
-rw-r--r--etc/inc/filter.inc6
1 files changed, 4 insertions, 2 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc
index 627b6fd..7775d2f 100644
--- a/etc/inc/filter.inc
+++ b/etc/inc/filter.inc
@@ -471,10 +471,12 @@ function filter_generate_nested_alias($name, $alias, &$aliasnesting, &$aliasaddr
if(is_alias($address)) {
/* We already expanded this alias so there is no neccessity to do it again. */
if(!isset($aliasnesting[$address]))
- $tmpline = filter_generate_nested_alias($address, $aliastable[$address], $aliasnesting, $aliasaddrnesting);
+ $tmpline = filter_generate_nested_alias($name, $aliastable[$address], $aliasnesting, $aliasaddrnesting);
} else if(!isset($aliasaddrnesting[$address])) {
- if(!is_ipaddr($address) && !is_subnet($address) && !is_port($address)) {
+ if (!is_ipaddr($address) && !is_subnet($address) && !is_port($address)) {
$filterdns .= "pf {$address} {$name}\n";
+ /* Guarantee unique dns names on filterdns config */
+ $aliasaddrnesting[$address] = $address;
continue;
}
$aliasaddrnesting[$address] = $address;
OpenPOWER on IntegriCloud