diff options
author | Chris Buechler <cmb@pfsense.org> | 2015-03-04 15:46:30 -0600 |
---|---|---|
committer | Chris Buechler <cmb@pfsense.org> | 2015-03-04 15:46:30 -0600 |
commit | 9bfb45ab2810edd13c3799510f5d090d01f82791 (patch) | |
tree | 8ae203d2e7d28ff9bd092fbc5897b695e89443b5 | |
parent | 24ad8e26a6437e32afe3330b79d2565c052c993e (diff) | |
download | pfsense-9bfb45ab2810edd13c3799510f5d090d01f82791.zip pfsense-9bfb45ab2810edd13c3799510f5d090d01f82791.tar.gz |
Skip any numeric-only aliases in the ruleset to prevent errors from those
who configured them on previous versions where that was allowed. Ticket
-rw-r--r-- | etc/inc/filter.inc | 5 | ||||
-rw-r--r-- | etc/inc/util.inc | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/etc/inc/filter.inc b/etc/inc/filter.inc index 3e3fb25..af1494b 100644 --- a/etc/inc/filter.inc +++ b/etc/inc/filter.inc @@ -707,6 +707,11 @@ function filter_generate_aliases() { $extralias = ""; $aliasnesting = array(); $aliasaddrnesting = array(); + if (is_numericint($aliased['name'])) { + // skip aliases with numeric-only names. redmine #4289 + file_notice("Filter_Reload", "Aliases with numeric-only names are not valid. Skipping alias " . $aliased['name']); + continue; + } $addrlist = filter_generate_nested_alias($aliased['name'], $aliased['address'], $aliasnesting, $aliasaddrnesting); switch ($aliased['type']) { case "host": diff --git a/etc/inc/util.inc b/etc/inc/util.inc index 05b33ed..2f0b318 100644 --- a/etc/inc/util.inc +++ b/etc/inc/util.inc @@ -1533,6 +1533,10 @@ function alias_get_type($name) { function alias_expand($name) { global $aliastable; + // alias names cannot be strictly numeric. redmine #4289 + if (is_numericint($name)) + return null; + if (isset($aliastable[$name])) { return "\${$name}"; } else if (is_ipaddr($name) || is_subnet($name) || is_port($name) || is_portrange($name)) { |