From 32c9818b14971c869da67bbf2e0ba76b2a14db0e Mon Sep 17 00:00:00 2001 From: Christian Schoenebeck Date: Mon, 7 Mar 2016 12:04:50 +0100 Subject: [PATCH] ddns-scripts: fix comparing IPv6 addresses fix comparing IPv6 addresses Signed-off-by: Christian Schoenebeck --- net/ddns-scripts/Makefile | 2 +- net/ddns-scripts/files/dynamic_dns_functions.sh | 2 +- net/ddns-scripts/files/dynamic_dns_updater.sh | 10 ++++------ 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/net/ddns-scripts/Makefile b/net/ddns-scripts/Makefile index 7671ffcd5..1805450f9 100755 --- a/net/ddns-scripts/Makefile +++ b/net/ddns-scripts/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=ddns-scripts # Version == major.minor.patch # increase on new functionality (minor) or patches (patch) -PKG_VERSION:=2.6.3 +PKG_VERSION:=2.6.4 # Release == build # increase on changes of services files or tld_names.dat PKG_RELEASE:=1 diff --git a/net/ddns-scripts/files/dynamic_dns_functions.sh b/net/ddns-scripts/files/dynamic_dns_functions.sh index 1f98f7520..525719b59 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.6.3-1" +VERSION="2.6.4-1" SECTION_ID="" # hold config's section name VERBOSE_MODE=1 # default mode is log to console, but easily changed with parameter diff --git a/net/ddns-scripts/files/dynamic_dns_updater.sh b/net/ddns-scripts/files/dynamic_dns_updater.sh index 78b3df74d..02a61dfe9 100755 --- a/net/ddns-scripts/files/dynamic_dns_updater.sh +++ b/net/ddns-scripts/files/dynamic_dns_updater.sh @@ -265,18 +265,15 @@ get_registered_ip REGISTERED_IP "NO_RETRY" ERR_LAST=$? # No error or No IP set otherwise retry [ $ERR_LAST -eq 0 -o $ERR_LAST -eq 127 ] || get_registered_ip REGISTERED_IP +# on IPv6 we use expanded version to be shure when comparing +[ $use_ipv6 -eq 1 ] && expand_ipv6 "$REGISTERED_IP" REGISTERED_IP # loop endlessly, checking ip every check_interval and forcing an updating once every force_interval write_log 6 "Starting main loop at $(eval $DATE_PROG)" while : ; do get_local_ip LOCAL_IP # read local IP - - # on IPv6 we use expanded version to be shure when comparing - [ $use_ipv6 -eq 1 ] && { - expand_ipv6 "$LOCAL_IP" LOCAL_IP - expand_ipv6 "$REGISTERED_IP" REGISTERED_IP - } + [ $use_ipv6 -eq 1 ] && expand_ipv6 "$LOCAL_IP" LOCAL_IP # on IPv6 we use expanded version # prepare update # never updated or forced immediate then NEXT_TIME = 0 @@ -332,6 +329,7 @@ while : ; do REGISTERED_IP="" # clear variable get_registered_ip REGISTERED_IP # get registered/public IP + [ $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