1 Starting with version 2.2, the resolver in the GNU C Library comes
2 from BIND 8. Only a subset of the src/lib/resolv part of libbind is
3 included here; basically the parts that are needed to provide the
4 functionality present in the resolver from BIND 4.9.7 that was
5 included in the previous release of the GNU C Library, augmented by
6 the parts needed to provide thread-safety. This means that support
7 for things as dynamic DNS updates and TSIG keys isn't included. If
8 you need those facilities, please take a look at the full BIND
15 The resolver in the GNU C Library still differs from what's in BIND
18 * The resolver in glibc strictly adheres to the recommendations in RFC
19 1535. BIND 8.2.3-T5B seems to relax those rules a bit (see the code
20 that's wrapped in `#ifndef RFC1535').
22 * The RES_DEBUG option (`options debug' in /etc/resolv.conf) has been
25 * The resolver in glibc allows underscores in domain names.
27 * The <resolv.h> header in glibc includes <netinet/in.h> and
28 <arpa/nameser.h> to make it self-contained.
30 * The `res_close' function in glibc only tries to close open files
31 referenced through `_res' if the RES_INIT bit is set in
32 `_res.options'. This fixes a potential security bug with programs
33 that bogusly call `res_close' without initializing the resolver
34 state first. Note that the thread-safe `res_nclose' still doesn't
35 check the RES_INIT bit. By the way, you're not really supposed to
36 call `res_close/res_nclose' directly.
42 The following files come from the BIND distribution (currently version
81 Some of these files have been optimized a bit, and adaptations have
82 been made to make them fit in with the rest of glibc. The more
83 non-obvious changes are wrapped in something like `#ifdef _LIBC'.
85 res_libc.c is home-brewn, although parts of it are taken from res_data.c.
87 res_hconf.c and res_hconf.h were contributed by David Mosberger, and
88 do not come from BIND.
90 The files gethnamaddr.c, mapv4v6addr.h and mapv4v6hostent.h are
91 leftovers from BIND 4.9.7.