From 8636a1f883c62907508a44eb96e7b55243772215 Mon Sep 17 00:00:00 2001
From: Liam Steckler <553265+buckbanzai@users.noreply.github.com>
Date: Tue, 19 Dec 2023 16:11:17 -0800
Subject: [PATCH] Add support for Bunny DNS API
---
security/acme-client/pkg-descr | 4 ++
.../AcmeClient/forms/dialogValidation.xml | 10 +++++
.../AcmeClient/LeValidation/DnsBunny.php | 43 +++++++++++++++++++
.../models/OPNsense/AcmeClient/AcmeClient.xml | 4 ++
4 files changed, 61 insertions(+)
create mode 100644 security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeValidation/DnsBunny.php
diff --git a/security/acme-client/pkg-descr b/security/acme-client/pkg-descr
index b0adf45c9..1c99960d9 100644
--- a/security/acme-client/pkg-descr
+++ b/security/acme-client/pkg-descr
@@ -8,6 +8,10 @@ WWW: https://github.com/acmesh-official/acme.sh
Plugin Changelog
================
+3.20
+Added:
+* add Bunny DNS API
+
3.19
Added:
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 195f519f7..c0f26f73b 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
@@ -226,6 +226,16 @@
text
+
+
+ header
+
+
+
+ validation.dns_bunny_api_key
+
+ text
+ header
diff --git a/security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeValidation/DnsBunny.php b/security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeValidation/DnsBunny.php
new file mode 100644
index 000000000..092d62160
--- /dev/null
+++ b/security/acme-client/src/opnsense/mvc/app/library/OPNsense/AcmeClient/LeValidation/DnsBunny.php
@@ -0,0 +1,43 @@
+
+ *
+ * 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.
+ */
+
+namespace OPNsense\AcmeClient\LeValidation;
+
+use OPNsense\AcmeClient\LeValidationInterface;
+use OPNsense\Core\Config;
+
+/**
+ * Bunny DNS API
+ * @package OPNsense\AcmeClient
+ */
+class DnsBunny extends Base implements LeValidationInterface
+{
+ public function prepare()
+ {
+ $this->acme_env['BUNNY_API_KEY'] = (string)$this->config->dns_bunny_api_key;
+ }
+}
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 7f80fb164..82c4d397e 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
@@ -429,6 +429,7 @@
AutoDNS (InterNetX)AWS Route 53Azure DNS
+ BunnyClouDNSCloudFlare.comCloudXNS.com
@@ -558,6 +559,9 @@
N
+
+ N
+ N