Firewall, rule parsing, disable empty port aliases to avoid rule loading issues, related to https://github.com/opnsense/core/issues/1858

This commit is contained in:
Ad Schellevis 2018-07-23 20:40:56 +02:00
parent eeb14c29fc
commit c76006cd5e
2 changed files with 8 additions and 0 deletions

View File

@ -263,6 +263,10 @@ abstract class Rule
$rule[$target."_port"] = $port;
} elseif (Util::isAlias($port)) {
$rule[$target."_port"] = '$'.$port;
if (!Util::isAlias($port, true)) {
// unable to map port
$rule['disabled'] = true;
}
}
}
if (!isset($rule[$target])) {

View File

@ -98,6 +98,10 @@ class SNatRule extends Rule
foreach (array("sourceport", "dstport", "natport") as $fieldname) {
if (!empty($rule[$fieldname]) && Util::isAlias($rule[$fieldname])) {
$rule[$fieldname] = "$".$rule[$fieldname];
if (!Util::isAlias($rule[$fieldname], true)) {
// unable to map port
$rule['disabled'] = true;
}
}
}
if (!empty($rule['staticnatport']) || !empty($rule['nonat'])) {