DNS using Name Service Switch module and Casper

Mark Johnston markj at freebsd.org
Tue Jan 5 14:43:18 UTC 2021


On Tue, Jan 05, 2021 at 10:02:37AM +0300, Vasily Postnicov wrote:
> Hello. I wrote a simple daemon called ZeroDNS which provides functionality
> similar to multicast DNS, namely it discovers other participating machines
> over the LAN and stores their hostname and IPv4 address pairs.
> 
> Here is a NSS module which allows the system to use information from that
> daemon:
> https://github.com/shamazmazum/nss-zero-dns
> 
> You need to modify /etc/nsswitch.conf, changing the line 'hosts: files dns'
> to 'hosts: files dns zerodns'.
> 
> It all works on FreeBSD 12.2-RELEASE, but sometimes not on 13.0-CURRENT.
> For example, ping(8) just blocks when trying to ping a host whose name is
> resolvable with ZeroDNS. Turns out that programs built with casper support
> (like ping(8) and some others) stop working with my NSS module (they just
> block trying to resolve the name).

Presumably it's the casper process (i.e., cap_dns) that uses your
module?  If the main ping process is blocked trying to resolve a name,
it's waiting for the cap_dns process - where exactly is it getting
stuck?

> Is there some kind of manual on how to write casper-compatible NSS modules?


More information about the freebsd-net mailing list