From 8d2c3d23ac834c203784802f9a5a0ea6af4fea15 Mon Sep 17 00:00:00 2001 From: Monviech Date: Mon, 11 Nov 2024 17:28:14 +0000 Subject: [PATCH 1/6] net/ndproxy: Add os-ndproxy plugin --- net/ndproxy/Makefile | 7 ++ net/ndproxy/pkg-descr | 8 ++ net/ndproxy/src/inc/plugins.inc.d/ndproxy.inc | 64 +++++++++++++ .../Ndproxy/Api/GeneralController.php | 40 ++++++++ .../Ndproxy/Api/ServiceController.php | 41 ++++++++ .../OPNsense/Ndproxy/GeneralController.php | 42 ++++++++ .../Ndproxy/forms/Api/GeneralController.php | 40 ++++++++ .../Ndproxy/forms/Api/ServiceController.php | 41 ++++++++ .../Ndproxy/forms/GeneralController.php | 42 ++++++++ .../OPNsense/Ndproxy/forms/general.xml | 39 ++++++++ .../app/models/OPNsense/Ndproxy/ACL/ACL.xml | 10 ++ .../app/models/OPNsense/Ndproxy/Menu/Menu.xml | 5 + .../app/models/OPNsense/Ndproxy/Ndproxy.php | 66 +++++++++++++ .../app/models/OPNsense/Ndproxy/Ndproxy.xml | 27 ++++++ .../app/views/OPNsense/Ndproxy/general.volt | 95 +++++++++++++++++++ .../conf/actions.d/actions_ndproxy.conf | 24 +++++ .../templates/OPNsense/Ndproxy/+TARGETS | 1 + .../OPNsense/Ndproxy/rc.conf.d/ndproxy | 19 ++++ 18 files changed, 611 insertions(+) create mode 100644 net/ndproxy/Makefile create mode 100644 net/ndproxy/pkg-descr create mode 100644 net/ndproxy/src/inc/plugins.inc.d/ndproxy.inc create mode 100644 net/ndproxy/src/opnsense/mvc/app/controllers/OPNsense/Ndproxy/Api/GeneralController.php create mode 100644 net/ndproxy/src/opnsense/mvc/app/controllers/OPNsense/Ndproxy/Api/ServiceController.php create mode 100644 net/ndproxy/src/opnsense/mvc/app/controllers/OPNsense/Ndproxy/GeneralController.php create mode 100644 net/ndproxy/src/opnsense/mvc/app/controllers/OPNsense/Ndproxy/forms/Api/GeneralController.php create mode 100644 net/ndproxy/src/opnsense/mvc/app/controllers/OPNsense/Ndproxy/forms/Api/ServiceController.php create mode 100644 net/ndproxy/src/opnsense/mvc/app/controllers/OPNsense/Ndproxy/forms/GeneralController.php create mode 100644 net/ndproxy/src/opnsense/mvc/app/controllers/OPNsense/Ndproxy/forms/general.xml create mode 100644 net/ndproxy/src/opnsense/mvc/app/models/OPNsense/Ndproxy/ACL/ACL.xml create mode 100644 net/ndproxy/src/opnsense/mvc/app/models/OPNsense/Ndproxy/Menu/Menu.xml create mode 100644 net/ndproxy/src/opnsense/mvc/app/models/OPNsense/Ndproxy/Ndproxy.php create mode 100644 net/ndproxy/src/opnsense/mvc/app/models/OPNsense/Ndproxy/Ndproxy.xml create mode 100644 net/ndproxy/src/opnsense/mvc/app/views/OPNsense/Ndproxy/general.volt create mode 100644 net/ndproxy/src/opnsense/service/conf/actions.d/actions_ndproxy.conf create mode 100644 net/ndproxy/src/opnsense/service/templates/OPNsense/Ndproxy/+TARGETS create mode 100644 net/ndproxy/src/opnsense/service/templates/OPNsense/Ndproxy/rc.conf.d/ndproxy diff --git a/net/ndproxy/Makefile b/net/ndproxy/Makefile new file mode 100644 index 0000000000..17d6902560 --- /dev/null +++ b/net/ndproxy/Makefile @@ -0,0 +1,7 @@ +PLUGIN_NAME= ndproxy +PLUGIN_VERSION= 1.0 +PLUGIN_DEPENDS= ndproxy +PLUGIN_COMMENT= Neighbor Discovery Proxy +PLUGIN_MAINTAINER= cedrik@pischem.com + +.include "../../Mk/plugins.mk" diff --git a/net/ndproxy/pkg-descr b/net/ndproxy/pkg-descr new file mode 100644 index 0000000000..ee59b68dd7 --- /dev/null +++ b/net/ndproxy/pkg-descr @@ -0,0 +1,8 @@ +Ndproxy is a kernel module that implements IPv6 Neighbor Discovery proxying over Ethernet-like access networks. + +Plugin Changelog +================ + +1.0 + +* Initial Release diff --git a/net/ndproxy/src/inc/plugins.inc.d/ndproxy.inc b/net/ndproxy/src/inc/plugins.inc.d/ndproxy.inc new file mode 100644 index 0000000000..1e9981b5bd --- /dev/null +++ b/net/ndproxy/src/inc/plugins.inc.d/ndproxy.inc @@ -0,0 +1,64 @@ + gettext('Ndproxy'), + 'configd' => [ + 'start' => ['ndproxy start'], + 'restart' => ['ndproxy restart'], + 'stop' => ['ndproxy stop'], + ], + 'nocheck' => true, // No daemon to check + 'name' => 'ndproxy' + ]; + } + + return $services; +} + +function ndproxy_xmlrpc_sync() +{ + $result = array(); + + $result[] = array( + 'description' => gettext('Ndproxy'), + 'section' => 'OPNsense.ndproxy', + 'id' => 'ndproxy', + 'services' => ["ndproxy"], + ); + + return $result; +} \ No newline at end of file diff --git a/net/ndproxy/src/opnsense/mvc/app/controllers/OPNsense/Ndproxy/Api/GeneralController.php b/net/ndproxy/src/opnsense/mvc/app/controllers/OPNsense/Ndproxy/Api/GeneralController.php new file mode 100644 index 0000000000..3fe747dc6c --- /dev/null +++ b/net/ndproxy/src/opnsense/mvc/app/controllers/OPNsense/Ndproxy/Api/GeneralController.php @@ -0,0 +1,40 @@ +view->pick('OPNsense/Ndproxy/general'); + $this->view->generalForm = $this->getForm("general"); + } +} diff --git a/net/ndproxy/src/opnsense/mvc/app/controllers/OPNsense/Ndproxy/forms/Api/GeneralController.php b/net/ndproxy/src/opnsense/mvc/app/controllers/OPNsense/Ndproxy/forms/Api/GeneralController.php new file mode 100644 index 0000000000..3fe747dc6c --- /dev/null +++ b/net/ndproxy/src/opnsense/mvc/app/controllers/OPNsense/Ndproxy/forms/Api/GeneralController.php @@ -0,0 +1,40 @@ +view->pick('OPNsense/Ndproxy/general'); + $this->view->generalForm = $this->getForm("general"); + } +} diff --git a/net/ndproxy/src/opnsense/mvc/app/controllers/OPNsense/Ndproxy/forms/general.xml b/net/ndproxy/src/opnsense/mvc/app/controllers/OPNsense/Ndproxy/forms/general.xml new file mode 100644 index 0000000000..7bad085b1e --- /dev/null +++ b/net/ndproxy/src/opnsense/mvc/app/controllers/OPNsense/Ndproxy/forms/general.xml @@ -0,0 +1,39 @@ +
+ + + ndproxy.general.enabled + + checkbox + + + + ndproxy.general.ndproxy_uplink_interface + + dropdown + + + + ndproxy.general.ndproxy_downlink_mac_address + + text + + + + ndproxy.general.ndproxy_uplink_ipv6_addresses + + select_multiple + + true + + + + ndproxy.general.ndproxy_exception_ipv6_addresses + + select_multiple + + true + + + + general-settings +
diff --git a/net/ndproxy/src/opnsense/mvc/app/models/OPNsense/Ndproxy/ACL/ACL.xml b/net/ndproxy/src/opnsense/mvc/app/models/OPNsense/Ndproxy/ACL/ACL.xml new file mode 100644 index 0000000000..a2aa1cba51 --- /dev/null +++ b/net/ndproxy/src/opnsense/mvc/app/models/OPNsense/Ndproxy/ACL/ACL.xml @@ -0,0 +1,10 @@ + + + Services: Ndproxy: General Settings + Allow access to Ndproxy General Settings + + ui/ndproxy/general/* + api/ndproxy/general/* + + + diff --git a/net/ndproxy/src/opnsense/mvc/app/models/OPNsense/Ndproxy/Menu/Menu.xml b/net/ndproxy/src/opnsense/mvc/app/models/OPNsense/Ndproxy/Menu/Menu.xml new file mode 100644 index 0000000000..d33be76cc5 --- /dev/null +++ b/net/ndproxy/src/opnsense/mvc/app/models/OPNsense/Ndproxy/Menu/Menu.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/net/ndproxy/src/opnsense/mvc/app/models/OPNsense/Ndproxy/Ndproxy.php b/net/ndproxy/src/opnsense/mvc/app/models/OPNsense/Ndproxy/Ndproxy.php new file mode 100644 index 0000000000..2d04bbcb53 --- /dev/null +++ b/net/ndproxy/src/opnsense/mvc/app/models/OPNsense/Ndproxy/Ndproxy.php @@ -0,0 +1,66 @@ +general->enabled === '1') { + $requiredFields = [ + 'ndproxy_uplink_interface', + 'ndproxy_downlink_mac_address', + 'ndproxy_uplink_ipv6_addresses' + ]; + + foreach ($requiredFields as $field) { + if (empty((string)$this->general->$field)) { + $messages->appendMessage(new Message( + gettext('Field is required to enable Ndproxy.'), + "general." . $field + )); + } + } + } + } + + public function performValidation($validateFullModel = false) + { + $messages = parent::performValidation($validateFullModel); + + $this->checkConfiguration($messages); + + return $messages; + } +} \ No newline at end of file diff --git a/net/ndproxy/src/opnsense/mvc/app/models/OPNsense/Ndproxy/Ndproxy.xml b/net/ndproxy/src/opnsense/mvc/app/models/OPNsense/Ndproxy/Ndproxy.xml new file mode 100644 index 0000000000..1076dd8111 --- /dev/null +++ b/net/ndproxy/src/opnsense/mvc/app/models/OPNsense/Ndproxy/Ndproxy.xml @@ -0,0 +1,27 @@ + + //OPNsense/ndproxy + ndproxy configuration model + 1.0 + + + + 0 + Y + + + + + ipv6 + , + Y + Please enter one or multiple valid IPv6 addresses. + + + ipv6 + , + Y + Please enter one or multiple valid IPv6 addresses. + + + + diff --git a/net/ndproxy/src/opnsense/mvc/app/views/OPNsense/Ndproxy/general.volt b/net/ndproxy/src/opnsense/mvc/app/views/OPNsense/Ndproxy/general.volt new file mode 100644 index 0000000000..64a784d6df --- /dev/null +++ b/net/ndproxy/src/opnsense/mvc/app/views/OPNsense/Ndproxy/general.volt @@ -0,0 +1,95 @@ +{# + # Copyright (c) 2024 Cedrik Pischem + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without modification, + # are permitted provided that the following conditions are met: + # + # 1. Redistributions of source code must retain the above copyright notice, + # this list of conditions and the following disclaimer. + # + # 2. Redistributions in binary form must reproduce the above copyright notice, + # this list of conditions and the following disclaimer in the documentation + # and/or other materials provided with the distribution. + # + # THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, + # INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + # AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + # AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, + # OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + # POSSIBILITY OF SUCH DAMAGE. + #} + + + + + + +
+ {{ partial("layout_partials/base_tabs_content", ['formData': generalForm]) }} + +
+ +
+
diff --git a/net/ndproxy/src/opnsense/service/conf/actions.d/actions_ndproxy.conf b/net/ndproxy/src/opnsense/service/conf/actions.d/actions_ndproxy.conf new file mode 100644 index 0000000000..9974e52870 --- /dev/null +++ b/net/ndproxy/src/opnsense/service/conf/actions.d/actions_ndproxy.conf @@ -0,0 +1,24 @@ +[start] +command:service ndproxy start +parameters: +type:script +message:Starting ndproxy service + +[stop] +command:service ndproxy stop +parameters: +type:script +message:Stopping ndproxy service + +[restart] +command:service ndproxy restart +parameters: +type:script +message:Restarting ndproxy service +description:Restart ndproxy service + +[status] +command:/usr/local/sbin/pluginctl -s ndproxy status +parameters: +type:script_output +message:Request ndproxy status \ No newline at end of file diff --git a/net/ndproxy/src/opnsense/service/templates/OPNsense/Ndproxy/+TARGETS b/net/ndproxy/src/opnsense/service/templates/OPNsense/Ndproxy/+TARGETS new file mode 100644 index 0000000000..181513c0d1 --- /dev/null +++ b/net/ndproxy/src/opnsense/service/templates/OPNsense/Ndproxy/+TARGETS @@ -0,0 +1 @@ +rc.conf.d/ndproxy:/etc/rc.conf.d/ndproxy diff --git a/net/ndproxy/src/opnsense/service/templates/OPNsense/Ndproxy/rc.conf.d/ndproxy b/net/ndproxy/src/opnsense/service/templates/OPNsense/Ndproxy/rc.conf.d/ndproxy new file mode 100644 index 0000000000..41b52efb4d --- /dev/null +++ b/net/ndproxy/src/opnsense/service/templates/OPNsense/Ndproxy/rc.conf.d/ndproxy @@ -0,0 +1,19 @@ +# DO NOT EDIT THIS FILE -- OPNsense auto-generated file +{% set generalSettings = helpers.getNodeByTag('OPNsense.ndproxy.general') %} +{% if generalSettings.enabled|default("0") == "1" %} +ndproxy_enable="YES" +{% if generalSettings.ndproxy_uplink_interface %} +ndproxy_uplink_interface="{{ helpers.physical_interface(generalSettings.ndproxyconf_uplink_interface) }}" +{% endif %} +{% if generalSettings.ndproxy_downlink_mac_address %} +ndproxy_downlink_mac_address="{{ generalSettings.ndproxyconf_downlink_mac_address }}" +{% endif %} +{% if generalSettings.ndproxy_exception_ipv6_addresses %} +ndproxy_exception_ipv6_addresses="{{ generalSettings.ndproxyconf_exception_ipv6_addresses | replace(',', ';') }}" +{% endif %} +{% if generalSettings.ndproxy_uplink_ipv6_addresses %} +ndproxy_uplink_ipv6_addresses="{{ generalSettings.ndproxyconf_uplink_ipv6_addresses | replace(',', ';') }}" +{% endif %} +{% else %} +ndproxy_enable="NO" +{% endif %} From 81bf45183784871c46f09ec036ab5000774d695a Mon Sep 17 00:00:00 2001 From: Monviech Date: Mon, 11 Nov 2024 18:21:59 +0000 Subject: [PATCH 2/6] net/ndproxy: Fix a few small errors. --- .../src/etc/inc/plugins.inc.d/ndproxy.inc | 64 +++++++++++++++++++ .../app/models/OPNsense/Ndproxy/Menu/Menu.xml | 2 +- .../OPNsense/Ndproxy/rc.conf.d/ndproxy | 8 +-- 3 files changed, 69 insertions(+), 5 deletions(-) create mode 100644 net/ndproxy/src/etc/inc/plugins.inc.d/ndproxy.inc diff --git a/net/ndproxy/src/etc/inc/plugins.inc.d/ndproxy.inc b/net/ndproxy/src/etc/inc/plugins.inc.d/ndproxy.inc new file mode 100644 index 0000000000..1e9981b5bd --- /dev/null +++ b/net/ndproxy/src/etc/inc/plugins.inc.d/ndproxy.inc @@ -0,0 +1,64 @@ + gettext('Ndproxy'), + 'configd' => [ + 'start' => ['ndproxy start'], + 'restart' => ['ndproxy restart'], + 'stop' => ['ndproxy stop'], + ], + 'nocheck' => true, // No daemon to check + 'name' => 'ndproxy' + ]; + } + + return $services; +} + +function ndproxy_xmlrpc_sync() +{ + $result = array(); + + $result[] = array( + 'description' => gettext('Ndproxy'), + 'section' => 'OPNsense.ndproxy', + 'id' => 'ndproxy', + 'services' => ["ndproxy"], + ); + + return $result; +} \ No newline at end of file diff --git a/net/ndproxy/src/opnsense/mvc/app/models/OPNsense/Ndproxy/Menu/Menu.xml b/net/ndproxy/src/opnsense/mvc/app/models/OPNsense/Ndproxy/Menu/Menu.xml index d33be76cc5..32ba653a7e 100644 --- a/net/ndproxy/src/opnsense/mvc/app/models/OPNsense/Ndproxy/Menu/Menu.xml +++ b/net/ndproxy/src/opnsense/mvc/app/models/OPNsense/Ndproxy/Menu/Menu.xml @@ -1,5 +1,5 @@ - + diff --git a/net/ndproxy/src/opnsense/service/templates/OPNsense/Ndproxy/rc.conf.d/ndproxy b/net/ndproxy/src/opnsense/service/templates/OPNsense/Ndproxy/rc.conf.d/ndproxy index 41b52efb4d..f907ee0329 100644 --- a/net/ndproxy/src/opnsense/service/templates/OPNsense/Ndproxy/rc.conf.d/ndproxy +++ b/net/ndproxy/src/opnsense/service/templates/OPNsense/Ndproxy/rc.conf.d/ndproxy @@ -3,16 +3,16 @@ {% if generalSettings.enabled|default("0") == "1" %} ndproxy_enable="YES" {% if generalSettings.ndproxy_uplink_interface %} -ndproxy_uplink_interface="{{ helpers.physical_interface(generalSettings.ndproxyconf_uplink_interface) }}" +ndproxy_uplink_interface="{{ helpers.physical_interface(generalSettings.ndproxy_uplink_interface) }}" {% endif %} {% if generalSettings.ndproxy_downlink_mac_address %} -ndproxy_downlink_mac_address="{{ generalSettings.ndproxyconf_downlink_mac_address }}" +ndproxy_downlink_mac_address="{{ generalSettings.ndproxy_downlink_mac_address }}" {% endif %} {% if generalSettings.ndproxy_exception_ipv6_addresses %} -ndproxy_exception_ipv6_addresses="{{ generalSettings.ndproxyconf_exception_ipv6_addresses | replace(',', ';') }}" +ndproxy_exception_ipv6_addresses="{{ generalSettings.ndproxy_exception_ipv6_addresses | replace(',', ';') }}" {% endif %} {% if generalSettings.ndproxy_uplink_ipv6_addresses %} -ndproxy_uplink_ipv6_addresses="{{ generalSettings.ndproxyconf_uplink_ipv6_addresses | replace(',', ';') }}" +ndproxy_uplink_ipv6_addresses="{{ generalSettings.ndproxy_uplink_ipv6_addresses | replace(',', ';') }}" {% endif %} {% else %} ndproxy_enable="NO" From 2ee0bc84005c05343e1b14c2ec6842af7bc573c2 Mon Sep 17 00:00:00 2001 From: Monviech Date: Mon, 11 Nov 2024 18:36:42 +0000 Subject: [PATCH 3/6] net/ndproxy: Fix a few small errors. --- .../src/etc/inc/plugins.inc.d/ndproxy.inc | 2 +- net/ndproxy/src/inc/plugins.inc.d/ndproxy.inc | 64 ------------------- .../app/models/OPNsense/Ndproxy/Ndproxy.php | 2 +- .../conf/actions.d/actions_ndproxy.conf | 2 +- 4 files changed, 3 insertions(+), 67 deletions(-) delete mode 100644 net/ndproxy/src/inc/plugins.inc.d/ndproxy.inc diff --git a/net/ndproxy/src/etc/inc/plugins.inc.d/ndproxy.inc b/net/ndproxy/src/etc/inc/plugins.inc.d/ndproxy.inc index 1e9981b5bd..17714582c0 100644 --- a/net/ndproxy/src/etc/inc/plugins.inc.d/ndproxy.inc +++ b/net/ndproxy/src/etc/inc/plugins.inc.d/ndproxy.inc @@ -61,4 +61,4 @@ function ndproxy_xmlrpc_sync() ); return $result; -} \ No newline at end of file +} diff --git a/net/ndproxy/src/inc/plugins.inc.d/ndproxy.inc b/net/ndproxy/src/inc/plugins.inc.d/ndproxy.inc deleted file mode 100644 index 1e9981b5bd..0000000000 --- a/net/ndproxy/src/inc/plugins.inc.d/ndproxy.inc +++ /dev/null @@ -1,64 +0,0 @@ - gettext('Ndproxy'), - 'configd' => [ - 'start' => ['ndproxy start'], - 'restart' => ['ndproxy restart'], - 'stop' => ['ndproxy stop'], - ], - 'nocheck' => true, // No daemon to check - 'name' => 'ndproxy' - ]; - } - - return $services; -} - -function ndproxy_xmlrpc_sync() -{ - $result = array(); - - $result[] = array( - 'description' => gettext('Ndproxy'), - 'section' => 'OPNsense.ndproxy', - 'id' => 'ndproxy', - 'services' => ["ndproxy"], - ); - - return $result; -} \ No newline at end of file diff --git a/net/ndproxy/src/opnsense/mvc/app/models/OPNsense/Ndproxy/Ndproxy.php b/net/ndproxy/src/opnsense/mvc/app/models/OPNsense/Ndproxy/Ndproxy.php index 2d04bbcb53..1db32ccfc3 100644 --- a/net/ndproxy/src/opnsense/mvc/app/models/OPNsense/Ndproxy/Ndproxy.php +++ b/net/ndproxy/src/opnsense/mvc/app/models/OPNsense/Ndproxy/Ndproxy.php @@ -63,4 +63,4 @@ public function performValidation($validateFullModel = false) return $messages; } -} \ No newline at end of file +} diff --git a/net/ndproxy/src/opnsense/service/conf/actions.d/actions_ndproxy.conf b/net/ndproxy/src/opnsense/service/conf/actions.d/actions_ndproxy.conf index 9974e52870..eeb5174bbf 100644 --- a/net/ndproxy/src/opnsense/service/conf/actions.d/actions_ndproxy.conf +++ b/net/ndproxy/src/opnsense/service/conf/actions.d/actions_ndproxy.conf @@ -21,4 +21,4 @@ description:Restart ndproxy service command:/usr/local/sbin/pluginctl -s ndproxy status parameters: type:script_output -message:Request ndproxy status \ No newline at end of file +message:Request ndproxy status From d37d5392ebb48302f2591581fd2257d99a777305 Mon Sep 17 00:00:00 2001 From: Monviech <79600909+Monviech@users.noreply.github.com> Date: Tue, 12 Nov 2024 08:28:11 +0100 Subject: [PATCH 4/6] Update net/ndproxy/src/etc/inc/plugins.inc.d/ndproxy.inc Co-authored-by: Franco Fichtner --- net/ndproxy/src/etc/inc/plugins.inc.d/ndproxy.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/ndproxy/src/etc/inc/plugins.inc.d/ndproxy.inc b/net/ndproxy/src/etc/inc/plugins.inc.d/ndproxy.inc index 17714582c0..47452523ef 100644 --- a/net/ndproxy/src/etc/inc/plugins.inc.d/ndproxy.inc +++ b/net/ndproxy/src/etc/inc/plugins.inc.d/ndproxy.inc @@ -51,7 +51,7 @@ function ndproxy_services() function ndproxy_xmlrpc_sync() { - $result = array(); + $result = []; $result[] = array( 'description' => gettext('Ndproxy'), From a06d8d46d49c74a16f3743575cd2dc6e216c0949 Mon Sep 17 00:00:00 2001 From: Monviech <79600909+Monviech@users.noreply.github.com> Date: Tue, 12 Nov 2024 08:28:24 +0100 Subject: [PATCH 5/6] Update net/ndproxy/src/etc/inc/plugins.inc.d/ndproxy.inc Co-authored-by: Franco Fichtner --- net/ndproxy/src/etc/inc/plugins.inc.d/ndproxy.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/ndproxy/src/etc/inc/plugins.inc.d/ndproxy.inc b/net/ndproxy/src/etc/inc/plugins.inc.d/ndproxy.inc index 47452523ef..aead8fa56c 100644 --- a/net/ndproxy/src/etc/inc/plugins.inc.d/ndproxy.inc +++ b/net/ndproxy/src/etc/inc/plugins.inc.d/ndproxy.inc @@ -41,8 +41,8 @@ function ndproxy_services() 'restart' => ['ndproxy restart'], 'stop' => ['ndproxy stop'], ], - 'nocheck' => true, // No daemon to check - 'name' => 'ndproxy' + 'name' => 'ndproxy', + 'nocheck' => true, ]; } From 114c3f0535eac4f99d646d3cba5992dc330a4fd3 Mon Sep 17 00:00:00 2001 From: Monviech Date: Tue, 12 Nov 2024 11:50:29 +0000 Subject: [PATCH 6/6] net/ndproxy: Cleanup view to use base_form and SimpleActionButton --- .../OPNsense/Ndproxy/forms/general.xml | 75 ++++++++-------- .../app/views/OPNsense/Ndproxy/general.volt | 90 +++++++------------ 2 files changed, 72 insertions(+), 93 deletions(-) diff --git a/net/ndproxy/src/opnsense/mvc/app/controllers/OPNsense/Ndproxy/forms/general.xml b/net/ndproxy/src/opnsense/mvc/app/controllers/OPNsense/Ndproxy/forms/general.xml index 7bad085b1e..09f6ed144f 100644 --- a/net/ndproxy/src/opnsense/mvc/app/controllers/OPNsense/Ndproxy/forms/general.xml +++ b/net/ndproxy/src/opnsense/mvc/app/controllers/OPNsense/Ndproxy/forms/general.xml @@ -1,39 +1,40 @@
- - - ndproxy.general.enabled - - checkbox - - - - ndproxy.general.ndproxy_uplink_interface - - dropdown - - - - ndproxy.general.ndproxy_downlink_mac_address - - text - - - - ndproxy.general.ndproxy_uplink_ipv6_addresses - - select_multiple - - true - - - - ndproxy.general.ndproxy_exception_ipv6_addresses - - select_multiple - - true - - - - general-settings + + header + + + + ndproxy.general.enabled + + checkbox + + + + ndproxy.general.ndproxy_uplink_interface + + dropdown + + + + ndproxy.general.ndproxy_downlink_mac_address + + text + + + + ndproxy.general.ndproxy_uplink_ipv6_addresses + + select_multiple + + true + + + + ndproxy.general.ndproxy_exception_ipv6_addresses + + select_multiple + + true + +
diff --git a/net/ndproxy/src/opnsense/mvc/app/views/OPNsense/Ndproxy/general.volt b/net/ndproxy/src/opnsense/mvc/app/views/OPNsense/Ndproxy/general.volt index 64a784d6df..5e212445bd 100644 --- a/net/ndproxy/src/opnsense/mvc/app/views/OPNsense/Ndproxy/general.volt +++ b/net/ndproxy/src/opnsense/mvc/app/views/OPNsense/Ndproxy/general.volt @@ -26,70 +26,48 @@ - - - -
- {{ partial("layout_partials/base_tabs_content", ['formData': generalForm]) }} - -
- +
+
+ {{ partial("layout_partials/base_form", ['fields': generalForm, 'id': 'frm_GeneralSettings']) }} +
+
+
+
+
+ +

+
-
+