Bug 231261 - dns/ddclient: does not recognize IPv6
Summary: dns/ddclient: does not recognize IPv6
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords: needs-patch, needs-qa
Depends on:
Blocks:
 
Reported: 2018-09-09 10:52 UTC by O. Hartmann
Modified: 2021-02-15 21:16 UTC (History)
3 users (show)

See Also:
bugzilla: maintainer-feedback? (mjl)
koobs: merge-quarterly?


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description O. Hartmann 2018-09-09 10:52:40 UTC
Running dns/ddclient on recent 12-CURRENT (FreeBSD 12.0-ALPHA5 #32 r338541: Sun Sep  9 09:27:47 CEST 2018 amd64) with ports recently update (ports tree is at Revision: 479281), the command 

ddclient -query

results in

use=if, if=igb0 address is fe80::20e:b7ee:fe42:1130
use=if, if=igb1 address is fe80::20e:b7ee:fe42:1131
use=if, if=igb2 address is fe80::20e:b7ee:fe42:1132
use=if, if=lo0 address is 127.0.0.1
WARNING:  found neither ipv4 nor ipv6 address
use=if, if=enc0 address is NOT FOUND
use=if, if=igb1.1000 address is 192.178.0.1
use=if, if=igb1.2 address is 192.178.2.1
use=if, if=igb1.3 address is 192.178.3.1
use=if, if=igb1.10 address is 192.178.10.1
use=if, if=igb1.66 address is 192.178.66.1
use=if, if=igb1.100 address is 192.178.100.1
WARNING:  found neither ipv4 nor ipv6 address
use=if, if=ipfw0 address is NOT FOUND
use=if, if=tun0 address is XXX.XXX.XXX.XXX
WARNING:  found neither ipv4 nor ipv6 address
use=web, web=dnspark address is NOT FOUND
use=web, web=dyndns address is XXX.XXX.XXX.XXX
use=web, web=loopia address is XXX.XXX.XXX.XXX

This is embarrassing! Each VLAN interface (igb1.1000 for instance) has also a link-local IPv6 address and my exterior (ppp configured) interface, tun0, even gets a IPv6 through my ISP. But those IPv6 addresses are not recognised as the query shows clearly, but some do.
Comment 1 mjl 2018-09-11 00:57:22 UTC
Does the code in https://sourceforge.net/p/ddclient/discussion/399428/thread/d864753b/ fix this problem?
Comment 2 Walter Schwarzenfeld freebsd_triage 2019-08-11 10:47:06 UTC
Reporter feedback please!
Comment 3 Kubilay Kocak freebsd_committer freebsd_triage 2019-08-11 11:10:21 UTC
@Mintainer, if this this is a known issue with an upstream patch/commit already committed, or confirmed to address this issue, please create a patch against the port such that it can be evaluated directly by port users

Thanks!
Comment 4 daniel.engberg.lists 2021-02-15 11:09:14 UTC
Still an issue?
Comment 5 mjl 2021-02-15 21:16:57 UTC
It is still an issue, but I believe this PR should be closed, as the limitation is in the upstream code:

https://github.com/ddclient/ddclient/blob/master/docs/ipv6-design-doc.md

I spent some time looking at the code, as shipped in 3.9.1.  ipv6_match() expects the IPv6 address to have uppercase A-F, but ifconfig returns a-f.  I changed the regex to match a-f, but that doesn't get us any further.  The function that calls ipv6_match -- get_ip -- only returns the first address from each interface, so ipv6_match won't get called if get_ip finds an IPv4 address first.

Upstream is working on adding proper IPv6 support.