xref: /netbsd-src/external/bsd/unbound/dist/doc/README (revision 91f7d55fb697b5e0475da4718fa34c3a3ebeac85)
1*91f7d55fSchristosREADME for Unbound 1.19.1
23b6c3722SchristosCopyright 2007 NLnet Labs
33b6c3722Schristoshttp://unbound.net
43b6c3722Schristos
53b6c3722SchristosThis software is under BSD license, see LICENSE for details.
63b6c3722SchristosThe DNS64 module has BSD license in dns64/dns64.c.
73b6c3722SchristosThe DNSTAP code has BSD license in dnstap/dnstap.c.
83b6c3722Schristos
93b6c3722Schristos* Download the latest release version of this software from
103b6c3722Schristos  	http://unbound.net
113b6c3722Schristos  or get a beta version from the svn repository at
123b6c3722Schristos  	http://unbound.net/svn/
133b6c3722Schristos
143b6c3722Schristos* Uses the following libraries;
153b6c3722Schristos  * libevent	http://www.monkey.org/~provos/libevent/		(BSD license)
163b6c3722Schristos    (optional) can use builtin alternative instead.
173b6c3722Schristos  * libexpat	(for the unbound-anchor helper program)		(MIT license)
183b6c3722Schristos
193b6c3722Schristos* Make and install: ./configure; make; make install
203b6c3722Schristos  * --with-libevent=/path/to/libevent
213b6c3722Schristos  	Can be set to either the system install or the build directory.
223b6c3722Schristos	--with-libevent=no (default) gives a builtin alternative
233b6c3722Schristos	implementation. libevent is useful when having many (thousands)
243b6c3722Schristos	of outgoing ports. This improves randomization and spoof
253b6c3722Schristos	resistance. For the default of 16 ports the builtin alternative
263b6c3722Schristos	works well and is a little faster.
273b6c3722Schristos  * --with-libexpat=/path/to/libexpat
283b6c3722Schristos  	Can be set to the install directory of libexpat.
293b6c3722Schristos  * --without-pthreads
303b6c3722Schristos	This disables pthreads. Without this option the pthreads library
313b6c3722Schristos	is detected automatically. Use this option to disable threading
323b6c3722Schristos	altogether, or, on Solaris, also use --with(out)-solaris-threads.
333b6c3722Schristos  * --enable-checking
343b6c3722Schristos  	This enables assertions in the code that guard against a variety of
353b6c3722Schristos	programming errors, among which buffer overflows.  The program exits
363b6c3722Schristos	with an error if an assertion fails (but the buffer did not overflow).
373b6c3722Schristos  * --enable-static-exe
383b6c3722Schristos	This enables a debug option to statically link against the
393b6c3722Schristos	libevent library.
403b6c3722Schristos  * --enable-lock-checks
413b6c3722Schristos  	This enables a debug option to check lock and unlock calls. It needs
423b6c3722Schristos	a recent pthreads library to work.
433b6c3722Schristos  * --enable-alloc-checks
443b6c3722Schristos	This enables a debug option to check malloc (calloc, realloc, free).
453b6c3722Schristos	The server periodically checks if the amount of memory used fits with
463b6c3722Schristos	the amount of memory it thinks it should be using, and reports
473b6c3722Schristos	memory usage in detail.
483b6c3722Schristos  * --with-conf-file=filename
493b6c3722Schristos  	Set default location of config file,
503b6c3722Schristos	the default is /usr/local/etc/unbound/unbound.conf.
513b6c3722Schristos  * --with-pidfile=filename
523b6c3722Schristos  	Set default location of pidfile,
533b6c3722Schristos	the default is /usr/local/etc/unbound/unbound.pid.
543b6c3722Schristos  * --with-run-dir=path
553b6c3722Schristos  	Set default working directory,
563b6c3722Schristos	the default is /usr/local/etc/unbound.
573b6c3722Schristos  * --with-chroot-dir=path
583b6c3722Schristos  	Set default chroot directory,
593b6c3722Schristos	the default is /usr/local/etc/unbound.
603b6c3722Schristos  * --with-rootkey-file=path
613b6c3722Schristos  	Set the default root.key path.  This file is read and written.
623b6c3722Schristos	the default is /usr/local/etc/unbound/root.key
633b6c3722Schristos  * --with-rootcert-file=path
643b6c3722Schristos  	Set the default root update certificate path.  A builtin certificate
653b6c3722Schristos	is used if this file is empty or does not exist.
663b6c3722Schristos	the default is /usr/local/etc/unbound/icannbundle.pem
673b6c3722Schristos  * --with-username=user
683b6c3722Schristos  	Set default user name to change to,
693b6c3722Schristos	the default is the "unbound" user.
703b6c3722Schristos  * --with-pyunbound
713b6c3722Schristos  	Create libunbound wrapper usable from python.
723b6c3722Schristos	Needs python-devel and swig development tools.
733b6c3722Schristos  * --with-pythonmodule
743b6c3722Schristos  	Compile the python module that processes responses in the server.
753b6c3722Schristos  * --disable-sha2
763b6c3722Schristos  	Disable support for RSASHA256 and RSASHA512 crypto.
773b6c3722Schristos  * --disable-gost
783b6c3722Schristos  	Disable support for GOST crypto, RFC 5933.
79f42d8de7Schristos  * --enable-subnet
80f42d8de7Schristos  	Enable EDNS client subnet processing.
813b6c3722Schristos
823b6c3722Schristos* 'make test' runs a series of self checks.
833b6c3722Schristos
843b6c3722SchristosKnown issues
853b6c3722Schristos------------
863b6c3722Schristoso If there are no replies for a forward or stub zone, for a reverse zone,
873b6c3722Schristos  you may need to add a local-zone: name transparent or nodefault to the
883b6c3722Schristos  server: section of the config file to unblock the reverse zone.
893b6c3722Schristos  Only happens for (sub)zones that are blocked by default; e.g. 10.in-addr.arpa
903b6c3722Schristoso If libevent is older (before 1.3c), unbound will exit instead of reload
913b6c3722Schristos  on sighup. On a restart 'did not exit gracefully last time' warning is
923b6c3722Schristos  printed. Perform ./configure --with-libevent=no or update libevent, rerun
933b6c3722Schristos  configure and recompile unbound to make sighup work correctly.
943b6c3722Schristos  It is strongly suggested to use a recent version of libevent.
953b6c3722Schristoso If you are not receiving the correct source IP address on replies (e.g.
963b6c3722Schristos  you are running a multihomed, anycast server), the interface-automatic
973b6c3722Schristos  option can be enabled to set socket options to achieve the correct
983b6c3722Schristos  source IP address on UDP replies. Listing all IP addresses explicitly in
993b6c3722Schristos  the config file is an alternative. The interface-automatic option uses
1003b6c3722Schristos  non portable socket options, Linux and FreeBSD should work fine.
1013b6c3722Schristoso The warning 'openssl has no entropy, seeding with time', with chroot
10201049ae6Schristos  enabled, may be solved with a symbolic link to /dev/urandom from <chrootdir>.
1033b6c3722Schristoso On Solaris 5.10 some libtool packages from repositories do not work with
1043b6c3722Schristos  gcc, showing errors gcc: unrecognized option `-KPIC'
1053b6c3722Schristos  To solve this do ./configure libtool=./libtool [your options...].
1063b6c3722Schristos  On Solaris you may pass CFLAGS="-xO4 -xtarget=generic" if you use sun-cc.
1073b6c3722Schristoso If unbound-control (or munin graphs) do not work, this can often be because
1083b6c3722Schristos  the unbound-control-setup script creates the keys with restricted
1093b6c3722Schristos  permissions, and the files need to be made readable or ownered by both the
1103b6c3722Schristos  unbound daemon and unbound-control.
1113b6c3722Schristoso Crosscompile seems to hang.  You tried to install unbound under wine.
1123b6c3722Schristos  wine regedit and remove all the unbound entries from the registry or
1133b6c3722Schristos  delete .wine/drive_c.
1143b6c3722Schristos
1153b6c3722SchristosAcknowledgements
1163b6c3722Schristos----------------
1173b6c3722Schristoso Unbound was written in portable C by Wouter Wijngaards (NLnet Labs).
1183b6c3722Schristoso Thanks to David Blacka and Matt Larson (Verisign) for the unbound-java
1193b6c3722Schristos  prototype. Design and code from that prototype has been used to create
1203b6c3722Schristos  this program. Such as the iterator state machine and the cache design.
1213b6c3722Schristoso Other code origins are from the NSD (NLnet Labs) and LDNS (NLnet Labs)
1223b6c3722Schristos  projects. Such as buffer, region-allocator and red-black tree code.
1233b6c3722Schristoso See Credits file for contributors.
1243b6c3722Schristos
1253b6c3722Schristos
1263b6c3722SchristosYour Support
1273b6c3722Schristos------------
1283b6c3722SchristosNLnet Labs offers all of its software products as open source, most are
1293b6c3722Schristospublished under a BSD license. You can download them, not only from the
1303b6c3722SchristosNLnet Labs website but also through the various OS distributions for
1313b6c3722Schristoswhich NSD, ldns, and Unbound are packaged. We therefore have little idea
1323b6c3722Schristoswho uses our software in production environments and have no direct ties
1333b6c3722Schristoswith 'our customers'.
1343b6c3722Schristos
1353b6c3722SchristosTherefore, we ask you to contact us at users@NLnetLabs.nl and tell us
1363b6c3722Schristoswhether you use one of our products in your production environment,
1373b6c3722Schristoswhat that environment looks like, and maybe even share some praise.
1383b6c3722SchristosWe would like to refer to the fact that your organization is using our
1393b6c3722Schristosproducts. We will only do that if you explicitly allow us. In all other
1403b6c3722Schristoscases we will keep the information you share with us to ourselves.
1413b6c3722Schristos
1423b6c3722SchristosIn addition to the moral support you can also support us
1433b6c3722Schristosfinancially. NLnet Labs is a recognized not-for-profit charity foundation
1443b6c3722Schristosthat is chartered to develop open-source software and open-standards
1453b6c3722Schristosfor the Internet. If you use our software to satisfaction please express
1463b6c3722Schristosthat by giving us a donation. For small donations PayPal can be used. For
1473b6c3722Schristoslarger and regular donations please contact us at users@NLnetLabs.nl. Also
1483b6c3722Schristossee http://www.nlnetlabs.nl/labs/contributors/.
1493b6c3722Schristos
1503b6c3722Schristos
1513b6c3722Schristos* mailto:unbound-bugs@nlnetlabs.nl
152