diff --git a/security/acme-client/Makefile b/security/acme-client/Makefile index def551fa6..59f807ac8 100644 --- a/security/acme-client/Makefile +++ b/security/acme-client/Makefile @@ -1,5 +1,5 @@ PLUGIN_NAME= acme-client -PLUGIN_VERSION= 3.2 +PLUGIN_VERSION= 3.3 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 a7dc6c18e..304aa7509 100644 --- a/security/acme-client/pkg-descr +++ b/security/acme-client/pkg-descr @@ -8,6 +8,18 @@ WWW: https://github.com/acmesh-official/acme.sh Plugin Changelog ================ +3.3 + +Added: +* add support for custom ACME CAs (#2529) +* add support for Porkbun API (#2561) + +Fixed: +* fix ACME Client reset (#2562) + +Changed: +* change default Challenge Type from HTTP-01 to DNS-01 + 3.2 Added: diff --git a/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogAccount.xml b/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogAccount.xml index c19bff4f8..0b9139308 100644 --- a/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogAccount.xml +++ b/security/acme-client/src/opnsense/mvc/app/controllers/OPNsense/AcmeClient/forms/dialogAccount.xml @@ -33,9 +33,14 @@ dropdown acme.sh documentation for a list of supported CAs.]]> + + + header + + account.custom_ca - + text 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 4faa6b778..2f8e45bd4 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 @@ -1338,4 +1338,19 @@ text + + + header + + + + validation.dns_porkbun_key + + text + + + validation.dns_porkbun_secret + + password + diff --git a/security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeValidation/DnsPorkbun.php b/security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeValidation/DnsPorkbun.php new file mode 100644 index 000000000..872b85baf --- /dev/null +++ b/security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeValidation/DnsPorkbun.php @@ -0,0 +1,45 @@ +acme_env['PORKBUN_API_KEY'] = (string)$this->config->dns_porkbun_key; + $this->acme_env['PORKBUN_SECRET_API_KEY'] = (string)$this->config->dns_porkbun_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 0ec434d22..5bac98072 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 - 3.0.0 + 3.1.0 A secure ACME Client plugin @@ -152,7 +152,7 @@ N /^https?:\/\/.*[^\/]$/ - The url must be a valid ACME endpoint without a trailing slash. + The URL must be a valid ACME endpoint without a trailing slash. N @@ -335,7 +335,7 @@ Y - http01 + dns01 HTTP-01 DNS-01 @@ -386,7 +386,7 @@ Y - dns_nsupdate + dns_freedns 1984Hosting API ACME DNS API @@ -454,6 +454,7 @@ OVH, kimsufi, soyoustart and runabove API PowerDNS.com API Plesk XML API + Porkbun API SchlundTech selectel.com / selectel.ru domain API Servercow API v1 @@ -884,6 +885,12 @@ N + + N + + + N + N diff --git a/security/acme-client/src/opnsense/mvc/app/views/OPNsense/AcmeClient/accounts.volt b/security/acme-client/src/opnsense/mvc/app/views/OPNsense/AcmeClient/accounts.volt index dfa7eb6cf..d9e417ebd 100644 --- a/security/acme-client/src/opnsense/mvc/app/views/OPNsense/AcmeClient/accounts.volt +++ b/security/acme-client/src/opnsense/mvc/app/views/OPNsense/AcmeClient/accounts.volt @@ -317,6 +317,16 @@ POSSIBILITY OF SUCH DAMAGE. }); + // hook into on-show event for dialog to extend layout. + $('#DialogAccount').on('shown.bs.modal', function (e) { + // hide options that are irrelevant for the selected CA + $("#account\\.ca").change(function(){ + $(".ca_options").hide(); + $(".ca_options_"+$(this).val()).show(); + }); + $("#account\\.ca").change(); + }) + });