diff --git a/src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/AliasContentField.php b/src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/AliasContentField.php index ac2e1b8af..b71ceadd5 100644 --- a/src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/AliasContentField.php +++ b/src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/AliasContentField.php @@ -1,31 +1,29 @@ getItems($data) as $host) { - if (strpos($host, "!") === 0 && Util::isIpAddress(substr($host, 1))) { + $range = explode('-', $host); + if (count($range) == 2 && Util::isIpAddress($range[0]) && Util::isIpAddress($range[1])) { + // address range + continue; + } elseif (strpos($host, '!') === 0 && Util::isIpAddress(substr($host, 1))) { // exclude address (https://www.freebsd.org/doc/handbook/firewalls-pf.html 30.3.2.4) continue; } elseif (!Util::isAlias($host) && !Util::isIpAddress($host) && !Util::isDomain($host)) { $messages[] = sprintf( - gettext('Entry "%s" is not a valid hostname or IP address.'), + gettext('Entry "%s" is not a valid hostname, IP address or range.'), $host ); }