ddns-scripts: initialise the is_glue variable
authorMathias Kresin <[email protected]>
Sat, 4 Jun 2016 05:30:53 +0000 (07:30 +0200)
committerMathias Kresin <[email protected]>
Sun, 12 Jun 2016 10:42:44 +0000 (12:42 +0200)
Improve the code as suggested by Christian Schoenebeck.

Signed-off-by: Mathias Kresin <[email protected]>
net/ddns-scripts/Makefile
net/ddns-scripts/files/dynamic_dns_functions.sh
net/ddns-scripts/files/dynamic_dns_lucihelper.sh
net/ddns-scripts/files/dynamic_dns_updater.sh

index 5e6f3acdfde7e87633c185eb55d640cddd51b236..f83c94b2a712b1568ee1f7b1486177c93c1369b4 100755 (executable)
@@ -12,7 +12,7 @@ PKG_NAME:=ddns-scripts
 PKG_VERSION:=2.7.1
 # Release == build
 # increase on changes of services files or tld_names.dat
-PKG_RELEASE:=2
+PKG_RELEASE:=3
 
 PKG_LICENSE:=GPL-2.0
 PKG_MAINTAINER:=Christian Schoenebeck <[email protected]>
index 93a35c8c30aa3611f0088ef94e460d70f659c968..f7e15733121df532f70614ed259b2b4876e19620 100755 (executable)
@@ -956,7 +956,7 @@ get_registered_ip() {
        # 1     no IP detected
 
        [ $# -lt 1 -o $# -gt 2 ] && write_log 12 "Error calling 'get_registered_ip()' - wrong number of parameters"
-       [ $is_glue -eq 1 ] && [ -z "$(which host)" ] && write_log 12 "Update of glue records is only supported using BIND host"
+       [ $is_glue -eq 1 -a -z "$(which host)" ] && write_log 12 "Update of glue records is only supported using BIND host"
        write_log 7 "Detect registered/public IP"
 
        # set correct regular expression
@@ -1040,8 +1040,6 @@ get_registered_ip() {
                        write_log 7 "$(cat $ERRFILE)"
                else
                        if [ "$__PROG" = "BIND host" ]; then
-                               __DATA=$(cat $DATFILE | awk -F "address " '/has/ {print $2; exit}' )
-
                                if [ $is_glue -eq 1 ]; then
                                        __DATA=$(cat $DATFILE | grep "^$lookup_host" | grep -m 1 -o "$__REGEX" )
                                else
index 3bf661bb36bfaf584bfb90e01aa0061a45a7d8d0..4cddb1fa5ad75c9c835943de7688367cc3fb375f 100755 (executable)
@@ -33,6 +33,7 @@ case "$1" in
                force_ipversion=${4:-"0"}       # Force IP Version - default 0 - No
                force_dnstcp=${5:-"0"}          # Force TCP on DNS - default 0 - No
                dns_server=${6:-""}             # DNS server - default No DNS
+               is_glue=${7:-"0"}               # Is glue record - default 0 - No
                write_log 7 "-----> get_registered_ip IP"
                get_registered_ip IP
                __RET=$?
index 31dac5eff64097b000f9f7e3b47c9fb89c56accf..b509d99054095d11b789e4effa8b6a0f5e979807 100755 (executable)
@@ -131,6 +131,7 @@ ERR_LAST=$? # save return code - equal 0 if SECTION_ID found
 [ -z "$force_ipversion" ] && force_ipversion=0 # default let system decide
 [ -z "$force_dnstcp" ]   && force_dnstcp=0     # default UDP
 [ -z "$ip_source" ]      && ip_source="network"
+[ -z "$is_glue" ]        && is_glue=0          # default the ddns record is not a glue record
 [ "$ip_source" = "network" -a -z "$ip_network" -a $use_ipv6 -eq 0 ] && ip_network="wan"  # IPv4: default wan
 [ "$ip_source" = "network" -a -z "$ip_network" -a $use_ipv6 -eq 1 ] && ip_network="wan6" # IPv6: default wan6
 [ "$ip_source" = "web" -a -z "$ip_url" -a $use_ipv6 -eq 0 ] && ip_url="http://checkip.dyndns.com"