Merge pull request #13509 from TDT-AG/pr/20200928-ddns-scripts
ddns-scripts: fix regression added by version 2.8.0
This commit is contained in:
commit
a333d71fd0
85 changed files with 116 additions and 104 deletions
|
@ -7,8 +7,8 @@
|
|||
include $(TOPDIR)/rules.mk
|
||||
|
||||
PKG_NAME:=ddns-scripts
|
||||
PKG_VERSION:=2.8.0
|
||||
PKG_RELEASE:=24
|
||||
PKG_VERSION:=2.8.1
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_LICENSE:=GPL-2.0
|
||||
|
||||
|
@ -25,6 +25,7 @@ endef
|
|||
define Package/ddns-scripts
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=Dynamic DNS Client scripts (with IPv6 support)
|
||||
DEPENDS:=+ddns-scripts-services
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts/description
|
||||
|
@ -46,57 +47,56 @@ define Package/ddns-scripts/conffiles
|
|||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_service
|
||||
define Package/ddns-scripts-services
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=Common ddns providers
|
||||
DEPENDS:=ddns-scripts
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_service/description
|
||||
define Package/ddns-scripts-services/description
|
||||
Dynamic DNS Client definitions for supported services
|
||||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_cloudflare.com-v4
|
||||
define Package/ddns-scripts-cloudflare
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=Extension for cloudflare.com API v4
|
||||
DEPENDS:=ddns-scripts +curl
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_cloudflare.com-v4/description
|
||||
define Package/ddns-scripts-cloudflare/description
|
||||
Dynamic DNS Client scripts extension for cloudflare.com API v4 (require curl)
|
||||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_freedns_42_pl
|
||||
define Package/ddns-scripts-freedns
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=Extension for freedns.42.pl
|
||||
DEPENDS:=ddns-scripts +curl
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_freedns_42_pl/description
|
||||
define Package/ddns-scripts-freedns/description
|
||||
Dynamic DNS Client scripts extension for "freedns.42.pl".
|
||||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_godaddy.com-v1
|
||||
define Package/ddns-scripts-godaddy
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=Extension for godaddy.com API v1
|
||||
DEPENDS:=ddns-scripts +curl
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_godaddy.com-v1/description
|
||||
define Package/ddns-scripts-godaddy/description
|
||||
Dynamic DNS Client scripts extension for "godaddy.com API v1".
|
||||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_digitalocean.com-v2
|
||||
define Package/ddns-scripts-digitalocean
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=Extention for digitalocean.com API v2
|
||||
DEPENDS:=ddns-scripts +curl
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_digitalocean.com-v2/description
|
||||
define Package/ddns-scripts-digitalocean/description
|
||||
Dynamic DNS Client scripts extension for "digitalocean.com API v2".
|
||||
The script directly updates a DNS record using the DO API.
|
||||
It requires:
|
||||
|
@ -108,24 +108,24 @@ define Package/ddns-scripts_digitalocean.com-v2/description
|
|||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_no-ip_com
|
||||
define Package/ddns-scripts-noip
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=Extension for no-ip.com
|
||||
DEPENDS:=ddns-scripts
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_no-ip_com/description
|
||||
define Package/ddns-scripts-noip/description
|
||||
Dynamic DNS Client scripts extension for "no-ip.com".
|
||||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_nsupdate
|
||||
define Package/ddns-scripts-nsupdate
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=Extension for using bind nsupdate.
|
||||
DEPENDS:=ddns-scripts +bind-client
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_nsupdate/description
|
||||
define Package/ddns-scripts-nsupdate/description
|
||||
Dynamic DNS Client scripts extension for direct updates using bind nsupdate
|
||||
The script directly updates a PowerDNS (or maybe bind server) via nsupdate
|
||||
from bind-client package.
|
||||
|
@ -136,13 +136,13 @@ define Package/ddns-scripts_nsupdate/description
|
|||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_route53-v1
|
||||
define Package/ddns-scripts-route53
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=Extension for route53 API v1
|
||||
DEPENDS:=ddns-scripts +curl +openssl-util
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_route53-v1/description
|
||||
define Package/ddns-scripts-route53/description
|
||||
Dynamic DNS Client scripts extension for Amazon AWS "route53 API v1".
|
||||
Note: You must also install ca-certificate or ca-bundle.
|
||||
It requires:
|
||||
|
@ -152,13 +152,13 @@ define Package/ddns-scripts_route53-v1/description
|
|||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_cnkuai_cn
|
||||
define Package/ddns-scripts-cnkuai
|
||||
$(call Package/ddns-scripts/Default)
|
||||
TITLE:=CnKuai API
|
||||
DEPENDS:=ddns-scripts +curl +giflib-utils
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_cnkuai_cn/description
|
||||
define Package/ddns-scripts-cnkuai/description
|
||||
Dynamic DNS Client scripts extension for "cnkuai.cn".
|
||||
It requires:
|
||||
"option username" to be a valid CnKuai control panel id
|
||||
|
@ -189,8 +189,6 @@ define Package/ddns-scripts/install
|
|||
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns
|
||||
echo "$(PKG_VERSION)-$(PKG_RELEASE)" > $(1)/usr/share/ddns/version
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/list \
|
||||
$(1)/usr/share/ddns
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ddns
|
||||
$(INSTALL_DATA) ./files/usr/lib/ddns/dynamic_dns_functions.sh \
|
||||
|
@ -224,24 +222,34 @@ exit 0
|
|||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_service/install
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/services/* \
|
||||
$(1)/usr/share/ddns/services
|
||||
define Package/ddns-scripts-services/install
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/default
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/default/* \
|
||||
$(1)/usr/share/ddns/default
|
||||
|
||||
# Remove special services
|
||||
rm $(1)/usr/share/ddns/default/cloudflare.com-v4.json
|
||||
rm $(1)/usr/share/ddns/default/freedns.42.pl.json
|
||||
rm $(1)/usr/share/ddns/default/godaddy.com-v1.json
|
||||
rm $(1)/usr/share/ddns/default/digitalocean.com-v2.json
|
||||
rm $(1)/usr/share/ddns/default/no-ip.com.json
|
||||
rm $(1)/usr/share/ddns/default/bind-nsupdate.json
|
||||
rm $(1)/usr/share/ddns/default/route53-v1.json
|
||||
rm $(1)/usr/share/ddns/default/cnkuai.cn.json
|
||||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_cloudflare.com-v4/install
|
||||
define Package/ddns-scripts-cloudflare/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ddns
|
||||
$(INSTALL_BIN) ./files/usr/lib/ddns/update_cloudflare_com_v4.sh \
|
||||
$(1)/usr/lib/ddns
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/services/cloudflare.com-v4.json \
|
||||
$(1)/usr/share/ddns/services/
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/default
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/default/cloudflare.com-v4.json \
|
||||
$(1)/usr/share/ddns/default/
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_cloudflare.com-v4/prerm
|
||||
define Package/ddns-scripts-cloudflare/prerm
|
||||
#!/bin/sh
|
||||
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||
/etc/init.d/ddns stop
|
||||
|
@ -250,17 +258,17 @@ exit 0
|
|||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_freedns_42_pl/install
|
||||
define Package/ddns-scripts-freedns/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ddns
|
||||
$(INSTALL_BIN) ./files/usr/lib/ddns/update_freedns_42_pl.sh \
|
||||
$(1)/usr/lib/ddns
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/services/freedns.42.pl.json \
|
||||
$(1)/usr/share/ddns/services
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/default
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/default/freedns.42.pl.json \
|
||||
$(1)/usr/share/ddns/default
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_freedns_42_pl/prerm
|
||||
define Package/ddns-scripts-freedns/prerm
|
||||
#!/bin/sh
|
||||
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||
/etc/init.d/ddns stop
|
||||
|
@ -269,17 +277,17 @@ exit 0
|
|||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_godaddy.com-v1/install
|
||||
define Package/ddns-scripts-godaddy/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ddns
|
||||
$(INSTALL_BIN) ./files/usr/lib/ddns/update_godaddy_com_v1.sh \
|
||||
$(1)/usr/lib/ddns
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/services/godaddy.com-v1.json \
|
||||
$(1)/usr/share/ddns/services
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/default
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/default/godaddy.com-v1.json \
|
||||
$(1)/usr/share/ddns/default
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_godaddy.com-v1/prerm
|
||||
define Package/ddns-scripts-godaddy/prerm
|
||||
#!/bin/sh
|
||||
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||
/etc/init.d/ddns stop
|
||||
|
@ -288,17 +296,17 @@ exit 0
|
|||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_digitalocean.com-v2/install
|
||||
define Package/ddns-scripts-digitalocean/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ddns
|
||||
$(INSTALL_BIN) ./files/usr/lib/ddns/update_digitalocean_com_v2.sh \
|
||||
$(1)/usr/lib/ddns
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/services/digitalocean.com-v2.json \
|
||||
$(1)/usr/share/ddns/services
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/default
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/default/digitalocean.com-v2.json \
|
||||
$(1)/usr/share/ddns/default
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_digitalocean.com-v2/prerm
|
||||
define Package/ddns-scripts-digitalocean/prerm
|
||||
#!/bin/sh
|
||||
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||
/etc/init.d/ddns stop
|
||||
|
@ -307,17 +315,17 @@ exit 0
|
|||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_no-ip_com/install
|
||||
define Package/ddns-scripts-noip/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ddns
|
||||
$(INSTALL_BIN) ./files/usr/lib/ddns/update_no-ip_com.sh \
|
||||
$(1)/usr/lib/ddns
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/services/no-ip.com.json \
|
||||
$(1)/usr/share/ddns/services
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/default
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/default/no-ip.com.json \
|
||||
$(1)/usr/share/ddns/default
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_no-ip_com/prerm
|
||||
define Package/ddns-scripts-noip/prerm
|
||||
#!/bin/sh
|
||||
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||
/etc/init.d/ddns stop
|
||||
|
@ -326,17 +334,17 @@ exit 0
|
|||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_nsupdate/install
|
||||
define Package/ddns-scripts-nsupdate/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ddns
|
||||
$(INSTALL_BIN) ./files/usr/lib/ddns/update_nsupdate.sh \
|
||||
$(1)/usr/lib/ddns
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/services/bind-nsupdate.json \
|
||||
$(1)/usr/share/ddns/services
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/default
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/default/bind-nsupdate.json \
|
||||
$(1)/usr/share/ddns/default
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_nsupdate/prerm
|
||||
define Package/ddns-scripts-nsupdate/prerm
|
||||
#!/bin/sh
|
||||
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||
/etc/init.d/ddns stop
|
||||
|
@ -345,17 +353,17 @@ exit 0
|
|||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_route53-v1/install
|
||||
define Package/ddns-scripts-route53/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ddns
|
||||
$(INSTALL_BIN) ./files/usr/lib/ddns/update_route53_v1.sh \
|
||||
$(1)/usr/lib/ddns
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/services/route53-v1.json \
|
||||
$(1)/usr/share/ddns/services
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/default
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/default/route53-v1.json \
|
||||
$(1)/usr/share/ddns/default
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_route53-v1/prerm
|
||||
define Package/ddns-scripts-route53/prerm
|
||||
#!/bin/sh
|
||||
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||
/etc/init.d/ddns stop
|
||||
|
@ -364,17 +372,17 @@ exit 0
|
|||
endef
|
||||
|
||||
|
||||
define Package/ddns-scripts_cnkuai_cn/install
|
||||
define Package/ddns-scripts-cnkuai/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ddns
|
||||
$(INSTALL_BIN) ./files/usr/lib/ddns/update_cnkuai_cn.sh \
|
||||
$(1)/usr/lib/ddns
|
||||
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/services
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/services/cnkuai.cn.json \
|
||||
$(1)/usr/share/ddns/services
|
||||
$(INSTALL_DIR) $(1)/usr/share/ddns/default
|
||||
$(INSTALL_DATA) ./files/usr/share/ddns/default/cnkuai.cn.json \
|
||||
$(1)/usr/share/ddns/default
|
||||
endef
|
||||
|
||||
define Package/ddns-scripts_cnkuai_cn/prerm
|
||||
define Package/ddns-scripts-cnkuai/prerm
|
||||
#!/bin/sh
|
||||
if [ -z "$${IPKG_INSTROOT}" ]; then
|
||||
/etc/init.d/ddns stop
|
||||
|
@ -384,12 +392,12 @@ endef
|
|||
|
||||
|
||||
$(eval $(call BuildPackage,ddns-scripts))
|
||||
$(eval $(call BuildPackage,ddns-scripts_service))
|
||||
$(eval $(call BuildPackage,ddns-scripts_cloudflare.com-v4))
|
||||
$(eval $(call BuildPackage,ddns-scripts_freedns_42_pl))
|
||||
$(eval $(call BuildPackage,ddns-scripts_godaddy.com-v1))
|
||||
$(eval $(call BuildPackage,ddns-scripts_digitalocean.com-v2))
|
||||
$(eval $(call BuildPackage,ddns-scripts_no-ip_com))
|
||||
$(eval $(call BuildPackage,ddns-scripts_nsupdate))
|
||||
$(eval $(call BuildPackage,ddns-scripts_route53-v1))
|
||||
$(eval $(call BuildPackage,ddns-scripts_cnkuai_cn))
|
||||
$(eval $(call BuildPackage,ddns-scripts-services))
|
||||
$(eval $(call BuildPackage,ddns-scripts-cloudflare))
|
||||
$(eval $(call BuildPackage,ddns-scripts-freedns))
|
||||
$(eval $(call BuildPackage,ddns-scripts-godaddy))
|
||||
$(eval $(call BuildPackage,ddns-scripts-digitalocean))
|
||||
$(eval $(call BuildPackage,ddns-scripts-noip))
|
||||
$(eval $(call BuildPackage,ddns-scripts-nsupdate))
|
||||
$(eval $(call BuildPackage,ddns-scripts-route53))
|
||||
$(eval $(call BuildPackage,ddns-scripts-cnkuai))
|
||||
|
|
|
@ -20,15 +20,15 @@ usage() {
|
|||
echo "Usage: $(basename "$0") <command> <action> <service>"
|
||||
echo ""
|
||||
echo "Supported ddns <command>:"
|
||||
echo " service: Command for ddns service provider"
|
||||
echo " service: Command for custom ddns service providers"
|
||||
echo ""
|
||||
echo "Supported ddns 'service' command <action>:"
|
||||
echo " update: Update local ddns service list"
|
||||
echo " list-available: List all available service providers"
|
||||
echo " list-installed: List all installed service providers"
|
||||
echo " install <service>: Install service provider"
|
||||
echo " remove <service>: Remove service provider"
|
||||
echo " purge: Remove local ddns serivces"
|
||||
echo " update: Update local custom ddns service list"
|
||||
echo " list-available: List all available custom service providers"
|
||||
echo " list-installed: List all installed custom service providers"
|
||||
echo " install <service>: Install custom service provider"
|
||||
echo " remove <service>: Remove custom service provider"
|
||||
echo " purge: Remove local custom ddns services"
|
||||
|
||||
exit "$code"
|
||||
}
|
||||
|
@ -63,16 +63,16 @@ action_list_available() {
|
|||
if [ -f "${DDNS_PACKAGE_DIR}/list" ]; then
|
||||
cat "${DDNS_PACKAGE_DIR}/list"
|
||||
else
|
||||
echo "No service file found please download first"
|
||||
echo "No custom service list file found. Please download first"
|
||||
exit 3
|
||||
fi
|
||||
}
|
||||
|
||||
action_list_installed() {
|
||||
if [ -d "${DDNS_PACKAGE_DIR}/services" ]; then
|
||||
ls "${DDNS_PACKAGE_DIR}/services"
|
||||
if [ -d "${DDNS_PACKAGE_DIR}/custom" ]; then
|
||||
ls "${DDNS_PACKAGE_DIR}/custom"
|
||||
else
|
||||
echo "No services installed"
|
||||
echo "No custom services installed"
|
||||
exit 4
|
||||
fi
|
||||
}
|
||||
|
@ -83,25 +83,26 @@ action_install() {
|
|||
local url cacert
|
||||
|
||||
config_load ddns
|
||||
config_get url global 'url' "${URL}${DDNS_PACKAGE_DIR}"
|
||||
config_get url global 'url' "${URL}${DDNS_PACKAGE_DIR}/default"
|
||||
config_get cacert global 'cacert' "IGNORE"
|
||||
url="${url}/services/${service}.json"
|
||||
url="${url}/${service}.json"
|
||||
|
||||
if [ -z "$service" ]; then
|
||||
usage "4" "No service specified"
|
||||
usage "4" "No custom service specified"
|
||||
fi
|
||||
|
||||
mkdir -p "${DDNS_PACKAGE_DIR}/services"
|
||||
mkdir -p "${DDNS_PACKAGE_DIR}/custom"
|
||||
|
||||
if [ "$cacert" = "IGNORE" ]; then
|
||||
uclient-fetch \
|
||||
--no-check-certificate \
|
||||
"${url}" \
|
||||
-O "${DDNS_PACKAGE_DIR}/services/${service}.json"
|
||||
-O "${DDNS_PACKAGE_DIR}/custom/${service}.json"
|
||||
elif [ -f "$cacert" ]; then
|
||||
uclient-fetch \
|
||||
--ca-certifcate="${cacert}" \
|
||||
"${url}" \
|
||||
-O "${DDNS_PACKAGE_DIR}/services/${service}.json"
|
||||
-O "${DDNS_PACKAGE_DIR}/custom/${service}.json"
|
||||
elif [ -n "$cacert" ]; then
|
||||
echo "Certification file not found ($cacert)"
|
||||
exit 5
|
||||
|
@ -111,14 +112,14 @@ action_install() {
|
|||
action_remove() {
|
||||
local service="$1"
|
||||
if [ -z "$service" ]; then
|
||||
usage "4" "No service specified"
|
||||
usage "4" "No custom service specified"
|
||||
fi
|
||||
|
||||
rm "${DDNS_PACKAGE_DIR}/services/${service}.json"
|
||||
rm "${DDNS_PACKAGE_DIR}/custom/${service}.json"
|
||||
}
|
||||
|
||||
action_purge() {
|
||||
rm -rf "${DDNS_PACKAGE_DIR}/services"
|
||||
rm -rf "${DDNS_PACKAGE_DIR}/custom"
|
||||
rm -rf "${DDNS_PACKAGE_DIR}/list"
|
||||
}
|
||||
|
||||
|
|
|
@ -317,19 +317,18 @@ urlencode() {
|
|||
}
|
||||
|
||||
# extract url or script for given DDNS Provider from
|
||||
# directory /usr/share/ddns/services/ipv4/ for IPv4
|
||||
# or from
|
||||
# directory /usr/share/ddns/services/ipv6/ for IPv6
|
||||
# $1 Name of the provider
|
||||
# $1 Name of Variable to store url to
|
||||
# $2 Name of Variable to store script to
|
||||
# $3 Name of Variable to store service answer to
|
||||
# $2 Provider directory
|
||||
# $3 Name of Variable to store url to
|
||||
# $4 Name of Variable to store script to
|
||||
# $5 Name of Variable to store service answer to
|
||||
get_service_data() {
|
||||
local provider="$1"
|
||||
shift
|
||||
local dir="$1"
|
||||
shift
|
||||
|
||||
. /usr/share/libubox/jshn.sh
|
||||
local dir="/usr/share/ddns/services"
|
||||
local name data url answer script
|
||||
|
||||
[ $# -ne 3 ] && write_log 12 "Error calling 'get_service_data()' - wrong number of parameters"
|
||||
|
|
|
@ -233,7 +233,11 @@ esac
|
|||
# otherwise update_url is set inside configuration (custom update url)
|
||||
# or update_script is set inside configuration (custom update script)
|
||||
[ -n "$service_name" ] && {
|
||||
get_service_data "$service_name" update_url update_script UPD_ANSWER
|
||||
# Check first if we have a custom service provider with this name
|
||||
get_service_data "$service_name" "/usr/share/ddns/custom" update_url update_script UPD_ANSWER
|
||||
if [ "$?" != "0" ]; then
|
||||
get_service_data "$service_name" "/usr/share/ddns/default" update_url update_script UPD_ANSWER
|
||||
fi
|
||||
}
|
||||
|
||||
[ -z "$update_url" -a -z "$update_script" ] && write_log 14 "No update_url found/defined or no update_script found/defined!"
|
||||
|
|
Loading…
Reference in a new issue