tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: PROPSAL: import Apple's mDNSResponder



I'm planning to do the first round of commits next week. I should note that mDNS was already on the 6.0 roadmap, so I consider the question of wether we want the functionality settled. Nobody objected to the plan for getting there, so I'm moving forward.

Updates:

- It should be noted that dhcpcd implements RFC3927 for IPv4 Link- Local addresses, so we already have the other half of zeroconf covered.

- the daemon will be called mdnsd, and will be off by default. It will run under user _mdnsd.

- there will be a MKMDNS=no option for the luddites ;-)

- client library will be separate (libdns_sd). Although a libc-built- in client and nss implementation would make it possible to share some code and avoid duplication of functionality, I didn't see a strong enough justification for including it in libc right now (and it's a lot easier to move code into libc later than out of it)

- On closer inspection the dns-sd(1) license is not APSL but a proprietary license that seems equivalent to BSD 3-clause, while managing to avoid being OSI-recognized by being mostly different text. I don't think this is a barrier for NetBSD inclusion so I now plan to ship dns-sd(1), but I have enquired about relicensing this to standard BSD 3-clause to avoid confusion and to make life easier on our adopters.

- I won't be shipping the other debugging/demo apps.


I have been writing a new nss_mdns nameswitch plugin (eg "hosts: files mdns dns" in /etc/nsswitch.conf). It's now fully functional and already works better than the pkgsrc one in one important way (handles scoped v6 link-local addresses correctly).

However, there are a few tweaks to do and I want to add a new function to libc to make writing getaddrinfo plugins a little more sane, so I expect to do that in a later commit. There will be no DNS-SD functionality in nss_mdns, any more than there is in the current dns module. That needs to be addressed as a separate project (likely involves changing the ABI of getaddrinfo plugins). I may look at that later, but it's not directly part of this project.

Home | Main Index | Thread Index | Old Index