From 9aa2ccf960fae6a6ef8991f67d5f4ca6392c7cb5 Mon Sep 17 00:00:00 2001 From: Frank Wall Date: Tue, 7 Apr 2026 16:25:10 +0200 Subject: [PATCH 1/3] security/acme-client: add help text for hostingde, refs #5373 --- .../controllers/OPNsense/AcmeClient/forms/dialogValidation.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogValidation.xml b/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogValidation.xml index d8c86d6e6..851e12c85 100644 --- a/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogValidation.xml +++ b/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogValidation.xml @@ -662,6 +662,7 @@ validation.dns_hostingde_server text + Enter the API endpoint, e.g. https://secure.hosting.de or https://partner.http.net. validation.dns_hostingde_apiKey From 72043b78bc9b0aa08c5769113e78a526e6b65a34 Mon Sep 17 00:00:00 2001 From: Frank Wall Date: Mon, 13 Apr 2026 14:37:48 +0200 Subject: [PATCH 2/3] security/acme-client: fix incorrect naming scheme of TrueNAS WS automation --- security/acme-client/Makefile | 2 +- security/acme-client/pkg-descr | 5 ++ .../AcmeClient/forms/dialogAction.xml | 8 +-- .../{AcmeTruenasWS.php => AcmeTruenasWs.php} | 2 +- .../models/OPNsense/AcmeClient/AcmeClient.xml | 24 ++++++++- .../OPNsense/AcmeClient/Migrations/M4_4_0.php | 50 +++++++++++++++++++ 6 files changed, 83 insertions(+), 8 deletions(-) rename security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeAutomation/{AcmeTruenasWS.php => AcmeTruenasWs.php} (96%) create mode 100644 security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/Migrations/M4_4_0.php diff --git a/security/acme-client/Makefile b/security/acme-client/Makefile index 9d6b4ec8e..088f0bab4 100644 --- a/security/acme-client/Makefile +++ b/security/acme-client/Makefile @@ -1,5 +1,5 @@ PLUGIN_NAME= acme-client -PLUGIN_VERSION= 4.15 +PLUGIN_VERSION= 4.16 PLUGIN_COMMENT= ACME Client PLUGIN_MAINTAINER= opnsense@moov.de PLUGIN_DEPENDS= acme.sh py${PLUGIN_PYTHON}-dns-lexicon diff --git a/security/acme-client/pkg-descr b/security/acme-client/pkg-descr index dfa6ce841..1210efbde 100644 --- a/security/acme-client/pkg-descr +++ b/security/acme-client/pkg-descr @@ -8,6 +8,11 @@ WWW: https://github.com/acmesh-official/acme.sh Plugin Changelog ================ +4.16 + +Fixed: +* fix incorrect naming scheme of TrueNAS WS automation + 4.15 Added: diff --git a/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogAction.xml b/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogAction.xml index 477443587..b03e6f89c 100644 --- a/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogAction.xml +++ b/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogAction.xml @@ -398,22 +398,22 @@ header - + - action.acme_truenasws_apikey + action.acme_truenas_ws_apikey text API key generated in the TrueNAS web UI. - action.acme_truenasws_hostname + action.acme_truenas_ws_hostname text Hostname or IP address of TrueNAS Server. - action.acme_truenasws_protocol + action.acme_truenas_ws_protocol dropdown Connection scheme that will be used when uploading certificates to TrueNAS Server. diff --git a/security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeAutomation/AcmeTruenasWS.php b/security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeAutomation/AcmeTruenasWs.php similarity index 96% rename from security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeAutomation/AcmeTruenasWS.php rename to security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeAutomation/AcmeTruenasWs.php index 1a5fdb9ca..91ced0c0b 100644 --- a/security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeAutomation/AcmeTruenasWS.php +++ b/security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeAutomation/AcmeTruenasWs.php @@ -35,7 +35,7 @@ use OPNsense\AcmeClient\LeAutomationInterface; * Run acme.sh deploy hook truenas_ws * @package OPNsense\AcmeClient */ -class AcmeTruenasWS extends Base implements LeAutomationInterface +class AcmeTruenasWs extends Base implements LeAutomationInterface { public function prepare() { diff --git a/security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/AcmeClient.xml b/security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/AcmeClient.xml index a9cf430fa..40359e945 100644 --- a/security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/AcmeClient.xml +++ b/security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/AcmeClient.xml @@ -1,6 +1,6 @@ //OPNsense/AcmeClient - 4.3.1 + 4.4.0 A secure ACME Client plugin @@ -1431,7 +1431,7 @@ Upload certificate to HashiCorp Vault Upload certificate to Synology DSM Upload certificate to TrueNAS Server (deprecated API) - Upload certificate to TrueNAS Server (Websocket API) + Upload certificate to TrueNAS Server (Websocket API) Upload certificate to Zyxel GS1900 series switches Update local Unifi keystore System or Plugin Command @@ -1745,6 +1745,26 @@ HTTPS + + N + /^.{1,1024}$/u + Should be a string between 1 and 1024 characters. + + + localhost + N + /^.{1,1024}$/u + Should be a string between 1 and 1024 characters. + + + ws + N + + ws [default] + wss + + + N /^.{1,1024}$/u diff --git a/security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/Migrations/M4_4_0.php b/security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/Migrations/M4_4_0.php new file mode 100644 index 000000000..5df32bf20 --- /dev/null +++ b/security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/Migrations/M4_4_0.php @@ -0,0 +1,50 @@ +getNodeByReference('actions.action')->iterateItems() as $action) { + $action_type = (string)$action->type; + if ($action_type === 'acme_truenasws') { + // Migrate data from misspelled item to new one + $action->type = 'acme_truenas_ws'; + $action->acme_truenas_ws_apikey = (string)$action->acme_truenasws_apikey; + $action->acme_truenas_ws_hostname = (string)$action->acme_truenasws_hostname; + $action->acme_truenas_ws_protocol = (string)$action->acme_truenasws_protocol; + } + } + } +} From a5e06c504ad8251664a3a212a313e9ca618b3aae Mon Sep 17 00:00:00 2001 From: Frank Wall Date: Mon, 13 Apr 2026 17:23:37 +0200 Subject: [PATCH 3/3] security/acme-client: add support for Active24 API v2, closes #5381 --- security/acme-client/pkg-descr | 6 ++++++ .../OPNsense/AcmeClient/forms/dialogValidation.xml | 9 +++++++-- .../OPNsense/AcmeClient/LeValidation/DnsActive24.php | 4 +++- .../mvc/app/models/OPNsense/AcmeClient/AcmeClient.xml | 7 +++++-- 4 files changed, 21 insertions(+), 5 deletions(-) diff --git a/security/acme-client/pkg-descr b/security/acme-client/pkg-descr index 1210efbde..49a81e7f0 100644 --- a/security/acme-client/pkg-descr +++ b/security/acme-client/pkg-descr @@ -10,6 +10,12 @@ Plugin Changelog 4.16 +Added: +* add support for Active24 API v2 (#5381) + +Changed: +* credentials for Active24 DNSAPI must be entered again (#5381) + Fixed: * fix incorrect naming scheme of TrueNAS WS automation diff --git a/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogValidation.xml b/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogValidation.xml index 851e12c85..6b3ce02aa 100644 --- a/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogValidation.xml +++ b/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogValidation.xml @@ -137,10 +137,15 @@ - validation.dns_active24_token - + validation.dns_active24_api_key + text + + validation.dns_active24_api_secret + + password + header diff --git a/security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeValidation/DnsActive24.php b/security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeValidation/DnsActive24.php index 4b26d1bcf..79100ae6e 100644 --- a/security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeValidation/DnsActive24.php +++ b/security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeValidation/DnsActive24.php @@ -1,6 +1,7 @@ acme_env['ACTIVE24_Token'] = (string)$this->config->dns_active24_token; + $this->acme_env['Active24_ApiKey'] = (string)$this->config->dns_active24_api_key; + $this->acme_env['Active24_ApiSecret'] = (string)$this->config->dns_active24_api_secret; } } diff --git a/security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/AcmeClient.xml b/security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/AcmeClient.xml index 40359e945..04b929616 100644 --- a/security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/AcmeClient.xml +++ b/security/acme-client/src/opnsense/mvc/app/models/OPNsense/AcmeClient/AcmeClient.xml @@ -552,9 +552,12 @@ Please specify a value between 0 and 84600 seconds. Y - + N - + + + N + N