From 4d050bac76072988f15485bb174d7f843665404e Mon Sep 17 00:00:00 2001 From: Paul Tobias Date: Mon, 26 Aug 2019 18:44:50 +0700 Subject: [PATCH 1/9] ddns-scripts: Use https for domains.google.com Without https the update fails with: ``` 132954 : #> /usr/bin/curl -RsS -o /var/run/ddns/myddns_ipv4.dat --stderr /var/run/ddns/myddns_ipv4.err --noproxy '*' 'http://CENSORED:***PW***@domains.google.com/nic/update?hostname=CENSORED&myip=CENSORED' 132954 : DDNS Provider answered: Moved Temporarily

Moved Temporarily

The document has moved here. 132954 ERROR : IP update not accepted by DDNS Provider ``` Signed-off-by: Paul Tobias (cherry picked from commit 21f5cdd2fa2d4336d4c77d22d404252be1b82ebd) --- net/ddns-scripts/files/services | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/ddns-scripts/files/services b/net/ddns-scripts/files/services index db55847b2e..f6bdbc021b 100644 --- a/net/ddns-scripts/files/services +++ b/net/ddns-scripts/files/services @@ -114,7 +114,7 @@ "goip.de" "http://www.goip.de/setip?username=[USERNAME]&password=[PASSWORD]&subdomain=[DOMAIN]&ip=[IP]" -"google.com" "http://[USERNAME]:[PASSWORD]@domains.google.com/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg" +"google.com" "https://[USERNAME]:[PASSWORD]@domains.google.com/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg" "he.net" "http://[DOMAIN]:[PASSWORD]@dyn.dns.he.net/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg" From c2943b13f9b3d4ff94fa7f2f4a12d06869998a30 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Mon, 27 Jan 2020 21:11:51 -0800 Subject: [PATCH 2/9] ddns-scripts: update ddnss.de response https://github.com/openwrt/packages/issues/8013 Signed-off-by: Rosen Penev (cherry picked from commit 412815184301895910e0cc3d3b40696db8564cf2) --- net/ddns-scripts/files/services | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/ddns-scripts/files/services b/net/ddns-scripts/files/services index f6bdbc021b..01f14ba039 100644 --- a/net/ddns-scripts/files/services +++ b/net/ddns-scripts/files/services @@ -57,7 +57,7 @@ "ddns.com.br" "http://[DOMAIN]:[PASSWORD]@members.ddns.com.br/nic/update?hostname=[DOMAIN]&myip=[IP]" # "ddnss.de" "http://[USERNAME]:[PASSWORD]@ip4.ddnss.de/upd.php?host=[DOMAIN]&ip=[IP]" "good|nochg" -"ddnss.de" "http://ip4.ddnss.de/upd.php?user=[USERNAME]&pwd=[PASSWORD]&host=[DOMAIN]&ip=[IP]" "good|nochg" +"ddnss.de" "http://ip4.ddnss.de/upd.php?user=[USERNAME]&pwd=[PASSWORD]&host=[DOMAIN]&ip=[IP]" "Updated|No change" "ddo.jp" "http://free.ddo.jp/dnsupdate.php?dn=[DOMAIN]&pw=[PASSWORD]&ip=[IP]" From ab7dfd76b675c3f2c6d1755cb1cccd69daadb36d Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Mon, 27 Jan 2020 21:21:13 -0800 Subject: [PATCH 3/9] ddns-scripts: use new DDNS URL for dyndns.org https://github.com/openwrt/packages/issues/8360 Signed-off-by: Rosen Penev (cherry picked from commit a0fa14360cff95f7f3743d1e278231534c3d720f) --- net/ddns-scripts/files/services | 4 ++-- net/ddns-scripts/files/services_ipv6 | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/net/ddns-scripts/files/services b/net/ddns-scripts/files/services index 01f14ba039..f5af26dbd7 100644 --- a/net/ddns-scripts/files/services +++ b/net/ddns-scripts/files/services @@ -95,8 +95,8 @@ "dyndns.it" "http://[USERNAME]:[PASSWORD]@update.dyndns.it/nic/update?system=dyndns&hostname=[DOMAIN]&myip=[IP]" "good|nochg" -"dyn.com" "http://[USERNAME]:[PASSWORD]@members.dyndns.org/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg" -"dyndns.org" "http://[USERNAME]:[PASSWORD]@members.dyndns.org/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg" +"dyn.com" "https://[USERNAME]:[PASSWORD]@members.dyndns.org/v3/update?hostname=[DOMAIN]&myip=[IP]]" "good|nochg" +"dyndns.org" "https://[USERNAME]:[PASSWORD]@members.dyndns.org/v3/update?hostname=[DOMAIN]&myip=[IP]]" "good|nochg" "dyndnss.net" "http://www.dyndnss.net/?user=[USERNAME]&pass=[PASSWORD]&domain=[DOMAIN]&updater=other" diff --git a/net/ddns-scripts/files/services_ipv6 b/net/ddns-scripts/files/services_ipv6 index ced7b2aa5d..ab037c626b 100644 --- a/net/ddns-scripts/files/services_ipv6 +++ b/net/ddns-scripts/files/services_ipv6 @@ -62,9 +62,8 @@ "duiadns.net" "http://ip.duiadns.net/dynamic.duia?host=[DOMAIN]&password=[PASSWORD]&ip6=[IP]" -"dyn.com" "http://[USERNAME]:[PASSWORD]@members.dyndns.org/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg" - -"dyndns.org" "http://[USERNAME]:[PASSWORD]@members.dyndns.org/nic/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg" +"dyn.com" "https://[USERNAME]:[PASSWORD]@members.dyndns.org/v3/update?hostname=[DOMAIN]&myip=[IP]]" "good|nochg" +"dyndns.org" "https://[USERNAME]:[PASSWORD]@members.dyndns.org/v3/update?hostname=[DOMAIN]&myip=[IP]]" "good|nochg" "dynu.com" "http://api.dynu.com/nic/update?hostname=[DOMAIN]&myipv6=[IP]&username=[USERNAME]&password=[PASSWORD]" From d040b2471c59b1fa086c40a5a647597ee75fc6b1 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Mon, 27 Jan 2020 22:17:26 -0800 Subject: [PATCH 4/9] ddns-scripts: remove HTTPS from dyndns URL HTTPS support is not provided by default. Also fixed a mistakenly added ]. Signed-off-by: Rosen Penev (cherry picked from commit fdfe5a76076035fa7674c963ba97bf50a4c29e21) --- net/ddns-scripts/files/services | 4 ++-- net/ddns-scripts/files/services_ipv6 | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/net/ddns-scripts/files/services b/net/ddns-scripts/files/services index f5af26dbd7..d1e225e8fc 100644 --- a/net/ddns-scripts/files/services +++ b/net/ddns-scripts/files/services @@ -95,8 +95,8 @@ "dyndns.it" "http://[USERNAME]:[PASSWORD]@update.dyndns.it/nic/update?system=dyndns&hostname=[DOMAIN]&myip=[IP]" "good|nochg" -"dyn.com" "https://[USERNAME]:[PASSWORD]@members.dyndns.org/v3/update?hostname=[DOMAIN]&myip=[IP]]" "good|nochg" -"dyndns.org" "https://[USERNAME]:[PASSWORD]@members.dyndns.org/v3/update?hostname=[DOMAIN]&myip=[IP]]" "good|nochg" +"dyn.com" "http://[USERNAME]:[PASSWORD]@members.dyndns.org/v3/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg" +"dyndns.org" "http://[USERNAME]:[PASSWORD]@members.dyndns.org/v3/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg" "dyndnss.net" "http://www.dyndnss.net/?user=[USERNAME]&pass=[PASSWORD]&domain=[DOMAIN]&updater=other" diff --git a/net/ddns-scripts/files/services_ipv6 b/net/ddns-scripts/files/services_ipv6 index ab037c626b..8169813508 100644 --- a/net/ddns-scripts/files/services_ipv6 +++ b/net/ddns-scripts/files/services_ipv6 @@ -62,8 +62,8 @@ "duiadns.net" "http://ip.duiadns.net/dynamic.duia?host=[DOMAIN]&password=[PASSWORD]&ip6=[IP]" -"dyn.com" "https://[USERNAME]:[PASSWORD]@members.dyndns.org/v3/update?hostname=[DOMAIN]&myip=[IP]]" "good|nochg" -"dyndns.org" "https://[USERNAME]:[PASSWORD]@members.dyndns.org/v3/update?hostname=[DOMAIN]&myip=[IP]]" "good|nochg" +"dyn.com" "https://[USERNAME]:[PASSWORD]@members.dyndns.org/v3/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg" +"dyndns.org" "https://[USERNAME]:[PASSWORD]@members.dyndns.org/v3/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg" "dynu.com" "http://api.dynu.com/nic/update?hostname=[DOMAIN]&myipv6=[IP]&username=[USERNAME]&password=[PASSWORD]" From a6a2c8d139983b663e8f0069ee11b7ed8e528d8d Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Mon, 27 Jan 2020 22:20:27 -0800 Subject: [PATCH 5/9] ddns-scripts: use HTTP for IPv6 dyndns URL Signed-off-by: Rosen Penev (cherry picked from commit da57ac0f393e5610361680fd6adc86f5e16ac9da) --- net/ddns-scripts/files/services_ipv6 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/ddns-scripts/files/services_ipv6 b/net/ddns-scripts/files/services_ipv6 index 8169813508..ae2aefff89 100644 --- a/net/ddns-scripts/files/services_ipv6 +++ b/net/ddns-scripts/files/services_ipv6 @@ -62,8 +62,8 @@ "duiadns.net" "http://ip.duiadns.net/dynamic.duia?host=[DOMAIN]&password=[PASSWORD]&ip6=[IP]" -"dyn.com" "https://[USERNAME]:[PASSWORD]@members.dyndns.org/v3/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg" -"dyndns.org" "https://[USERNAME]:[PASSWORD]@members.dyndns.org/v3/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg" +"dyn.com" "http://[USERNAME]:[PASSWORD]@members.dyndns.org/v3/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg" +"dyndns.org" "http://[USERNAME]:[PASSWORD]@members.dyndns.org/v3/update?hostname=[DOMAIN]&myip=[IP]" "good|nochg" "dynu.com" "http://api.dynu.com/nic/update?hostname=[DOMAIN]&myipv6=[IP]&username=[USERNAME]&password=[PASSWORD]" From 98f12a896ab078175cb67dd7ad409533aae5f055 Mon Sep 17 00:00:00 2001 From: Rosen Penev Date: Sun, 9 Feb 2020 20:04:56 +1000 Subject: [PATCH 6/9] ddns-scripts: fix logging bug Fixes issue #11282, this patch was provided by PaulFertser on the #openwrt IRC. Signed-off-by: Rosen Penev (cherry picked from commit bf68826897236e6b9bda0a44598f0d9c37cd68c0) --- net/ddns-scripts/files/dynamic_dns_functions.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/net/ddns-scripts/files/dynamic_dns_functions.sh b/net/ddns-scripts/files/dynamic_dns_functions.sh index 0c6befbbcf..db0beb83fe 100755 --- a/net/ddns-scripts/files/dynamic_dns_functions.sh +++ b/net/ddns-scripts/files/dynamic_dns_functions.sh @@ -282,11 +282,11 @@ write_log() { [ $__LEVEL -eq 7 ] && return # no syslog for debug messages __CMD=$(echo -e "$__CMD" | tr -d '\n' | tr '\t' ' ') # remove \n \t chars [ $__EXIT -eq 1 ] && { - eval "$__CMD" # force syslog before exit + eval '$__CMD' # force syslog before exit exit 1 } [ $use_syslog -eq 0 ] && return - [ $((use_syslog + __LEVEL)) -le 7 ] && eval "$__CMD" + [ $((use_syslog + __LEVEL)) -le 7 ] && eval '$__CMD' return } From b7958778ab5e62c2a2a229d8f67458687bbdd0b7 Mon Sep 17 00:00:00 2001 From: Michael Gray Date: Sat, 25 Apr 2020 15:34:56 +1000 Subject: [PATCH 7/9] ddns-scripts: cloudflare.com-v4: Fix success check for new response format JSON response now has spaces between parameters. Accept this new format and the old one. Signed-off-by: Michael Gray (cherry picked from commit 0080bb4bba61171dd2b0654ce36359e5191db01a) --- net/ddns-scripts/files/update_cloudflare_com_v4.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/ddns-scripts/files/update_cloudflare_com_v4.sh b/net/ddns-scripts/files/update_cloudflare_com_v4.sh index dbf6f592bf..7e663ac424 100755 --- a/net/ddns-scripts/files/update_cloudflare_com_v4.sh +++ b/net/ddns-scripts/files/update_cloudflare_com_v4.sh @@ -85,7 +85,7 @@ cloudflare_transfer() { done # check for error - grep -q '"success":true' $DATFILE || { + grep -q '"success": \?true' $DATFILE || { write_log 4 "CloudFlare reported an error:" write_log 7 "$(cat $DATFILE)" # report error return 1 # HTTP-Fehler From 9437c31c86736df78d0c52135bd34d9f079e78f4 Mon Sep 17 00:00:00 2001 From: Zheng Luo Date: Wed, 29 Apr 2020 01:42:22 +0800 Subject: [PATCH 8/9] ddns-scripts: cloudflare.com-v4: Fix grep patterns. Related commit: 0080bb4b Use `\s*` instead of ` \?` to match 0 or multiple spaces. Signed-off-by: Zheng Luo (cherry picked from commit 88b03577c43b5b5c1cb97a3892914e2e222c5008) --- net/ddns-scripts/files/update_cloudflare_com_v4.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/net/ddns-scripts/files/update_cloudflare_com_v4.sh b/net/ddns-scripts/files/update_cloudflare_com_v4.sh index 7e663ac424..7394187faf 100755 --- a/net/ddns-scripts/files/update_cloudflare_com_v4.sh +++ b/net/ddns-scripts/files/update_cloudflare_com_v4.sh @@ -85,7 +85,7 @@ cloudflare_transfer() { done # check for error - grep -q '"success": \?true' $DATFILE || { + grep -q '"success":\s*true' $DATFILE || { write_log 4 "CloudFlare reported an error:" write_log 7 "$(cat $DATFILE)" # report error return 1 # HTTP-Fehler @@ -133,7 +133,7 @@ __PRGBASE="$__PRGBASE --header 'Content-Type: application/json' " __RUNPROG="$__PRGBASE --request GET '$__URLBASE/zones?name=$__DOMAIN'" cloudflare_transfer || return 1 # extract zone id -__ZONEID=$(grep -o '"id":"[^"]*' $DATFILE | grep -o '[^"]*$' | head -1) +__ZONEID=$(grep -o '"id":\s*"[^"]*' $DATFILE | grep -o '[^"]*$' | head -1) [ -z "$__ZONEID" ] && { write_log 4 "Could not detect 'zone id' for domain.tld: '$__DOMAIN'" return 127 @@ -143,14 +143,14 @@ __ZONEID=$(grep -o '"id":"[^"]*' $DATFILE | grep -o '[^"]*$' | head -1) __RUNPROG="$__PRGBASE --request GET '$__URLBASE/zones/$__ZONEID/dns_records?name=$__HOST&type=$__TYPE'" cloudflare_transfer || return 1 # extract record id -__RECID=$(grep -o '"id":"[^"]*' $DATFILE | grep -o '[^"]*$' | head -1) +__RECID=$(grep -o '"id":\s*"[^"]*' $DATFILE | grep -o '[^"]*$' | head -1) [ -z "$__RECID" ] && { write_log 4 "Could not detect 'record id' for host.domain.tld: '$__HOST'" return 127 } # extract current stored IP -__DATA=$(grep -o '"content":"[^"]*' $DATFILE | grep -o '[^"]*$' | head -1) +__DATA=$(grep -o '"content":\s*"[^"]*' $DATFILE | grep -o '[^"]*$' | head -1) # check data [ $use_ipv6 -eq 0 ] \ @@ -178,7 +178,7 @@ __DATA=$(grep -o '"content":"[^"]*' $DATFILE | grep -o '[^"]*$' | head -1) # update is needed # let's build data to send # set proxied parameter -__PROXIED=$(grep -o '"proxied":[^",]*' $DATFILE | grep -o '[^:]*$') +__PROXIED=$(grep -o '"proxied":\s*[^",]*' $DATFILE | grep -o '[^:]*$') # use file to work around " needed for json cat > $DATFILE << EOF From b8ce0e959994932b45c15ce3ae8f77968c9a9ff9 Mon Sep 17 00:00:00 2001 From: Jeffery To Date: Fri, 8 May 2020 15:47:24 +0800 Subject: [PATCH 9/9] ddns-scripts: Increment PKG_RELEASE and internal version number Signed-off-by: Jeffery To --- net/ddns-scripts/Makefile | 2 +- net/ddns-scripts/files/dynamic_dns_functions.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) mode change 100755 => 100644 net/ddns-scripts/Makefile diff --git a/net/ddns-scripts/Makefile b/net/ddns-scripts/Makefile old mode 100755 new mode 100644 index 603944048d..52ab280091 --- a/net/ddns-scripts/Makefile +++ b/net/ddns-scripts/Makefile @@ -12,7 +12,7 @@ PKG_NAME:=ddns-scripts PKG_VERSION:=2.7.8 # Release == build # increase on changes of services files or tld_names.dat -PKG_RELEASE:=12 +PKG_RELEASE:=13 PKG_LICENSE:=GPL-2.0 PKG_MAINTAINER:= diff --git a/net/ddns-scripts/files/dynamic_dns_functions.sh b/net/ddns-scripts/files/dynamic_dns_functions.sh index db0beb83fe..499cc0923f 100755 --- a/net/ddns-scripts/files/dynamic_dns_functions.sh +++ b/net/ddns-scripts/files/dynamic_dns_functions.sh @@ -21,7 +21,7 @@ . /lib/functions/network.sh # GLOBAL VARIABLES # -VERSION="2.7.8-11" +VERSION="2.7.8-13" SECTION_ID="" # hold config's section name VERBOSE=0 # default mode is log to console, but easily changed with parameter MYPROG=$(basename $0) # my program call name