From b6377ba8db4e8d70dbbf8188349954a696ea95de Mon Sep 17 00:00:00 2001 From: Christian Schoenebeck Date: Sun, 18 Dec 2016 20:35:39 +0100 Subject: [PATCH] ddns-scripts: fixes for cloudflare v4 - update_cloudflare_com_v4.sh: enclose urls in single quotes - dynamic_dns_functions.sh: force to return only one ip, if using nslookup to get registered ip Signed-off-by: Christian Schoenebeck --- net/ddns-scripts/Makefile | 2 +- net/ddns-scripts/files/dynamic_dns_functions.sh | 6 +++--- net/ddns-scripts/files/update_cloudflare_com_v4.sh | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/net/ddns-scripts/Makefile b/net/ddns-scripts/Makefile index 713e00e1c..a9938c4ea 100755 --- a/net/ddns-scripts/Makefile +++ b/net/ddns-scripts/Makefile @@ -12,7 +12,7 @@ PKG_NAME:=ddns-scripts PKG_VERSION:=2.7.6 # Release == build # increase on changes of services files or tld_names.dat -PKG_RELEASE:=5 +PKG_RELEASE:=6 PKG_LICENSE:=GPL-2.0 PKG_MAINTAINER:=Christian Schoenebeck diff --git a/net/ddns-scripts/files/dynamic_dns_functions.sh b/net/ddns-scripts/files/dynamic_dns_functions.sh index f8a260c0e..9a2a64aea 100755 --- a/net/ddns-scripts/files/dynamic_dns_functions.sh +++ b/net/ddns-scripts/files/dynamic_dns_functions.sh @@ -1123,7 +1123,7 @@ get_registered_ip() { else if [ -n "$BIND_HOST" ]; then if [ $is_glue -eq 1 ]; then - __DATA=$(cat $DATFILE | grep "^$lookup_host" | grep -m 1 -o "$__REGEX" ) + __DATA=$(cat $DATFILE | grep "^$lookup_host" | grep -om1 "$__REGEX" ) else __DATA=$(cat $DATFILE | awk -F "address " '/has/ {print $2; exit}' ) fi @@ -1132,9 +1132,9 @@ get_registered_ip() { elif [ -n "$DRILL" ]; then __DATA=$(cat $DATFILE | awk '/^'"$lookup_host"'/ {print $5; exit}' ) elif [ -n "$HOSTIP" ]; then - __DATA=$(cat $DATFILE | grep -m 1 -o "$__REGEX") + __DATA=$(cat $DATFILE | grep -om1 "$__REGEX") elif [ -n "$NSLOOKUP" ]; then - __DATA=$(cat $DATFILE | sed -ne "/^Name:/,\$ { s/^Address[0-9 ]\{0,\}: \($__REGEX\).*$/\\1/p }" ) + __DATA=$(cat $DATFILE | sed -e '1,/Name:/d' | grep -om1 "$__REGEX" ) fi [ -n "$__DATA" ] && { write_log 7 "Registered IP '$__DATA' detected" diff --git a/net/ddns-scripts/files/update_cloudflare_com_v4.sh b/net/ddns-scripts/files/update_cloudflare_com_v4.sh index 621203c1f..f07cd9470 100755 --- a/net/ddns-scripts/files/update_cloudflare_com_v4.sh +++ b/net/ddns-scripts/files/update_cloudflare_com_v4.sh @@ -118,7 +118,7 @@ __PRGBASE="$__PRGBASE --header 'Content-Type: application/json' " # __PRGBASE="$__PRGBASE --header 'Accept: application/json' " # read zone id for registered domain.TLD -__RUNPROG="$__PRGBASE --request GET $__URLBASE/zones?name=$__DOMAIN" +__RUNPROG="$__PRGBASE --request GET '$__URLBASE/zones?name=$__DOMAIN'" cloudflare_transfer || return 1 # extract zone id __ZONEID=$(grep -o '"id":"[^"]*' $DATFILE | grep -o '[^"]*$' | head -1) @@ -128,7 +128,7 @@ __ZONEID=$(grep -o '"id":"[^"]*' $DATFILE | grep -o '[^"]*$' | head -1) } # read record id for A or AAAA record of host.domain.TLD -__RUNPROG="$__PRGBASE --request GET $__URLBASE/zones/$__ZONEID/dns_records?name=$__HOST&type=$__TYPE" +__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) @@ -171,7 +171,7 @@ cat > $DATFILE << EOF EOF # let's complete transfer command -__RUNPROG="$__PRGBASE --request PUT --data @$DATFILE $__URLBASE/zones/$__ZONEID/dns_records/$__RECID" +__RUNPROG="$__PRGBASE --request PUT --data @$DATFILE '$__URLBASE/zones/$__ZONEID/dns_records/$__RECID'" cloudflare_transfer || return 1 return 0