}
# extract url or script for given DDNS Provider from
-# directory /usr/share/ddns/default
# $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/default"
local name data url answer script
[ $# -ne 3 ] && write_log 12 "Error calling 'get_service_data()' - wrong number of parameters"
# 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!"