From f2baaedd11e78259b977c133255bb18e3766c57b Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Thu, 12 Mar 2020 10:47:49 +0100 Subject: [PATCH] os-firewall: parse error on invert options. "not" is treated being set or unset in core. https://github.com/opnsense/plugins/issues/1720 --- .../OPNsense/Firewall/FieldTypes/FilterRuleField.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/net/firewall/src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/FilterRuleField.php b/net/firewall/src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/FilterRuleField.php index 6556ae488e..06afc60f63 100644 --- a/net/firewall/src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/FilterRuleField.php +++ b/net/firewall/src/opnsense/mvc/app/models/OPNsense/Firewall/FieldTypes/FilterRuleField.php @@ -67,7 +67,9 @@ public function serialize() $result['source'] = array(); if (!empty((string)$this->source_net)) { $result['source']['network'] = (string)$this->source_net; - $result['source']['not'] = !empty((string)$this->source_not); + if (!empty((string)$this->source_not)) { + $result['source']['not'] = true; + } if (!empty((string)$this->source_port)) { $result['source']['port'] = (string)$this->source_port; } @@ -75,7 +77,9 @@ public function serialize() $result['destination'] = array(); if (!empty((string)$this->destination_net)) { $result['destination']['network'] = (string)$this->destination_net; - $result['destination']['not'] = !empty((string)$this->destination_not); + if (!empty((string)$this->destination_not)) { + $result['destination']['not'] = true; + } if (!empty((string)$this->source_port)) { $result['destination']['port'] = (string)$this->destination_port; }