1*b5677b36SchristosIntroduction 2*b5677b36Schristos 3*b5677b36Schristos ISC's libbind provides the standard resolver library, 4*b5677b36Schristos along with header files and documentation, for communicating 5*b5677b36Schristos with domain name servers, retrieving network host entries 6*b5677b36Schristos from /etc/hosts or via DNS, converting CIDR network addresses, 7*b5677b36Schristos perform Hesiod information lookups, retrieve network entries 8*b5677b36Schristos from /etc/networks, implement TSIG transaction/request 9*b5677b36Schristos security of DNS messages, perform name-to-address and 10*b5677b36Schristos address-to-name translations, utilize /etc/resolv.conf 11*b5677b36Schristos for resolver configuration. 12*b5677b36Schristos 13*b5677b36Schristos It contains many of the same historical functions and headers 14*b5677b36Schristos included with many Unix operating systems. 15*b5677b36Schristos 16*b5677b36Schristos Originally written for BIND 8, it was included in BIND 9 as 17*b5677b36Schristos optionally-compiled code through release 9.5. It has been 18*b5677b36Schristos removed from subsequent releases of BIND 9 and is now 19*b5677b36Schristos provided as a separate package. 20*b5677b36Schristos 21*b5677b36SchristosBuilding 22*b5677b36Schristos 23*b5677b36Schristos The libbind library requires a system with an ANSI C compiler 24*b5677b36Schristos and basic POSIX support. 25*b5677b36Schristos 26*b5677b36Schristos To build, just 27*b5677b36Schristos 28*b5677b36Schristos ./configure 29*b5677b36Schristos make 30*b5677b36Schristos 31*b5677b36Schristos Several environment variables that can be set before running 32*b5677b36Schristos configure will affect compilation: 33*b5677b36Schristos 34*b5677b36Schristos CC 35*b5677b36Schristos The C compiler to use. configure tries to figure 36*b5677b36Schristos out the right one for supported systems. 37*b5677b36Schristos 38*b5677b36Schristos CFLAGS 39*b5677b36Schristos C compiler flags. Defaults to include -g and/or -O2 40*b5677b36Schristos as supported by the compiler. 41*b5677b36Schristos 42*b5677b36Schristos STD_CINCLUDES 43*b5677b36Schristos System header file directories. Can be used to specify 44*b5677b36Schristos where add-on thread or IPv6 support is, for example. 45*b5677b36Schristos Defaults to empty string. 46*b5677b36Schristos 47*b5677b36Schristos STD_CDEFINES 48*b5677b36Schristos Any additional preprocessor symbols you want defined. 49*b5677b36Schristos Defaults to empty string. 50*b5677b36Schristos 51*b5677b36Schristos Possible settings: 52*b5677b36Schristos Change the default syslog facility of named/lwresd. 53*b5677b36Schristos -DISC_FACILITY=LOG_LOCAL0 54*b5677b36Schristos Enable DNSSEC signature chasing support in dig. 55*b5677b36Schristos -DDIG_SIGCHASE=1 (sets -DDIG_SIGCHASE_TD=1 and 56*b5677b36Schristos -DDIG_SIGCHASE_BU=1) 57*b5677b36Schristos Disable dropping queries from particular well known ports. 58*b5677b36Schristos -DNS_CLIENT_DROPPORT=0 59*b5677b36Schristos Sibling glue checking in named-checkzone is enabled by default. 60*b5677b36Schristos To disable the default check set. -DCHECK_SIBLING=0 61*b5677b36Schristos named-checkzone checks out-of-zone addresses by default. 62*b5677b36Schristos To disable this default set. -DCHECK_LOCAL=0 63*b5677b36Schristos Enable workaround for Solaris kernel bug about /dev/poll 64*b5677b36Schristos -DISC_SOCKET_USE_POLLWATCH=1 65*b5677b36Schristos The watch timeout is also configurable, e.g., 66*b5677b36Schristos -DISC_SOCKET_POLLWATCH_TIMEOUT=20 67*b5677b36Schristos 68*b5677b36Schristos LDFLAGS 69*b5677b36Schristos Linker flags. Defaults to empty string. 70*b5677b36Schristos 71*b5677b36Schristos The following need to be set when cross compiling. 72*b5677b36Schristos 73*b5677b36Schristos BUILD_CC 74*b5677b36Schristos The native C compiler. 75*b5677b36Schristos BUILD_CFLAGS (optional) 76*b5677b36Schristos BUILD_CPPFLAGS (optional) 77*b5677b36Schristos Possible Settings: 78*b5677b36Schristos -DNEED_OPTARG=1 (optarg is not declared in <unistd.h>) 79*b5677b36Schristos BUILD_LDFLAGS (optional) 80*b5677b36Schristos BUILD_LIBS (optional) 81*b5677b36Schristos 82*b5677b36Schristos "make install" will install the library. By default, installation 83*b5677b36Schristos is into /usr/local, but this can be changed with the "--prefix" 84*b5677b36Schristos option when running "configure". 85*b5677b36Schristos 86*b5677b36Schristos To see additional configure options, run "configure --help". 87*b5677b36Schristos 88*b5677b36Schristos If you need to re-run configure please run "make distclean" first. 89*b5677b36Schristos This will ensure that all the option changes take. 90*b5677b36Schristos 91*b5677b36SchristosNotes on Usage 92*b5677b36Schristos 93*b5677b36Schristos - Installing both libbind and BIND 9 on the same system 94*b5677b36Schristos will produce two incompatible header files with similar 95*b5677b36Schristos names: $PREFIX/include/isc/list.h (from BIND 9) and 96*b5677b36Schristos $PREFIX/include/bind/isc/list.h (from libbind). When 97*b5677b36Schristos compiling code against libbind, be sure to set -I flags 98*b5677b36Schristos appropriately. 99*b5677b36Schristos 100*b5677b36SchristosDocumentation 101*b5677b36Schristos 102*b5677b36Schristos Man pages for libbind routines, in *roff and plaintext format, 103*b5677b36Schristos are included with the release. 104*b5677b36Schristos 105*b5677b36SchristosBug Reports and Mailing Lists 106*b5677b36Schristos 107*b5677b36Schristos Bugs reports should be sent to 108*b5677b36Schristos 109*b5677b36Schristos libbind-bugs@isc.org 110*b5677b36Schristos 111*b5677b36Schristos Discussions of libbind can be send to the BIND Users mailing 112*b5677b36Schristos list. To subscribe, send mail to: 113*b5677b36Schristos 114*b5677b36Schristos bind-users-subscribe@isc.org 115*b5677b36Schristos 116*b5677b36Schristos Archives of that list can be found at: 117*b5677b36Schristos 118*b5677b36Schristos https://lists.isc.org/pipermail/bind-users/ 119*b5677b36Schristos 120*b5677b36Schristos If you're planning on making changes to the libbind source 121*b5677b36Schristos code, you might want to join the BIND Workers mailing list. 122*b5677b36Schristos To subscribe, send mail to: 123*b5677b36Schristos 124*b5677b36Schristos bind-workers-subscribe@isc.org 125*b5677b36Schristos 126