tech-net archive

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

Re: improving DNS-SD / mDNS support



On Aug 31, 2012, at 11:02 PM, David Young wrote:

> I would like for NetBSD to have a full-featured DNS Service Discovery
> (DNS-SD) & Multicast DNS (mDNS) stack under a liberal license.  I'm
> wondering who else would like for NetBSD to have that.  I'm also curious
> whether someone out there is interested in working on it.

I'm still interested, but my time is limited. I also have a bunch of
still-uncommitted code from 2009-ish that implements a whole new
netbsd-specific platform layer (replacing the posix layer) that is
kqueue based and has a number of nice features.

> By full-featured, I mean
> 
> 1) NetBSD would advertise services such as sshd and httpd, as they
> started up, either in the .local domain, or in one or more global
> DNS-SD domains, or both, if I had so configured NetBSD.  NetBSD
> would be able to authenticate with a dynamic DNS server in order
> to register services.

I had some plans for a nice way to do this, in most cases without
even requiring the daemons to be modified, by having configuration
files that tell mdnsd about different services, and how to monitor
the service (look for pid file creation and register, deregister when
that pid exits, etc... all made easy by kqueue).

> 2) Network clients in the NetBSD base system, such as ssh(1) and
> ftp(1), would try to locate services by searching the .local domain
> or in one or more DNS-SD search domains, if NetBSD was so configured,
> in addition to other search domains.  E.g., 'ftp http://xyz' would
> search for SRV records named 'xyz._http._tcp.xyz.local',
> 'xyz._http._tcp.mydomain.com', and 'xyz._http._tcp.otherdomain.com';
> then 'xyz.local', then 'xyz.mydomain.com' and 'xyz.otherdomain.com',
> if my configuration allowed.  Likewise, 'ssh user@xyz' would search
> for corresponding _ssh._tcp SRV records.

This should be working, or close to it now, I think? I forget where I
left this. There were some issues with ipv6, I know, due to a poor
API design in the client library. 

> 3) Using a utility program in the base system, scripts could
> add/withdraw service advertisements from any domain.

If you mean Wide Area DNS-SD, there's some stuff in the Apple code
to support that, but I never tried it. It probably needs some work.

> 4) Using software in the base system, NetBSD could act as a dynamic
> DNS server supporting DNS-SD registration and "extras" such as
> long-lived queries and the sleep proxy service.

Most of this code is already in there, including Sleep Proxy.
The posix layer doesn't support it, but it could be added to
the NetBSD layer, in theory.

> 5) There is probably something else that I am forgetting. :-)
> 
> Anyone else interested?




Home | Main Index | Thread Index | Old Index