diff options
author | Renato Botelho <renato@netgate.com> | 2016-12-27 17:24:54 -0200 |
---|---|---|
committer | Renato Botelho <renato@netgate.com> | 2016-12-27 17:24:54 -0200 |
commit | 5d1cf6f5cf85c6371078e288172da1e05df1380c (patch) | |
tree | e964ed35d30c7aa7fadead97621ef99b19584a5f /src | |
parent | a1e7d0488c574dd21a5ab5f6e100eee88dff426b (diff) | |
download | pfsense-5d1cf6f5cf85c6371078e288172da1e05df1380c.zip pfsense-5d1cf6f5cf85c6371078e288172da1e05df1380c.tar.gz |
Fix nested aliases with FQDN (Fixes #6982)
Make $use_filterdns a parameter. It needs to be persistent across
recursive calls otherwise it ends up not adding necessary items to
filterdns depending of how items are sorted
Diffstat (limited to 'src')
-rw-r--r-- | src/etc/inc/filter.inc | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/etc/inc/filter.inc b/src/etc/inc/filter.inc index 51364d3..8c95082 100644 --- a/src/etc/inc/filter.inc +++ b/src/etc/inc/filter.inc @@ -594,11 +594,10 @@ function filter_generate_scrubing() { return $scrubrules; } -function filter_generate_nested_alias($name, $alias, &$aliasnesting, &$aliasaddrnesting) { - global $aliastable, $filterdns; +function filter_generate_nested_alias($name, $alias, &$aliasnesting, &$aliasaddrnesting, $use_filterdns = false) { + global $aliastable, $filterdns, $use_filterdns; $addresses = explode(" ", $alias); - $use_filterdns = false; $finallist = ""; $builtlist = ""; $urltable_nesting = ""; @@ -628,7 +627,7 @@ function filter_generate_nested_alias($name, $alias, &$aliasnesting, &$aliasaddr } /* We already expanded this alias so there is no necessity to do it again. */ else if (!isset($aliasnesting[$address])) { - $tmpline = filter_generate_nested_alias($name, $aliastable[$address], $aliasnesting, $aliasaddrnesting); + $tmpline = filter_generate_nested_alias($name, $aliastable[$address], $aliasnesting, $aliasaddrnesting, $use_filterdns); } } else if (!isset($aliasaddrnesting[$address])) { if (!is_ipaddr($address) && !is_subnet($address) && !((($alias_type == 'port') || ($alias_type == 'url_ports')) && (is_port($address) || is_portrange($address))) && is_hostname($address)) { |