From 07a051fd7d4e8e4cffffb4bf97ef845bbd81f145 Mon Sep 17 00:00:00 2001 From: Ad Schellevis Date: Thu, 4 Apr 2024 18:21:47 +0200 Subject: [PATCH] interfaces: GIF/GRE configuration - format local addresses by using the new option introduced in https://github.com/opnsense/core/commit/10c81a4eea87a17a180ff93cc9c3aa2cc6d72d85 ref: https://github.com/opnsense/core/issues/7241 https://github.com/opnsense/core/issues/7242 --- .../Interfaces/FieldTypes/LinkAddressField.php | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/LinkAddressField.php b/src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/LinkAddressField.php index 2e9394862..8c055d244 100644 --- a/src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/LinkAddressField.php +++ b/src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/LinkAddressField.php @@ -56,7 +56,7 @@ class LinkAddressField extends BaseField if (!empty((string)$node->virtual) || empty((string)$node->enable)) { continue; } - self::$known_addresses[] = $ifname; + self::$known_addresses[$ifname] = $descr; self::$option_groups['interfaces']['items'][$ifname] = $descr; } if (isset($cfg->virtualip)) { @@ -69,7 +69,7 @@ class LinkAddressField extends BaseField } else { continue; } - self::$known_addresses[] = $key; + self::$known_addresses[$key] = $descr; self::$option_groups[(string)$node->mode]['items'][$key] = $descr; } } @@ -96,7 +96,7 @@ class LinkAddressField extends BaseField if ($this->internalValue != null) { $validators[] = new CallbackValidator(["callback" => function ($data) { $messages = []; - if (in_array($data, self::$known_addresses)) { + if (isset(self::$known_addresses[$data])) { return $messages; } elseif (!Util::isIpAddress($data)) { $messages[] = gettext('A valid network address is required.'); @@ -108,6 +108,17 @@ class LinkAddressField extends BaseField return $validators; } + /** + * {@inheritdoc} + */ + public function getDescription() + { + if (isset(self::$known_addresses[$this->internalValue])) { + return self::$known_addresses[$this->internalValue]; + } + return $this->internalValue; + } + /** * return either ipaddr or if field, only one should be used, addresses are preferred. */