Re: [exim] building exim on OSX against *external* bind9 (*n…

Page principale
Supprimer ce message
Répondre à ce message
Auteur: Exim User's Mailing List
Date:  
À: OpenMacNews
CC: Exim User's Mailing List
Sujet: Re: [exim] building exim on OSX against *external* bind9 (*not* w/ BIND_8_COMPAT) failing @ make
[ On Thursday, January 13, 2005 at 07:32:10 (-0800), OpenMacNews wrote: ]
> Subject: Re: [exim] building exim on OSX against *external* bind9 (*not* w/ BIND_8_COMPAT) failing @ make
>
> well, for a variety of reasons. suffice it to say that other parts of my
> project rdirectly equire some features of bind9, and it's best for me to have
> everything building against the same sets of libs (db, bind, etc.).


Note that BIND-9's named is the only thing with unique features here.

The resolver library is an entirely different, and completely separate,
component. The protocol between the resolver library and named is DNS,
pure and simple. You can run BIND-9's named and still use pretty much
any other resolver library with other DNS-using applications.

Note also that on OS-X there are other significant reasons why you might
want to avoid even using any third-party resolver, not the least of
which is that it does some special things for certain local services.

Of course a mailer that'll handle internet mail to and from the public
network could be linked with any compatible and sufficiently bug-free
resolver library.

If your goal is to use the most ccomplete, bug-free, implementation of a
compatible resolver library then the BIND-8 resolver library that's
included in the BIND-9 distribution, is indeed a good choice (since it's
probably the best maintained version of such code), but it may not be
any better than the "standard" one that comes with your system.

Indeed the Mac OS-X resolver code may even be derrived from BIND-9,
though I don't know for certain. Apple have been very good at keeping
up-to-date with the current releases of all the sources they use.

On the other hand, for example, the resolver library still used in
NetBSD was derived from BIND-4. However it's been maintained fairly
well and is more or less as good at doing DNS queries as the code from
BIND-8, or the BIND-8 code from BIND-9. One can link applications on
NetBSD with other resolver libraries, but using the one supplied in libc
has advantages since there are system specific changes that integrate
better with other aspects of the rest of NetBSD. This is similar to,
but not exactly the same as, the way OS-X has its own system-specific
features added to its resolver implementation.

A version of an SMTP MTA such as Exim may behave slightly differently if
linked against different resolver libraries, especially for "local"
hostnames. How differently depends entirely on your local system
environment. Perhaps there wouldn't be any perceivable difference.


> i think i've just learned something. the "standard UNIX resolver library"?


I think he meant "the resolver library that comes standard with your
system distribution".

It's also "standard" because it has the same API as most unix-based
software expects to use in order to interface to the DNS. See the
resolver(3) manual page and related manual pages for part of the
definition of this API.

The key thing here is that most DNS-using applications, Exim included,
require the use of the resolver(3) API and they simply will not compile
and link with BIND-9's new lwres library, and adapting them to use lwres
is a _far_ more difficult task than you seem to think.


> do you mean that that "std lib" is *not* "from" bind, i.e. ? now that you
> mention it, that wouldn't make any licensing sense, would it?


Most system DNS resolver libraries, especially on unix-like systems, are
indeed derived from the code supplied with BIND. That code is freely
reusable by all system vendors.

-- 
                        Greg A. Woods


H:+1 416 218-0098  W:+1 416 489-5852 x122  VE3TCP  RoboHack <woods@???>
Planix, Inc. <woods@???>          Secrets of the Weird <woods@???>