ddns-scripts: replace IP type (name) "local" with "current"
authorRafał Miłecki <rafal@milecki.pl>
Tue, 27 Sep 2022 15:42:58 +0000 (17:42 +0200)
committerRafał Miłecki <rafal@milecki.pl>
Tue, 27 Sep 2022 15:42:58 +0000 (17:42 +0200)
Local suggests something related to the local network or available
locally only. All that code related to the "local" IP was actually
dealing with *current* device external IP address. Using name "current"
should make code a bit easier to understand.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_functions.sh
net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_lucihelper.sh
net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_updater.sh

index 5026bd2133916fec8f16ba39ce3674e07c07f968..af2ef32aedaf078b3642242da2f8a8e37d5d32bd 100644 (file)
@@ -47,8 +47,8 @@ CURR_TIME=0           # holds the current uptime
 NEXT_TIME=0            # calculated time for next FORCED update
 EPOCH_TIME=0           # seconds since 1.1.1970 00:00:00
 
+CURRENT_IP=""          # holds the current IP read from the box
 REGISTERED_IP=""       # holds the IP read from DNS
-LOCAL_IP=""            # holds the local IP read from the box
 
 URL_USER=""            # url encoded $username from config file
 URL_PASS=""            # url encoded $password from config file
@@ -57,7 +57,7 @@ URL_PENC=""           # url encoded $param_enc from config file
 UPD_ANSWER=""          # Answer given by service on success
 
 ERR_LAST=0             # used to save $? return code of program and function calls
-ERR_UPDATE=0           # error counter on different local and registered ip
+ERR_UPDATE=0           # error counter on different current and registered IPs
 
 PID_SLEEP=0            # ProcessID of current background "sleep"
 
@@ -722,7 +722,7 @@ do_transfer() {
                        # set correct program to detect IP
                        [ $use_ipv6 -eq 0 ] && __RUNPROG="network_get_ipaddr" || __RUNPROG="network_get_ipaddr6"
                        eval "$__RUNPROG __BINDIP $bind_network" || \
-                               write_log 13 "Can not detect local IP using '$__RUNPROG $bind_network' - Error: '$?'"
+                               write_log 13 "Can not detect current IP using '$__RUNPROG $bind_network' - Error: '$?'"
                        write_log 7 "Force communication via IP '$__BINDIP'"
                        __PROG="$__PROG --bind-address=$__BINDIP"
                fi
@@ -923,13 +923,13 @@ send_update() {
        fi
 }
 
-get_local_ip () {
-       # $1    Name of Variable to store local IP (LOCAL_IP)
+get_current_ip () {
+       # $1    Name of Variable to store current IP
        local __CNT=0   # error counter
        local __RUNPROG __DATA __URL __ERR
 
-       [ $# -ne 1 ] && write_log 12 "Error calling 'get_local_ip()' - wrong number of parameters"
-       write_log 7 "Detect local IP on '$ip_source'"
+       [ $# -ne 1 ] && write_log 12 "Error calling 'get_current_ip()' - wrong number of parameters"
+       write_log 7 "Detect current IP on '$ip_source'"
 
        while : ; do
                if [ -n "$ip_network" -a "$ip_source" = "network" ]; then
@@ -938,8 +938,8 @@ get_local_ip () {
                        [ $use_ipv6 -eq 0 ] && __RUNPROG="network_get_ipaddr" \
                                            || __RUNPROG="network_get_ipaddr6"
                        eval "$__RUNPROG __DATA $ip_network" || \
-                               write_log 13 "Can not detect local IP using $__RUNPROG '$ip_network' - Error: '$?'"
-                       [ -n "$__DATA" ] && write_log 7 "Local IP '$__DATA' detected on network '$ip_network'"
+                               write_log 13 "Can not detect current IP using $__RUNPROG '$ip_network' - Error: '$?'"
+                       [ -n "$__DATA" ] && write_log 7 "Current IP '$__DATA' detected on network '$ip_network'"
                elif [ -n "$ip_interface" -a "$ip_source" = "interface" ]; then
                        local __DATA4=""; local __DATA6=""
                        if [ -n "$(command -v ip)" ]; then              # ip program installed
@@ -1018,14 +1018,14 @@ get_local_ip () {
                                fi
                        fi
                        [ $use_ipv6 -eq 0 ] && __DATA="$__DATA4" || __DATA="$__DATA6"
-                       [ -n "$__DATA" ] && write_log 7 "Local IP '$__DATA' detected on interface '$ip_interface'"
+                       [ -n "$__DATA" ] && write_log 7 "Current IP '$__DATA' detected on interface '$ip_interface'"
                elif [ -n "$ip_script" -a "$ip_source" = "script" ]; then
                        write_log 7 "#> $ip_script >$DATFILE 2>$ERRFILE"
                        eval $ip_script >$DATFILE 2>$ERRFILE
                        __ERR=$?
                        if [ $__ERR -eq 0 ]; then
                                __DATA=$(cat $DATFILE)
-                               [ -n "$__DATA" ] && write_log 7 "Local IP '$__DATA' detected via script '$ip_script'"
+                               [ -n "$__DATA" ] && write_log 7 "Current IP '$__DATA' detected via script '$ip_script'"
                        else
                                write_log 3 "$ip_script Error: '$__ERR'"
                                write_log 7 "$(cat $ERRFILE)"           # report error
@@ -1036,9 +1036,9 @@ get_local_ip () {
                        [ $use_ipv6 -eq 0 ] \
                                && __DATA=$(grep -m 1 -o "$IPV4_REGEX" $DATFILE) \
                                || __DATA=$(grep -m 1 -o "$IPV6_REGEX" $DATFILE)
-                       [ -n "$__DATA" ] && write_log 7 "Local IP '$__DATA' detected on web at '$ip_url'"
+                       [ -n "$__DATA" ] && write_log 7 "Current IP '$__DATA' detected on web at '$ip_url'"
                else
-                       write_log 12 "Error in 'get_local_ip()' - unhandled ip_source '$ip_source'"
+                       write_log 12 "Error in 'get_current_ip()' - unhandled ip_source '$ip_source'"
                fi
                # valid data found return here
                [ -n "$__DATA" ] && {
@@ -1053,22 +1053,22 @@ get_local_ip () {
 
                [ $VERBOSE -gt 1 ] && {
                        # VERBOSE > 1 then NO retry
-                       write_log 4 "Get local IP via '$ip_source' failed - Verbose Mode: $VERBOSE - NO retry on error"
+                       write_log 4 "Get current IP via '$ip_source' failed - Verbose Mode: $VERBOSE - NO retry on error"
                        return 1
                }
 
                __CNT=$(( $__CNT + 1 )) # increment error counter
                # if error count > retry_max_count leave here
                [ $retry_max_count -gt 0 -a $__CNT -gt $retry_max_count ] && \
-                       write_log 14 "Get local IP via '$ip_source' failed after $retry_max_count retries"
-               write_log 4 "Get local IP via '$ip_source' failed - retry $__CNT/$retry_max_count in $RETRY_SECONDS seconds"
+                       write_log 14 "Get current IP via '$ip_source' failed after $retry_max_count retries"
+               write_log 4 "Get current IP via '$ip_source' failed - retry $__CNT/$retry_max_count in $RETRY_SECONDS seconds"
                sleep $RETRY_SECONDS &
                PID_SLEEP=$!
                wait $PID_SLEEP # enable trap-handler
                PID_SLEEP=0
        done
        # we should never come here there must be a programming error
-       write_log 12 "Error in 'get_local_ip()' - program coding error"
+       write_log 12 "Error in 'get_current_ip()' - program coding error"
 }
 
 get_registered_ip() {
index ab3eb78e725e35ce3218bc4d39c945e560bd8fc9..f76334848d75ec73f299870fa17dcf49cd7f1131 100644 (file)
@@ -137,11 +137,11 @@ case "$1" in
                if [ "$ip_source" = "web" -o  "$ip_source" = "script" ]; then
                        # we wait only 3 seconds for an
                        # answer from "web" or "script"
-                       write_log 7 "-----> timeout 3 -- get_local_ip IP"
-                       timeout 3 -- get_local_ip IP
+                       write_log 7 "-----> timeout 3 -- get_current_ip IP"
+                       timeout 3 -- get_current_ip IP
                else
-                       write_log 7 "-----> get_local_ip IP"
-                       get_local_ip IP
+                       write_log 7 "-----> get_current_ip IP"
+                       get_current_ip IP
                fi
                __RET=$?
                ;;
index 47b2abfdf2462754d56d31718a8520ac0a64cec9..210d7339b05f53241f91d2364cba8c461a16cd5e 100644 (file)
@@ -145,10 +145,10 @@ trap "trap_handler 15" 15 # SIGTERM       Termination
 #
 # use_syslog   log activity to syslog
 #
-# ip_source    source to detect current local IP ('network' or 'web' or 'script' or 'interface')
+# ip_source    source to detect current IP ('network' or 'web' or 'script' or 'interface')
 # ip_network   local defined network to read IP from i.e. 'wan' or 'wan6'
-# ip_url       URL to read local address from i.e. http://checkip.dyndns.com/ or http://checkipv6.dyndns.com/
-# ip_script    full path and name of your script to detect local IP
+# ip_url       URL to read current IP from i.e. http://checkip.dyndns.com/ or http://checkipv6.dyndns.com/
+# ip_script    full path and name of your script to detect current IP
 # ip_interface physical interface to use for detecting
 #
 # check_interval       check for changes every  !!! checks below 10 minutes make no sense because the Internet
@@ -165,7 +165,7 @@ trap "trap_handler 15" 15   # SIGTERM       Termination
 # force_ipversion      force usage of IPv4 or IPv6 for the whole detection and update communication
 # dns_server           using a non default dns server to get Registered IP from Internet
 # force_dnstcp         force communication with DNS server via TCP instead of default UDP
-# proxy                        using a proxy for communication !!! ALSO used to detect local IP via web => return proxy's IP !!!
+# proxy                        using a proxy for communication !!! ALSO used to detect current IP via web => return proxy's IP !!!
 # use_logfile          self-explanatory "/var/log/ddns/$SECTION_ID.log"
 # is_glue                      the record that should be updated is a glue record
 #
@@ -280,8 +280,8 @@ esac
 # verify ip_source 'script' if script is configured and executable
 if [ "$ip_source" = "script" ]; then
        set -- $ip_script       #handling script with parameters, we need a trick
-       [ -z "$1" ] && write_log 14 "No script defined to detect local IP!"
-       [ -x "$1" ] || write_log 14 "Script to detect local IP not executable!"
+       [ -z "$1" ] && write_log 14 "No script defined to detect current IP!"
+       [ -x "$1" ] || write_log 14 "Script to detect current IP not executable!"
 fi
 
 # compute update interval in seconds
@@ -347,8 +347,8 @@ ERR_LAST=$?
 write_log 6 "Starting main loop at $(eval $DATE_PROG)"
 while : ; do
 
-       get_local_ip LOCAL_IP           # read local IP
-       [ $use_ipv6 -eq 1 ] && expand_ipv6 "$LOCAL_IP" LOCAL_IP # on IPv6 we use expanded version
+       get_current_ip CURRENT_IP               # read current IP
+       [ $use_ipv6 -eq 1 ] && expand_ipv6 "$CURRENT_IP" CURRENT_IP     # on IPv6 we use expanded version
 
        # prepare update
        # never updated or forced immediate then NEXT_TIME = 0
@@ -358,24 +358,24 @@ while : ; do
 
        get_uptime CURR_TIME            # get current uptime
 
-       # send update when current time > next time or local ip different from registered ip
-       if [ $CURR_TIME -ge $NEXT_TIME -o "$LOCAL_IP" != "$REGISTERED_IP" ]; then
+       # send update when current time > next time or current ip different from registered ip
+       if [ $CURR_TIME -ge $NEXT_TIME -o "$CURRENT_IP" != "$REGISTERED_IP" ]; then
                if [ $VERBOSE -gt 2 ]; then
                        write_log 7 "Verbose Mode: $VERBOSE - NO UPDATE send"
-               elif [ "$LOCAL_IP" != "$REGISTERED_IP" ]; then
-                       write_log 7 "Update needed - L: '$LOCAL_IP' <> R: '$REGISTERED_IP'"
+               elif [ "$CURRENT_IP" != "$REGISTERED_IP" ]; then
+                       write_log 7 "Update needed - L: '$CURRENT_IP' <> R: '$REGISTERED_IP'"
                else
-                       write_log 7 "Forced Update - L: '$LOCAL_IP' == R: '$REGISTERED_IP'"
+                       write_log 7 "Forced Update - L: '$CURRENT_IP' == R: '$REGISTERED_IP'"
                fi
 
                ERR_LAST=0
                [ $VERBOSE -lt 3 ] && {
                        # only send if VERBOSE < 3
-                       send_update "$LOCAL_IP"
+                       send_update "$CURRENT_IP"
                        ERR_LAST=$?     # save return value
                }
 
-               # error sending local IP to provider
+               # error sending current IP to provider
                # we have no communication error (handled inside send_update/do_transfer)
                # but update was not recognized
                # do NOT retry after RETRY_SECONDS, do retry after CHECK_SECONDS
@@ -384,9 +384,9 @@ while : ; do
                if [ $ERR_LAST -eq 0 ]; then
                        get_uptime LAST_TIME            # we send update, so
                        echo $LAST_TIME > $UPDFILE      # save LASTTIME to file
-                       [ "$LOCAL_IP" != "$REGISTERED_IP" ] \
-                               && write_log 6 "Update successful - IP '$LOCAL_IP' send" \
-                               || write_log 6 "Forced update successful - IP: '$LOCAL_IP' send"
+                       [ "$CURRENT_IP" != "$REGISTERED_IP" ] \
+                               && write_log 6 "Update successful - IP '$CURRENT_IP' send" \
+                               || write_log 6 "Forced update successful - IP: '$CURRENT_IP' send"
                elif [ $ERR_LAST -eq 127 ]; then
                        write_log 3 "No update send to DDNS Provider"
                else
@@ -409,7 +409,7 @@ while : ; do
        [ $use_ipv6 -eq 1 ] && expand_ipv6 "$REGISTERED_IP" REGISTERED_IP       # on IPv6 we use expanded version
 
        # IP's are still different
-       if [ "$LOCAL_IP" != "$REGISTERED_IP" ]; then
+       if [ "$CURRENT_IP" != "$REGISTERED_IP" ]; then
                if [ $VERBOSE -le 1 ]; then     # VERBOSE <=1 then retry
                        ERR_UPDATE=$(( $ERR_UPDATE + 1 ))
                        [ $retry_max_count -gt 0 -a $ERR_UPDATE -gt $retry_max_count ] && \