[pve-devel] [Patch V3 acme 04/13] Add funtion to set DNSAPI variable

Wolfgang Link w.link at proxmox.com
Thu Apr 16 07:18:27 CEST 2020


acme.sh DNS plugins expect a configuration in which the login information
is stored.
We pass the credentials with the command.
This function supports the expected behavior of the plugins.

Signed-off-by: Wolfgang Link <w.link at proxmox.com>
---
 src/proxmox-acme | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/src/proxmox-acme b/src/proxmox-acme
index 662c39a..b4e01d8 100644
--- a/src/proxmox-acme
+++ b/src/proxmox-acme
@@ -568,3 +568,22 @@ _source_plugin_config() {
   return
 }
 
+# Proxmox implementation to inject the DNSAPI variables
+_load_plugin_config() {
+    tmp_str="${plugin_conf_string//[^,]}"
+    index="$(_math ${#tmp_str} + 1)"
+    while [ "$index" -gt "0" ]
+    do
+	field=$(_getfield $plugin_conf_string "$index" ",")
+	ADDR=(${field/=/ })
+	key="${ADDR[0]}"
+	value="${ADDR[1]}"
+
+	# decode base64 encoded values
+	value=$(echo $value | /usr/bin/openssl base64 -d -A)
+
+	# acme.sh uses eval insted of export
+	export "$key"="$value"
+	index="$(_math "$index" - 1)"
+    done
+}
-- 
2.20.1





More information about the pve-devel mailing list