From 3e9f7344701f2d6d3af91abeada129fdcccb4915 Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Tue, 1 Nov 2016 13:26:38 +0100 Subject: [PATCH] (filter) add maximum size option to parsePlain --- .../mvc/app/library/OPNsense/Firewall/FilterRule.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/opnsense/mvc/app/library/OPNsense/Firewall/FilterRule.php b/src/opnsense/mvc/app/library/OPNsense/Firewall/FilterRule.php index da26ae00c..be6b6f7ca 100644 --- a/src/opnsense/mvc/app/library/OPNsense/Firewall/FilterRule.php +++ b/src/opnsense/mvc/app/library/OPNsense/Firewall/FilterRule.php @@ -53,7 +53,7 @@ class FilterRule 'to_port' => 'parsePlain, port {,}', 'icmp6-type' => 'parsePlain,icmp6-type {,}', 'state' => 'parseState', - 'label' => 'parsePlain,label ","' + 'label' => 'parsePlain,label ",",63' ); /** @@ -69,10 +69,16 @@ class FilterRule /** * parse plain data * @param string $value field value + * @param string $prefix prefix when $value is provided + * @param string $suffix suffix when $value is provided + * @param int $maxsize maximum size, cut when longer * @return string */ - private function parsePlain($value, $prefix="", $suffix="") + private function parsePlain($value, $prefix="", $suffix="", $maxsize=null) { + if (!empty($maxsize) && strlen($value) > $maxsize) { + $value = substr($value, 0, $maxsize); + } return $value == '' ? "" : $prefix . $value . $suffix . " "; }