Unbound Downloads
The latest version of unbound (currently 1.1.1) can always be downloaded from
http://www.unbound.net/downloads/unbound-latest.tar.gz
Current version
Unbound 1.1.1
Download: unbound-1.1.1.tar.gz
SHA1 checksum: 8c80e892232a05459923826f266afb770d3f7d73
SHA256 checksum: ab6c701f44aeef11a1a8370495749b9b630004597af38dc04094ad5687e73981
Bug Fixes
-
Fixed syslog with chroot, glibc syslog opens only
on demand so a log line has to be printed before chroot.
- fixup fatal error due to faulty error checking after tcp accept.
- rlimit check on startup integer underflow fixup, also makes a
more accurate estimate
Older versions
Unbound 1.1.0
Download: unbound-1.1.0.tar.gz
SHA1 checksum: fb7a4421c64812d3acfa48409360ec232197a2f9
SHA256 checksum: b98421c97089dfcf7d7798d7148886c0a8672476dc44dd2b43d62ba5e3be27b5
Features
- DLV support
- contrib update-anchor.sh neatly updates keys for DLV or root or
others and only restarts the nameserver when keys have changed.
exits 0 when a restart is needed, other values if not.
So, update-anchor.sh -d mydir && /etc/rc.d/unbound restart
can restart unbound exactly when needed. Use -b for BIND mode.
- Negative caching for NSEC, NSEC3 for DLV lookups, as well as for
securely insecure delegations.
- Filter out overreaching NSEC records
- dev/log(syslog) opened before chroot
- use setresuid/setresgid, more secure.
- logfile message classification as notice, info, debug.
- harden-referral-path option implements draft-wijngaards-dnsext-resolver-side-mitigation-00, protects against many Kaminsky variations. Default is off, because of added load it generates, and experimental status.
- disallow nonrecursive queries for cache snooping by default.
You can allow it using access-control: subnet allow_snoop.
The defaults do allow access to authoritative data without RD bit.
- DoS resistance implementation. Half of queries run-to-completion.
Other half are a lifo where old entries are overwritten if 200 msec old.
- Block DNS rebinding attacks. This disallows domains from the
public internet from pretending to have internet addresses in your own
netblock. Use the private-address and private-domain statements (see
unbound.conf(5) man page for details). We may consider turning this on
by default for rfc1918 (local subnet) addresses.
- remote control feature, unbound-control. Remotely (using SSL)
stop, change redirections, flush cache, load cache, store cache, or
get statistics
- extended statistics (off by default). Put Howto documentation on website.
- munin example plugin to draw statistics added to contrib
- hosts that drop EDNS packets are detected, eventually.
- fixed recursion servers deployed as authoritative detection, so
that as a last resort, a +RD query is sent there to get the correct
answer.
- RSASHA256 and RSASHA512 support, using experimental protocol numbers from draft.
- stubs work much more intuitively, but can be configure for old and
new behaviour with new option stub-prime. This makes stubs on localhost on a different port number work.
- dns-0x20 fallback code implemented
- IPv4 and IPv6 PTR shorthand local-data-ptr: "1.2.3.4 www.ex.com"
- code refactored for domain, address tree lookups.
- unbound-control-setup.sh script to set up (selfsigned) certificates.
- spoof nearmiss indicator, when extended statistics are enabled, unbound-control stats prints out unwanted_replies count.
- if server selection is faced with only bad choices, it will
attempt to get more options to be fetched.
- changed bogus-ttl default value from 900 to 60 seconds.
In anticipation that operator caused failures are more likely than
actual attacks at this time. And thus repeated validation helps
the operators get the problem fixed sooner. It makes validation
failures go away sooner (60 seconds after the zone is fixed).
Also it is likely to try different nameserver targets every minute,
so that if a zone is bad on one server but not another, it is
likely to pick up the 'correct' one after a couple minutes,
and if the TTL is big enough that solves validation for the zone.
- do not query bogus nameservers. It is as-if nameservers that have
the NS or A or AAAA record bogus are listed as donotquery.
- CFLAGS are picked up by configure from the environment.
- silenced EHOSTDOWN, verbosity 2 and higher show it.
- configure check for ldns version 1.4.0 or later
- Fix for problem reported on mailing list, If a delegation point
has no A but only AAAA and do-ip6 is no, resolution would fail. Fixed to
ask for the A and AAAA records. It has to ask for both always, so that
it can fail quietly, from TLD perspective, when a zone is only reachable
on one transport.
Bug Fixes
- Fixed rrset security updated overwriting rfc2181 trust status.
This makes validated to be insecure data just as worthless as
nonvalidated data, and 2181 rules prevent cache overwrites to them.
-
Fixed setreuid on MacOSX 10.4
- Fixed so make realclean works better, by Rober Edmonds
-
extra rc.d unbound flexibility for freebsd/nanobsd.
-
nicer do-auto log message when user sets incompatible options. DLV implemented.
-
variable name ameliorated in log.c.
-
in iana_update, no egrep, but awk use.
-
fixed, pidfile can be outside chroot. openlog is done
before chroot and drop permissions. logfile is created with correct
permissions again. Some errors are not written to logfile (pidfile writing,
forking), and these are only visible by using the -d commandline flag.
- Fix update-anchor.sh to work both in BSD shell and bash.
- Fix so unsigned additionals are not marked bogus, they are left
unchecked, since signatures may have fallen off due to message size.
Unchecked items are removed from the additional just like bogus is for
that message. Defers validation for those rrsets.
- Fix assertion fail on bogus key handling
- Fix so dnssec lameness detection works on first query at trust apex.
- Fix compilation without pthreads on linux.
- builtin iana assigned portlist updated
- ldns snapshot inside source tarball updated to 1.4.0
- Fix NSEC_AT_APEX classification for short typemaps.
- Fix nonblocking and timeouts on TCP sockets
- Fix for multiple simultaneous timeout back offs. Could cause trouble
for forwarders
- Fix SHA256 DS downgrade, no longer possible to downgrade to SHA1.
- Fix negative TTL values appearing (reported by Attila Nagy)
- detect if libssl needs libdl. For static linking with libssl.
- Fix build process for Mac OSX linker
- Fix possible memory leak in key_entry_key deletion.
Would leak a couple bytes when trust anchors were replaced.
- DNAMEs used from cache have their synthesized CNAMEs initialized
properly.
- Fix file descriptor leak for localzone type deny (for TCP).
- Fix memleak for the keyword 'nodefault' when reading config. Would
leak bytes per reload command received.
- Fix listen to closed fd, would log a message with
"bad file descriptor"
Unbound 1.0.2
Download: unbound-1.0.2.tar.gz
SHA1 checksum: 93faa7b76cf7681b8c7b0c5187aaf84c36b6670b
SHA256 checksum: e6bbc4bb850c211e97ee7b5bc1827f59eb5222d295b715bda4551775766240ac
Features
- Stricter filtering of messages. This means that CNAMEs and DNAMEs
are handled with more paranoia, as well as the removal of more
irrelevant rrsets. More discussion at patch 1.0.2 announcement.
Bug Fixes
- Fixup qtype DS validation code
-
Fix for nicer entropy warning message, OS hints in manpage.
-
Fix segfault on exit cleanup of the app if packets were
still waiting for udp port numbers.
Unbound 1.0.1
Download: unbound-1.0.1.tar.gz
SHA1 checksum: 3a863376c8a2e805903aa4d9a32648b9f4c80ef1
SHA256 checksum: 95d3124b5e2a357848b84413a2f78e5896d41636278ed490dcf13bf89683f395
Features
- This version features bugfixes to compile on various distributions,
some options necessary to assist packaging and distribution of unbound,
a couple of fixes for looking up corner cases (badly operated domains),
and a cleanup of code for config file reading.
- contrib unbound.spec from Patrick Vande Walle
- mingw port with basic functionality on Windows XP and Windows Vista
(single threaded, UDP, TCP, IPv4, IPv6, validation)
- Added IPv6 example prefix to AS112 default blocklist
Bug Fixes
- fixup fedora 9 compilation (in6_pktinfo definition)
- CREDITS fixup of history
- ldns-1.2.2 is ignored if installed, and builtin 1.3.0 ldns used
- lex input and unput functions not generated (compile warnings)
- update of ldns tarball to latest ldns svn.
- update of avoided ports to latest IANA allocated portlist
- fixed up statements of the form local-zone: "30.172.in-addr.arpa."
nodefault, so that the trailing dot is not required.
- reported by Robert Edmonds (akamai zones), fixed so that if multiple
CNAME records for a name are returned, the first is used.
- reported by Richard Doty for mail.opusnet.com, check lameness more
cautiously, first check SOA record, before looking at NS record, then,
additionally, check the AA bit.
- reported for newegg.com, more detailed lameness
checking to distinguish AAAA lameness from qtype A lameness.
- fixup compiling on eeepc xandros linux
- fixup memory leak in root hints file reading
- fixup validation for qtype DS queries with trust anchor for the
same name
- libunbound ub_resolve, fix handling of error condition during setup.
- lowered log_hex blocksize to fit through BSD syslog linesize.
-
make test checks for ldns-testns requirement of tcp_sigpipe test
-
call tzset before chroot to have correct timestamps in system log
-
fixed compilation failure on opensuse, the
--disable-static configure flag caused problems.
Patch from Klaus Singvogel
-
fixed unportable shell usage in configure (relied on bash)
-
same fix as 177.
-
fixed buffer overflow in unbound-checkconf use of strncat
-
fixed buffer overflow in ldns (called by unbound to parse config file parts)
-
pidfile, rundir, and chroot configure options. Also the example.conf and
manual pages get the configured defaults. You can use: (or accept the
defaults to /usr/local/etc/unbound/) --with-conf-file=filename
--with-pidfile=filename --with-run-dir=path --with-chroot-dir=path
-
-r option for unbound-host, read resolv.conf.
-
--disable-shared not passed along to ldns included with
unbound. Fixed so that configure parameters are passed to the
subdir configure script.
Fixed that ./libtool is used always, you can still override
manually with ./configure libtool=mylibtool or set $libtool in
the environment.
Unbound 1.0.0
Download: unbound-1.0.0.tar.gz
SHA1 checksum: a837407d866f0918547c6122f8f654c219b4b51f
SHA256 checksum: 48e27905cb2cbde604252fbdd19dcd915a3b970c55f2ba2a033dac02048de1fe
Features
- This code is the public release
- Honors $DESTDIR during make install and make uninstall, useful for rpm and deb packaging.
- contrib .spec file to build RPMs with
- iana port list updated
- added IPv6 addresses for builtin root hints
Bug Fixes
- Fixup no-IPv4 problem in error callback
- No linking with -lrt if not needed
- library version now has proper version-info (Thanks Ondrej Sury)
- configure --disable-rpath performs libtool fixup
- MacOSX 10.5 /etc/hosts lines ending in %lo0 are skipped (Thanks John Dickinson)
Unbound 0.11
Download: unbound-0.11.tar.gz
SHA1 checksum: c74028b6a815fd5840f6ecbd6c1ec65afff67de2
SHA256 checksum: f6c44ccae56398273c1f03485f2e2b8e4b612663d501d89c82c8cf9f23422d9f
Features
- This code is public beta and ready for deployment.
- Default file locations changed to /usr/local/etc/unbound
- RTT banding (draft-forgery-resilience)
- query name checks (draft-forgery-resilience)
- random ports improved (draft-forgery-resilience)
- AD bit signaling (AD bit in query requests AD bit in reply)
- unbound tries to set ulimit(fds) if it needs to
- stats to rrdtool script in contrib (Thanks Kai Storbeck)
- FEATURES document
Bug Fixes
- Fixed so works with libevent-1.4.3+
- iterator logs spelling fixed (Thanks Koji Kobayashi)
- RFC2181 compliance improved (Thanks Jinmei Tatuya)
- DSA EVP signature decoding fixed
- chroot functionality better documented and checked (Thanks Randy Bush)
- ignore SIGPIPE from dns clients (Thanks Kai Storbeck)
Unbound 0.10
Download: unbound-0.10.tar.gz
SHA1 checksum: c8af5e1721b00c0a776bce06e624d037a332e993
SHA256 checksum: 08d2290b0ed8b10a4bb2fae34bba809692674dcaf6eca489c1b7ca88bdcc1b01
Features
- This code is public beta and ready for deployment.
- updated ldns-tarball inside source from trunk for latest NSEC3
type codes
- installation to /usr/local/sbin by default now, like other servers do
- libunbound returns the full answer packet (with signatures,
additional data, NSECs ...)
- option 'use-caps-for-id: yesno', experimental implementation of
draft-dns-0x20.
- default configure uses builtin event mechanism, since it is faster
and usually good enough. Use libevent when you use huge outgoing port
ranges.
- Various optimisations
- make test shows an indication of cache speed
- unbound-host patch (from Jan-Piet Mens) to read config file
- added contrib/ dir with an /etc/rc.d script for FreeBSD
Bug Fixes
- --prefix option for configure also changes directory: pidfile:
and chroot: defaults in config file.
- fixed so you can start without a config file (will complain, but
start with defaults).
- fixed read of empty lines in /etc/hosts by libunbound
- fix to install all manual pages (unbound-host and libunbound pages
too)
- fixed memory leaks in libunbound (during cancellation and ub_wait).
Unbound 0.9
Download: unbound-0.9.tar.gz
SHA1 checksum: 73eb8706e1a3aab767bbe3ef62c53deb085f57c7
SHA256 checksum: 729857e323ae8a85e57a70ed441748456f0eabc390060b1551d0eb459a064dad
Features
- This code is beta and not recommended for operational
deployment.
- Remade verbosity levels, new level 2.
- can answer multiple queries over one TCP stream.
- library libunbound offers a validating stub implementation.
- unbound-host uses library to validate and lookup like host
- statistics-interval: seconds option added.
- interface-automatic: option added. Experimental, uses socket options to guarantee correct source address on UDP replies. Useful for multihomed hosts.
- Memory sizes in config can be given with k, m, or g
- Prints approximation of the median from histogram
- unbound-checkconf checks for local-net misconfigurations
Bug Fixes
- Fixed roothints and keyfiles access from chrooted daemon.
- Random generator uses less entropy.
Unbound 0.8
Download: unbound-0.8.tar.gz
SHA1 checksum: 252a84026dc1c5508cb28ea5ce6e485b304c2695
SHA256 checksum: e04f661ab2eb774b53d727d40b48931371b3dd7f39bdab8b2c60026925b018e8
Features
- Local zone data - serve authoritative data
- Access control list - ips that have recursion allowed
- by default blocks AS 112 (reverse local net) queries
- This code is pre-beta and not recommended for operational
deployment.
- per rfc2308, replaced default max-ttl value with 1 day.
Bug Fixes
- Validation works now for non RD queries
- duplicate checking for NSECs and NSEC3s after CNAMEs
- do not downcase NSEC and RRSIG for verification. Follows
draft-ietf-dnsext-dnssec-bis-updates-06.txt.
Unbound 0.7.2
Download: unbound-0.7.2.tar.gz
SHA1 checksum: 2fa26e8bb7b691c80f4146b00a0eef7e0352ae91
SHA256 checksum: fdf28fb02326b15ce8c56b282c6cd26369b111f2e89e18391fbf7c4ff396cd80
Features
- bugfixes for closed beta test version, not recommended for widespread deployment
Bug Fixes
- Fixup building the source from another directory.
- Fixup failure on start due to lack of entropy.
Unbound 0.7.1
Download: unbound-0.7.1.tar.gz
SHA1 checksum: f0d50a5c7505b138c23f1fbeddda0ecc44430806
SHA256 checksum: 260f1a30ba62654436c55b59fc8d43251995d59a19dc9199cd6ede4279cb2bf1
Features
- bugfixes for closed beta test version, not recommended for widespread deployment
Bug Fixes
- Fixes in make test to kill daemons more thoroughly after test
- NSEC/RRSIG not downcased, from dnssec-bis-updates draft-06
- libevent not found error nicer
- README discusses GNU make needs
Unbound 0.7
Download: unbound-0.7.tar.gz
SHA1 checksum: f3baa63b522b50124c07769fadd89e8644b4f306
SHA256 checksum: d68ad1572d75c849c7e3e16aba42146d670648c1ba488b3505caf402dd9d7dbb
Features
- closed beta test version, not recommended for widespread deployment
- support branch for closed beta participants
Unbound 0.6
Download: unbound-0.6.tar.gz
SHA1 checksum: 5f603c04d64a98dadec2da6003808c41f6ecf3ec
SHA256 checksum: 08ff46c564341698ab06df3eb6552ee314ecdfd1514cf17078509e1113a76776
Features
-
Operational features.
-
Secured by default (chroot).
-
Memory leaks gone, lameness detection, corner cases and various fixes
- config file checker unbound-checkconf
- root hints file supported
- ldns library tarball included in source package for ease of installation
- This code is pre-beta and not recommended for operational
deployment.
Unbound 0.5
Download: unbound-0.5.tar.gz
SHA1 checksum: d722ebc164d3eaa0eb5a74e0589197e66bae19c2
SHA256 checksum: f2547026ed911f7068f28728c98e3b25df81e723d040231eb120607a4c2b2396
Features
-
Validation.
-
Fixes to recursive iterator code.
- This code is pre-beta and not recommended for operational
deployment.
Unbound 0.4
Download: unbound-0.4.tar.gz
SHA1 checksum: c06d9dff0cecffb16bcf9dc42f439b62b872a19b
SHA256 checksum: 7adc910b345511d928b4dba9da98713c3941a7b72075404f2613a72e0a58fde7
Features
- Caching resolver.
- This code is pre-beta and not recommended for operational
deployment.
Unbound 0.3
Download: unbound-0.3.tar.gz
SHA1 checksum: 9157eafad4ab04a5311bcb25da27ad158fa4c26b
SHA256 checksum: de014e54b3fb2d8f853afb6edc20344ffadf1964dbb68c384d2ccb643830de1d
Features
- Forwarder with RRset cache.
- This code is pre-beta and not recommended for operational
deployment.
Unbound 0.2
Download: unbound-0.2.tar.gz
SHA1 checksum: faa348486670073f80b30bae00a4d221fe4c002e
SHA256 checksum: 4f2cb6ef18b1e5affcfa78e2a5e1ef15656975bb7c375f30dfa1e6efbdb0338c
Features
- Basic caching forwarder
- This code is pre-beta and not recommended for operational
deployment.
Unbound 0.1
Download: unbound-0.1.tar.gz
SHA1 checksum: e14826892d9e4a841c551df3fd902a2bcc94f069
SHA256 checksum: beb6c00750927425645780c26072e4de0e272004d0308c4a59b21d603861c50f
Features
- Threaded non-caching forwarder.
- This code is pre-beta and not recommended for operational
deployment.
Unbound 0.0
Download: unbound-0.0.tar.gz
SHA1 checksum: 967cdd2654b84335622842ee1f39984cfbb39f25
SHA256 checksum: b9b107b39b526cbdd93400f2ee343a0a571f82d84b91ee010aecd665445b29f5
Features
- Build environment, configure, make and a non-caching DNS
forwarder.
- This code is pre-beta and not recommended for operational
deployment.