Skip to content

Commit df0c802

Browse files
committed
Correct the floating logic in the FilterRuleField.php
1 parent b987638 commit df0c802

File tree

2 files changed

+6
-7
lines changed

2 files changed

+6
-7
lines changed

src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,6 @@ public function searchRuleAction()
178178
$is_cat = empty($categories) || array_intersect(explode(',', $record->categories), $categories);
179179
$rule_interfaces = array_filter(explode(',', (string)$record->interface));
180180

181-
/* inverted interface acts as floating rule */
182181
if ((string)$record->interfacenot === "1") {
183182
$rule_interfaces = [];
184183
}
@@ -227,7 +226,6 @@ public function searchRuleAction()
227226
if (empty($interfaces)) {
228227
$is_if = empty($record['interface']) || count(explode(',', $record['interface'])) > 1;
229228
} elseif ((string)$record['interfacenot'] === "1") {
230-
/* inverted interface acts as floating rule */
231229
$is_if = true;
232230
} else {
233231
$is_if = array_intersect(explode(',', $record['interface'] ?? ''), $interfaces);

src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/FilterRuleField.php

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -109,11 +109,12 @@ public function getPriority()
109109
$configObj = Config::getInstance()->object();
110110
$interface = (string)$this->interface;
111111

112-
if ((string)$this->interfacenot === "1" && !empty($interface)) {
113-
// floating (inverted interface)
114-
return 200000;
115-
} elseif (strpos($interface, ",") !== false || empty($interface)) {
116-
// floating (multiple interfaces involved)
112+
if (
113+
// floating (multiple interfaces or inverted interface)
114+
(string)$this->interfacenot === "1" ||
115+
(strpos($interface, ",") !== false && !empty($interface)) ||
116+
empty($interface)
117+
) {
117118
return 200000;
118119
} elseif (
119120
!empty($configObj->interfaces) &&

0 commit comments

Comments
 (0)