Browse Source

ddns-scripts: fix issue (#337) current/registered ip never match

new extraction of IP inside function get_registered_ip for host and nslookup
thanks to jow for the sed

Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
lilik-openwrt-22.03
Christian Schoenebeck 10 years ago
parent
commit
99264f2527
1 changed files with 2 additions and 2 deletions
  1. +2
    -2
      net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_functions.sh

+ 2
- 2
net/ddns-scripts/files/usr/lib/ddns/dynamic_dns_functions.sh View File

@ -672,7 +672,7 @@ get_registered_ip() {
} || { } || {
# we need to run twice because multi-line output needs to be directly piped to grep because # we need to run twice because multi-line output needs to be directly piped to grep because
# pipe returns return code of last prog in pipe but we need errors from host command # pipe returns return code of last prog in pipe but we need errors from host command
__IP=$(eval $__RUNPROG | grep "^$domain" | grep -m 1 -o "$__REGEX")
__IP=$(eval $__RUNPROG | awk -F "address " '/has/ {print $2; exit}' )
} }
elif [ -x /usr/bin/nslookup ]; then # last use BusyBox nslookup elif [ -x /usr/bin/nslookup ]; then # last use BusyBox nslookup
@ -692,7 +692,7 @@ get_registered_ip() {
} || { } || {
# we need to run twice because multi-line output needs to be directly piped to grep because # we need to run twice because multi-line output needs to be directly piped to grep because
# pipe returns return code of last prog in pipe but we need errors from nslookup command # pipe returns return code of last prog in pipe but we need errors from nslookup command
__IP=$(eval $__RUNPROG | sed '1,2d' | grep -o "Name:\|Address.*" | grep -m 1 -o "$__REGEX")
__IP=$(eval $__RUNPROG | sed -ne "3,\$ { s/^Address [0-9]*: \($__REGEX\).*$/\\1/p }" )
} }
else # there must be an error else # there must be an error


Loading…
Cancel
Save