diff --git a/src/opnsense/mvc/app/library/OPNsense/Firewall/Rule.php b/src/opnsense/mvc/app/library/OPNsense/Firewall/Rule.php index 4929c541d..473e71ac6 100644 --- a/src/opnsense/mvc/app/library/OPNsense/Firewall/Rule.php +++ b/src/opnsense/mvc/app/library/OPNsense/Firewall/Rule.php @@ -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])) { diff --git a/src/opnsense/mvc/app/library/OPNsense/Firewall/SNatRule.php b/src/opnsense/mvc/app/library/OPNsense/Firewall/SNatRule.php index e0cccc7a2..3b5a55e7a 100644 --- a/src/opnsense/mvc/app/library/OPNsense/Firewall/SNatRule.php +++ b/src/opnsense/mvc/app/library/OPNsense/Firewall/SNatRule.php @@ -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'])) {