Unable to update IPV6: `Use of uninitialized value in sprintf at /usr/bin/ddclient line 2160`
Closed this issue · 2 comments
YuruiHong commented
I tried 2 configurations:
ssl=yes
protocol=dyndns2
use=web
curl=yes
server=dynv6.com
login=none
password='xxxxxx'
yuruihong.dynv6.net
and
ssl=yes
protocol=dyndns2
use=no
usev6=ifv6, ifv6=wlp1s0
server=dynv6.com
login=none
password='xxxxxx'
yuruihong.dynv6.net
Neither worked for me. I think that get_ipv6
has successfully got my IP, but the GET
request is wrong. Not sure what have caused that, so I put my full debug information here:
$ sudo ddclient -daemon=0 -debug -verbose -noquiet -file /etc/ddclient/ddclient6.conf
=== opt ====
opt{cache} : <undefined>
opt{cmd} : <undefined>
opt{cmd-skip} : <undefined>
opt{cmdv4} : <undefined>
opt{cmdv6} : <undefined>
opt{curl} : <undefined>
opt{daemon} : 0
opt{debug} : 1
opt{exec} : <undefined>
opt{facility} : <undefined>
opt{file} : /etc/ddclient/ddclient6.conf
opt{force} : <undefined>
opt{foreground} : <undefined>
opt{fw} : <undefined>
opt{fw-banlocal} : CODE(0x558a56fbc410)
opt{fw-login} : <undefined>
opt{fw-password} : <undefined>
opt{fw-skip} : <undefined>
opt{fw-ssl-validate} : <undefined>
opt{fwv4} : <undefined>
opt{fwv4-skip} : <undefined>
opt{fwv6} : <undefined>
opt{fwv6-skip} : <undefined>
opt{geturl} : <undefined>
opt{help} : <undefined>
opt{host} : <undefined>
opt{if} : <undefined>
opt{if-skip} : CODE(0x558a56fbc410)
opt{ifv4} : <undefined>
opt{ifv6} : <undefined>
opt{ip} : <undefined>
opt{ipv4} : <undefined>
opt{ipv6} : <undefined>
opt{list-devices} : CODE(0x558a57180a80)
opt{list-protocols} : CODE(0x558a571b25c8)
opt{list-web-services} : CODE(0x558a571d8858)
opt{login} : <redacted>
opt{mail} : <undefined>
opt{mail-failure} : <undefined>
opt{max-interval} : 2592000
opt{max-warn} : <undefined>
opt{min-error-interval} : 300
opt{min-interval} : 30
opt{options} : <undefined>
opt{password} : <redacted>
opt{pid} : <undefined>
opt{postscript} : <undefined>
opt{priority} : <undefined>
opt{protocol} : <undefined>
opt{proxy} : <undefined>
opt{query} : <undefined>
opt{quiet} : 0
opt{retry} : <undefined>
opt{server} : <undefined>
opt{ssl} : <undefined>
opt{ssl_ca_dir} : <undefined>
opt{ssl_ca_file} : <undefined>
opt{syslog} : <undefined>
opt{test} : <undefined>
opt{timeout} : <undefined>
opt{use} : <undefined>
opt{usev4} : <undefined>
opt{usev6} : <undefined>
opt{verbose} : 1
opt{web} : <undefined>
opt{web-skip} : <undefined>
opt{web-ssl-validate} : <undefined>
opt{webv4} : <undefined>
opt{webv4-skip} : <undefined>
opt{webv6} : <undefined>
opt{webv6-skip} : <undefined>
=== globals ====
globals{daemon} : 60
globals{debug} : 1
globals{file} : /etc/ddclient/ddclient6.conf
globals{ifv6} : wlp1s0
globals{login} : <redacted>
globals{password} : <redacted>
globals{protocol} : dyndns2
globals{quiet} : 0
globals{server} : dynv6.com
globals{ssl} : 1
globals{use} : no
globals{usev6} : ifv6
globals{verbose} : 1
=== config ====
config{yuruihong.dynv6.net}{atime} : 0
config{yuruihong.dynv6.net}{backupmx} : 0
config{yuruihong.dynv6.net}{cacheable} : ARRAY(0x558a57355810)
config{yuruihong.dynv6.net}{cmd} : <undefined>
config{yuruihong.dynv6.net}{cmd-skip} :
config{yuruihong.dynv6.net}{custom} : 0
config{yuruihong.dynv6.net}{fw} :
config{yuruihong.dynv6.net}{fw-login} : <undefined>
config{yuruihong.dynv6.net}{fw-password} :
config{yuruihong.dynv6.net}{fw-skip} :
config{yuruihong.dynv6.net}{fw-ssl-validate} : 1
config{yuruihong.dynv6.net}{host} : yuruihong.dynv6.net
config{yuruihong.dynv6.net}{if} : ppp0
config{yuruihong.dynv6.net}{ip} : <undefined>
config{yuruihong.dynv6.net}{ipv4} : <undefined>
config{yuruihong.dynv6.net}{ipv6} : <undefined>
config{yuruihong.dynv6.net}{login} : <redacted>
config{yuruihong.dynv6.net}{max-interval} : 2592000
config{yuruihong.dynv6.net}{min-error-interval} : 300
config{yuruihong.dynv6.net}{min-interval} : 30
config{yuruihong.dynv6.net}{mtime} : 0
config{yuruihong.dynv6.net}{mx} :
config{yuruihong.dynv6.net}{password} : <redacted>
config{yuruihong.dynv6.net}{protocol} : dyndns2
config{yuruihong.dynv6.net}{script} : /nic/update
config{yuruihong.dynv6.net}{server} : dynv6.com
config{yuruihong.dynv6.net}{static} : 0
config{yuruihong.dynv6.net}{status} :
config{yuruihong.dynv6.net}{status-ipv4} :
config{yuruihong.dynv6.net}{status-ipv6} :
config{yuruihong.dynv6.net}{use} : no
config{yuruihong.dynv6.net}{warned-min-error-interval} : 0
config{yuruihong.dynv6.net}{warned-min-interval} : 0
config{yuruihong.dynv6.net}{web} : dyndns
config{yuruihong.dynv6.net}{web-skip} :
config{yuruihong.dynv6.net}{web-ssl-validate} : 1
config{yuruihong.dynv6.net}{wildcard} : 0
config{yuruihong.dynv6.net}{wtime} : 30
=== cache ====
cache{yuruihong.dynv6.net}{atime} : 0
cache{yuruihong.dynv6.net}{backupmx} : 0
cache{yuruihong.dynv6.net}{custom} : 0
cache{yuruihong.dynv6.net}{host} : yuruihong.dynv6.net
cache{yuruihong.dynv6.net}{ip} : 183.172.29.47
cache{yuruihong.dynv6.net}{mtime} : 1703102769
cache{yuruihong.dynv6.net}{mx} :
cache{yuruihong.dynv6.net}{script} : /nic/update
cache{yuruihong.dynv6.net}{static} : 0
cache{yuruihong.dynv6.net}{status} : good
cache{yuruihong.dynv6.net}{status-ipv4} : noconnect
cache{yuruihong.dynv6.net}{status-ipv6} : noconnect
cache{yuruihong.dynv6.net}{warned-min-error-interval} : 1703102867
cache{yuruihong.dynv6.net}{warned-min-interval} : 0
cache{yuruihong.dynv6.net}{wildcard} : 0
cache{yuruihong.dynv6.net}{wtime} : 30
WARNING: 'if-skip' is deprecated and does nothing for IPv6
DEBUG: Reply from 'ip -6 -o addr show dev wlp1s0 scope global' :
DEBUG: ------
DEBUG: 2: wlp1s0 inet6 2402:f000:2:1801:9a6e:10af:471d:8ba3/64 scope global dynamic noprefixroute \ valid_lft 3599sec preferred_lft 3599sec
DEBUG: ------
DEBUG: Raw IPv6 after filtering for GUA addresses wlp1s0: (1)
DEBUG: 2: wlp1s0 inet6 2402:f000:2:1801:9a6e:10af:471d:8ba3/64 scope global dynamic noprefixroute \ valid_lft 3599sec preferred_lft 3599sec
DEBUG: get_ipv6: using (ifv6, wlp1s0) reports 2402:f000:2:1801:9a6e:10af:471d:8ba3
DEBUG:
DEBUG: nic_dyndns2_update -------------------
Use of uninitialized value $_[0] in sprintf at /usr/bin/ddclient line 2160.
INFO: setting IP address to for yuruihong.dynv6.net
UPDATE: updating yuruihong.dynv6.net
DEBUG: proxy = <undefined>
DEBUG: protocol = https
DEBUG: server = dynv6.com
DEBUG: url = nic/update?<redacted>
DEBUG: ip ver =
CONNECT: dynv6.com
CONNECTED: using SSL
SENDING: GET /nic/update?system=dyndns&hostname=yuruihong.dynv6.net&myip= HTTP/1.1
SENDING: Host: dynv6.com
SENDING: Authorization: Basic bm9uZTpkRExuc002MmVKXzIzUkhkeXRiVkNIam9TSG1NTGc=
SENDING: User-Agent: ddclient/3.10.0
SENDING: Connection: close
SENDING:
RECEIVE: HTTP/1.1 200 OK
RECEIVE: Access-Control-Allow-Origin:
RECEIVE: Alt-Svc: h3=":443"; ma=2592000
RECEIVE: Content-Length: 5
RECEIVE: Content-Type: text/plain; charset=UTF-8
RECEIVE: Date: Wed, 20 Dec 2023 20:07:54 GMT
RECEIVE: Server: Caddy
RECEIVE: Strict-Transport-Security: max-age=31536000;
RECEIVE: Vary: Origin
RECEIVE: X-Xss-Protection: 1; mode=block
RECEIVE: Connection: close
RECEIVE:
RECEIVE: good
Use of uninitialized value $_[2] in sprintf at /usr/bin/ddclient line 2160.
SUCCESS: updating yuruihong.dynv6.net: good: IP address set to
LenardHess commented
YuruiHong commented
Your first configuration is missing the web URL to use for IP address retrieval, i.e.
web=https://ipv6.icanhazip.com/
Your second configuration encountered the same issue as #615. A fix (ad854ab) is pushed onto master - can you confirm this fixes your issue with the second configuration?
It is now working. Thanks!