Re: New rc.d/named features for testing: auto-forwarding and wait on boot

From: Eygene Ryabinkin <rea-fbsd_at_codelabs.ru>
Date: Thu, 9 Apr 2009 23:45:29 +0400
Doug, everyone, good day.

Mon, Mar 30, 2009 at 11:04:17PM -0700, Doug Barton wrote:
> For a long time now there has also been discussion about configuring
> the local resolver to automatically forward to those name servers in
> /etc/resolv.conf. This bit is a lot trickier, primarily because it
> involves writing to /etc/namedb/ at boot time. However, the default is
> to chroot the named process to /var/named/ so this should be
> relatively safe.
>
> The patch has an implementation of the feature that works for the few
> networks I've tested it on. I feel that it is still a bit rough, but
> it's ready for wider review. The basic idea is that we parse
> /etc/resolv.conf for lines that begin with "nameserver" and try to
> make use of the information. It writes a temp file to
> /var/run/auto_forward.conf, then when it's done it compares the result
> to what's in [/var/named]/etc/namedb/auto_forward.conf. If it's
> different, the new one replaces the old. While it's being parsed, if
> the local named is not the first nameserver line in /etc/resolv.conf
> that is added, and if the new file differs from the existing one it
> will be replaced too. This uses roughly the same logic as is used in
> /sbin/dhclient-script.

Just for the record: once upon a time,
  http://lists.freebsd.org/pipermail/freebsd-current/2008-April/084847.html
I had posted patches that were doing the similar job, but they were
mainly focused on the dhclient part.  Though, I had implemented creation
of /etc/resolv.conf inside /etc/rc.d/resolv in a number of ways:
 - by using DHCP kenv variables;
 - by using /etc/rc.conf variables;
 - by using command-line options to /etc/rc.d/resolv.
And that was complemented with the automated creation of the forwarders
file for named that is very similar to what you did.

There is a hanging PR about this:
  http://www.freebsd.org/cgi/query-pr.cgi?pr=bin/123015

May be my old patches (that are working on my laptop and some
workstations almost for a year) will worth review/integration.
Archive with patches could be downloaded from
  http://codelabs.ru/fbsd/patches/resolv/resolv.named.forwarders.tar.bz2

Comments are reviews are welcome.

Thanks!
-- 
Eygene
 _                ___       _.--.   #
 \`.|\..----...-'`   `-._.-'_.-'`   #  Remember that it is hard
 /  ' `         ,       __.--'      #  to read the on-line manual
 )/' _/     \   `-_,   /            #  while single-stepping the kernel.
 `-'" `"\_  ,_.-;_.-\_ ',  fsc/as   #
     _.-'_./   {_.'   ; /           #    -- FreeBSD Developers handbook
    {_.-``-'         {_/            #
Received on Thu Apr 09 2009 - 18:02:09 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:46 UTC