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.

This commit is contained in:
Ermal 2011-08-15 20:19:25 +00:00
parent 1e37f324ad
commit 7a787c581e

View File

@ -488,10 +488,12 @@ function filter_generate_nested_alias($name, $alias, &$aliasnesting, &$aliasaddr
}
/* We already expanded this alias so there is no neccessity to do it again. */
else 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;