forwarding algorithm and timeouts

Brad Knowles brad.knowles at
Wed Mar 28 13:32:54 UTC 2001

At 8:46 PM -0500 3/27/01, Kevin Darcy wrote:

>  Um, Brad, are you aware that many of the resolver routines are *linked*into*
>  the "named" program, e.g. res_ninit(), res_nmkquery(), res_nameinquery(),
>  etc.?

	Indeed, many routines are shared between a "resolver library" and 
a "named" executable (e.g., a "nameserver program").  The difference 
is that the named executable contains far more than just the resolver 
library portion, and the resolver library portion of a named 
executable is not separable from the named executable itself. 
Therefore, it makes no sense to talk about the concept of a separate 
resolver existing inside the named executable.

>If it walks
>  like a duck, and quacks like a duck, it's a duck.

	Ducklings can grow up into adult ducks, but that doesn't 
magically turn the ducklings in question into adult ducks.  Likewise, 
adult ducks can fertilize and lay eggs that become ducklings, but 
that does not make the adult ducks themselves the ducklings in 

	The resolver library and the named executable are two very 
closely related pieces of code, but they are not one and the same 
thing.  It would be a mistake to use the same name to refer to both 
objects, or to refer to one object that can perform both roles.

	Indeed, IIRC, the most current resolver code is actually from 
BIND 8, while the most current source code for named is from BIND 9 
-- they haven't yet gotten around to updating the resolver code with 
the new code from BIND 9 (or perhaps the resolver routines are just 
fine the way they are, and they don't need to bring the BIND 9 code 
up to that level).

Brad Knowles, <brad.knowles at>

/*        efdtt.c  Author:  Charles M. Hannum <root at>          */
/*       Represented as 1045 digit prime number by Phil Carmody         */
/*     Prime as DNS cname chain by Roy Arends and Walter Belgers        */
/*                                                                      */
/*     Usage is:  cat title-key scrambled.vob | efdtt >clear.vob        */
/*   where title-key = "153 2 8 105 225" or other similar 5-byte key    */

dig|perl -ne'if(/^x/){s/[x.]//g;print pack(H124,$_)}'

More information about the bind-users mailing list