From 12cd6932940e10bac628d4708b4c60c106524aed Mon Sep 17 00:00:00 2001
From: Wenli Looi <wlooi@ucalgary.ca>
Date: Tue, 18 May 2021 23:08:52 -0700
Subject: [PATCH] ddns-scripts: Fix for wildcard subdomain

Signed-off-by: Wenli Looi <wlooi@ucalgary.ca>
(cherry picked from commit 93344aafa065ebfe63330e60f7d02ecdcf39c9b8)
---
 net/ddns-scripts/Makefile                                    | 2 +-
 net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_functions.sh | 3 +++
 net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_updater.sh   | 2 +-
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/net/ddns-scripts/Makefile b/net/ddns-scripts/Makefile
index e3b0c4c46b..3b54e604fc 100644
--- a/net/ddns-scripts/Makefile
+++ b/net/ddns-scripts/Makefile
@@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ddns-scripts
 PKG_VERSION:=2.8.2
-PKG_RELEASE:=7
+PKG_RELEASE:=8
 
 PKG_LICENSE:=GPL-2.0
 
diff --git a/net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_functions.sh b/net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_functions.sh
index 5facd8bed5..b5dac0ee28 100644
--- a/net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_functions.sh
+++ b/net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_functions.sh
@@ -73,6 +73,9 @@ SHELL_ESCAPE="[\"\'\`\$\!();><{}?|\[\]\*\\\\]"
 # dns character set
 DNS_CHARSET="[@a-zA-Z0-9._-]"
 
+# domains can have * for wildcard
+DNS_CHARSET_DOMAIN="[@a-zA-Z0-9._-*]"
+
 # detect if called by ddns-lucihelper.sh script, disable retrys (empty variable == false)
 LUCI_HELPER=$(printf %s "$MYPROG" | grep -i "luci")
 
diff --git a/net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_updater.sh b/net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_updater.sh
index 41bc6f8256..8176fa74c6 100644
--- a/net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_updater.sh
+++ b/net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_updater.sh
@@ -257,7 +257,7 @@ esac
 # verify validity of variables
 [ -n "$lookup_host" ] && sanitize_variable lookup_host "$DNS_CHARSET" ""
 [ -n "$dns_server" ] && sanitize_variable dns_server "$DNS_CHARSET" ""
-[ -n "$domain" ] && sanitize_variable domain "$DNS_CHARSET" ""
+[ -n "$domain" ] && sanitize_variable domain "$DNS_CHARSET_DOMAIN" ""
 
 # Filter shell escape characters, if these are required in the URL, they
 # can still be passed url encoded
-- 
GitLab