<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Dec 27, 2017 at 1:58 PM, Robert Edmonds <span dir="ltr"><<a href="mailto:edmonds@mycre.ws" target="_blank">edmonds@mycre.ws</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
</span>I've always found the application-embedded DNS stub resolver to be the<br>
least debuggable part of the DNS stack. The glibc 'getent' utility is as<br>
close as it comes to being able to debug it on Linux systems, and that's<br>
little more than a driver for getaddrinfo().<br>
<br>
I would think putting the bulk of the stub resolver logic into a daemon<br>
would enhance debuggability, since you have a persistent process that<br>
can generate logs, and state doesn't disappear when a client process<br>
exit()'s.<br></blockquote><div><br></div><div>I agree, and implementing the daemon interface into a separate NSS module is a way to solve some of the state problems without forcing the significant methodology changes into glibc's (somewhat) well-understood implementation.</div><div><br></div><div>Rather than reinvent the wheel (or let the systemd folks plot our destiny), I've been meaning to talk to the stubby developers more about this ever since their presentation at OARC 27. I don't speak for their team, but from casual conversation I got the impression that they were toying with the idea of their own NSS module interface to sidestep having to put 127.0.0.1 in /etc/resolv.conf. This could potentially be an extension of that effort.</div><div><br></div><div>If a methodology shift toward stateful were to occur, I think this is probably the best direction for it to take. It concentrates the effort on an existing implementation that many of us already have a vested interest in (getdns), and avoids systemd-esque pitfalls of fragmentation in the resolver library space.</div><div><br></div><div>(apologies to the stubby folks in advance for armchair scope creep)</div></div></div></div>