From d48dd6f9a3bad88756b3111de514b58181093489 Mon Sep 17 00:00:00 2001 From: Franco Fichtner Date: Thu, 14 Mar 2024 13:25:38 +0100 Subject: [PATCH] dhcrelay: fine-tune service presentation and handling --- src/etc/inc/plugins.inc.d/dhcrelay.inc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/etc/inc/plugins.inc.d/dhcrelay.inc b/src/etc/inc/plugins.inc.d/dhcrelay.inc index 937b7753d..84cf311b6 100644 --- a/src/etc/inc/plugins.inc.d/dhcrelay.inc +++ b/src/etc/inc/plugins.inc.d/dhcrelay.inc @@ -44,17 +44,21 @@ function dhcrelay_run() function dhcrelay_services() { + $mdl = new \OPNsense\DHCRelay\DHCRelay(); $services = []; - foreach ((new \OPNsense\DHCRelay\DHCRelay())->relays->iterateItems() as $relay) { - if ((string)$relay->enabled == '1') { + foreach ($mdl->relays->iterateItems() as $relay) { + if ((string)$relay->enabled == '1' && ($dst = $mdl->getNodeByReference("destinations.{$relay->destination}")) != null) { $pconfig = []; $pconfig['name'] = 'dhcrelay'; - $pconfig['description'] = gettext('DHCPv4 Relay') . " ({$relay->interface})"; + $pconfig['description'] = (strpos((string)$dst->server, '.') !== false ? + gettext('DHCPv4 Relay') : gettext('DHCPv6 Relay')) . " ({$relay->interface})"; $pconfig['php']['restart'] = ['dhcrelay_configure_do']; $pconfig['php']['start'] = ['dhcrelay_configure_do']; + $pconfig['php']['args'] = ['verbose', 'id']; $pconfig['pidfile'] = "/var/run/dhcrelay-{$relay->getAttribute('uuid')}.pid"; $pconfig['id'] = $relay->getAttribute('uuid'); + $pconfig['verbose'] = false; $services[] = $pconfig; } }