Unbound is designed as a set of modular components, so that also
DNSSEC (secure DNS) validation and stub-resolvers (that do not run as
a server, but are linked into an application) are easily possible.
Goals:
* A validating recursive DNS resolver.
* Code diversity in the DNS resolver monoculture.
* Drop-in replacement for BIND apart from config.
* DNSSEC support.
* Fully RFC compliant.
* High performance, even with validation enabled.
* Used as: stub resolver, full caching name server, resolver library.
* Elegant design of validator, resolver, cache modules.
o provide the ability to pick and choose modules.
* Robust.
* In C, open source: The BSD license.
* Smallest as possible component that does the job.
* Stub-zones can be configured (local data or AS112 zones).
Non-goals:
* An authoritative name server.
* Too many Features.
===> The following configuration options are available for unbound-1.18.0_1:
DEP-RSA1024=off: Deprecate the use of RSA 1024 keys
DNSCRYPT=on: Enable dnscrypt support
DNSTAP=off: Enable dnstap logging support
DOCS=on: Build and/or install documentation
DOH=on: Enable DNS-over-HTTPS support
DYNLIB=on: Enable support for dynamic (shared) 3rd-party libraries
ECDSA=on: Enable ECDSA (elliptic curve) support (OpenSSL >= 1.0)
EVAPI=off: (Experimental) pluggable event based libunbound API support
FILTER_AAAA=off: Build with AAAA filter functionality (contrib)
GOST=on: Enable GOST support (requires OpenSSL >= 1.0)
HIREDIS=off: Enable hiredis support for the cachedb module
LIBEVENT=on: Build against libevent
MUNIN_PLUGIN=off: Install Munin plugin
PYTHON=off: Python bindings or support
SUBNET=off: Enable client subnet support
TFOCL=off: Enable TCP Fast Open for client mode
TFOSE=off: Enable TCP Fast Open for server mode
THREADS=on: Threading support
===> Use 'make config' to modify these settings
dns/unbound: Fix loop when ENOBUFS is returned
- Fix send of udp retries when ENOBUFS is returned. It stops looping
and also waits for the condition to go away. Reported to upstream
by Florian Obser.
PR: 274352, 274446
Approved by: jaap@NLnetLabs.nl (maintainer)
(cherry picked from commit 05c229e187e0dd8d812db2ebb10f74ca1c423efc)