Dynamic Global Hostname does not publish AAAA record for IPv6

Originator:elventear
Number:rdar://6964122 Date Originated:11-Jun-2009 11:42 AM
Status:Open Resolved:
Product:Mac OS X Product Version:10.5.7/9J61
Classification:UI/Usability Reproducible:Always
 
Summary:
A Wide Area Bonjour (WAB) client using Leopard, does not publish it's assigned, globally routable IPv6 when registering with DNS handling the WAB domain.

Steps to Reproduce:
- Setup a DNS server following the description in http://www.dns-sd.org/ServerSetup.html
- Configure the Leopard client via the 'Sharing Preference Pane', to enable Dynamic Global Hostname
- Watch the logs in the DNS server and wait until a client registers:
named[31070]: client x.x.x.x#5353: updating zone 'bonjour.domain/IN': adding an RR at 'client._ssh._tcp.bonjour.domain' SRV
- Query the server:
host -t srv client._ssh._tcp.bonjour.domain
client._ssh._tcp.bonjour.domain has SRV record 0 0 22 client.bonjour.domain.
host client.bonjour.domain.
client.bonjour.domain has address x.x.x.x

Expected Results:
The last step would return an IPv4 and IPv6 IP:
host client.bonjour.domain.
client.bonjour.domain has address x.x.x.x
client.bonjour.domain has IPv6 address x::x

Actual Results:
The last step does not return IPv6, only IPv4.
host client.bonjour.domain.
client.bonjour.domain has address x.x.x.x

Regression:
MacOSX Tiger (10.4) does register an AAAA record.

Notes:
None

Comments

In http://opensource.apple.com/source/mDNSResponder/mDNSResponder-212.1/mDNSCore/mDNS.c line 9600: > if (mDNSPlatformGetPrimaryInterface(m, &v4, &v6, &r) == mStatus_NoError && !mDNSv4AddressIsLinkLocal(&v4.ip.v4))

In http://opensource.apple.com/source/mDNSResponder/mDNSResponder-212.1/mDNSCore/uDNS.c line 3407: > if (v4addr && !mDNSv4AddressIsLinkLocal(&v4addr->ip.v4)) v6addr = mDNSNULL;

It seems that the IPv6 address is only updated if the IPv4 address is not link-local (169.254.0.0/16) (in the first code snippet), but the IPv6 is cleared when the IPv4 address is not link local (the second code snippet). It seems to be intentional but you can nonetheless update your bug report with this information to see if they would change their mind.

mDNSResponder does not publish resources to dns-update resources that point to IPv6 only hosts.


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!