ddns-scripts: Allow setting root record for pdns script 20201/head
authorCristian Le <git@lecris.me>
Sat, 31 Dec 2022 21:21:42 +0000 (22:21 +0100)
committerCristian Le <git@lecris.me>
Sat, 31 Dec 2022 21:21:42 +0000 (22:21 +0100)
Signed-off-by: Cristian Le <git@lecris.me>
net/ddns-scripts/Makefile
net/ddns-scripts/files/usr/lib/ddns/update_pdns.sh

index 9e6e57ba76fe7305ba0b63827babb6620f44f3b1..8021a4f4efd49da0d03450f2a3f6023d8d454758 100644 (file)
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ddns-scripts
 PKG_VERSION:=2.8.2
-PKG_RELEASE:=30
+PKG_RELEASE:=31
 
 PKG_LICENSE:=GPL-2.0
 
index d3fc2d2c9af4adad0fe9199e9a6f249caf38d69c..a19ed13f12b2ec52b86a3fe6b8161b95082e981e 100755 (executable)
@@ -5,6 +5,7 @@
 local __TTL=600
 local __RRTYPE
 local __STATUS
+local __RNAME
 
 [ -z "$username" ] && write_log 14 "Service section not configured correctly! Missing subdomain as 'username'"
 [ -z "$password" ] && write_log 14 "Service section not configured correctly! Missing API Key as 'password'"
@@ -16,11 +17,21 @@ local __ENDPOINT="$param_opt/api/v1/servers/localhost/zones"
 
 [ $use_ipv6 -ne 0 ] && __RRTYPE="AAAA" || __RRTYPE="A"
 
+# Make sure domain is period terminated
+if [ ${domain: -1} != '.' ]; then
+       domain="${domain}."
+fi
+if [ $username == '@' ]; then
+       __RNAME="$domain"
+else
+       __RNAME="$username.$domain"
+fi
+
 # Build JSON payload
 json_init
 json_add_array rrsets
 json_add_object
-       json_add_string name "$username.$domain"
+       json_add_string name "$__RNAME"
        json_add_string type "$__RRTYPE"
        json_add_int ttl $__TTL
        json_add_string changetype "REPLACE"