diff options
author | Ermal <eri@pfsense.org> | 2011-08-15 20:16:54 +0000 |
---|---|---|
committer | Ermal <eri@pfsense.org> | 2011-08-15 20:16:54 +0000 |
commit | 24a682d3b646b61f9f3fdf787113b3861bb3be09 (patch) | |
tree | a287e4ec88177fe57aec047069c68ec407d54cae | |
parent | 619e42295a27d023bd74ac46c36edde8a0f5baa5 (diff) | |
download | pfsense-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.inc | 6 |
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; |