From 9ff04d14b4e8072dae7707a64d35701d3720dcbc Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Mon, 25 Apr 2022 18:08:00 +0200 Subject: [PATCH] firewall: make rule parsing more consistent as x:any and any:y are valid options, accepting literal "any" seems to make sense. closes https://github.com/opnsense/plugins/issues/2957 --- src/opnsense/mvc/app/library/OPNsense/Firewall/Rule.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/opnsense/mvc/app/library/OPNsense/Firewall/Rule.php b/src/opnsense/mvc/app/library/OPNsense/Firewall/Rule.php index 264b00d91..121c1137c 100644 --- a/src/opnsense/mvc/app/library/OPNsense/Firewall/Rule.php +++ b/src/opnsense/mvc/app/library/OPNsense/Firewall/Rule.php @@ -280,6 +280,8 @@ abstract class Rule if (strpos($port, ':any') !== false xor strpos($port, 'any:') !== false) { // convert 'any' to upper or lower bound when provided in range. e.g. 80:any --> 80:65535 $port = str_replace('any', strpos($port, ':any') !== false ? '65535' : '1', $port); + } elseif ($port == 'any') { + $port = null; } if (Util::isPort($port)) { $rule[$target . "_port"] = $port;