Unbound - DNS récursif (utilisé par OPNsense)
Find a file
Robert Edmonds fceb4e8585
Mesh reply counters (#1374)
* Statistics counter for number of queries dropped by limit on reply addresses

Request list entries can be associated with multiple pending "reply
addresses". Basically each request list entry keeps its own list of
clients that should receive the response once the recursion is finished.
This requires keeping allocations around for each client, and there is
a global limit on the number of *additional* reply addresses that can
be allocated. (Each new request list entry seems to get its own initial
reply address which is not counted against the limit.)

This commit adds a statistics counter "num_queries_replyaddr_limit" that
counts the number of incoming client queries that have been dropped due
to the restriction on allocating additional reply addresses. This allows
distinguishing these drops from other kinds of drops.

* Statistics counter for number of mesh reply entries

Request list entries can be associated with multiple pending "reply
addresses". Since there is a limit on the number of additional reply
addresses that can be allocated which can cause incoming queries to be
dropped if exceeded, it would be nice to be able to track this number.

This commit basically exports the mesh_area's internal counter
`num_reply_addrs` as "threadX.requestlist.current.replies" /
"total.requestlist.current.replies".
2025-11-13 09:33:05 +01:00
.github Fix for analysis and ports workflows iOS, Windows (#1361) 2025-10-15 16:12:39 +02:00
cachedb - Fix unused attribute warning in redis.c when threads are not 2025-10-24 14:44:58 +02:00
compat - Fix conditional expressions with parentheses for bitwise and. 2025-06-11 16:42:43 +02:00
contrib Update ios ci with older sdk version to use. 2025-10-15 13:41:36 +02:00
daemon Mesh reply counters (#1374) 2025-11-13 09:33:05 +01:00
dns64 - Fix dns64 log output to log the default instead of a null string. 2025-11-04 10:19:03 +01:00
dnscrypt Fix typos 2021-11-13 16:56:15 +02:00
dnstap Fix #1346: [FR] Please allow back TLS 1.2. (#1349) 2025-09-29 12:03:56 +02:00
doc Mesh reply counters (#1374) 2025-11-13 09:33:05 +01:00
dynlibmod ipset-pf-support, move startup and destartup to the front of the module 2024-07-03 13:53:44 +02:00
edns-subnet - Fix for #1344: Fix that respip and dns64 can be enabled at the 2025-09-30 11:28:15 +02:00
ipsecmod - Fix for #1344: Fix that respip and dns64 can be enabled at the 2025-09-30 11:28:15 +02:00
ipset ipset-pf-support, move startup and destartup to the front of the module 2024-07-03 13:53:44 +02:00
iterator - Fix #1366: Infra cache does not work correctly for NAT64, by 2025-11-01 15:10:27 +01:00
libunbound Mesh reply counters (#1374) 2025-11-13 09:33:05 +01:00
pythonmod - Fix for #1344: Fix that respip and dns64 can be enabled at the 2025-09-30 11:28:15 +02:00
respip - Fix for #1344: Fix that respip and dns64 can be enabled at the 2025-09-30 11:28:15 +02:00
services Mesh reply counters (#1374) 2025-11-13 09:33:05 +01:00
sldns - Add extended dns error code for invalid query type to definition 2025-10-15 11:39:58 +02:00
smallapp Mesh reply counters (#1374) 2025-11-13 09:33:05 +01:00
testcode - Fix #1358 Enabling FIPS in OpenSSL causes unit test to fail. 2025-10-10 09:17:08 +02:00
testdata - Fix that when discard timeout drops packet, they are accounted as 2025-11-12 11:49:04 +01:00
util - iana portlist updated. 2025-11-12 11:49:21 +01:00
validator - Fix for #1344: Fix that respip and dns64 can be enabled at the 2025-09-30 11:28:15 +02:00
winrc Fix #1346: [FR] Please allow back TLS 1.2. (#1349) 2025-09-29 12:03:56 +02:00
.gitattributes - .gitattributes line for githubs code language display. 2016-11-03 08:29:29 +00:00
.gitignore DNSoverQUIC (#871) 2024-10-09 10:32:03 +02:00
.travis.yml - Travis, fix warning in ubsan compile. 2021-03-24 15:34:26 +01:00
aclocal.m4 - Fix for #570: regen aclocal.m4, fix configure.ac for spelling. 2021-11-29 11:41:45 +01:00
acx_nlnetlabs.m4 - Fix configure test for nonstring attribute so that it does not 2025-11-06 15:03:17 +01:00
acx_python.m4 - Fix #1092: Ubuntu 22.04 Jammy fails to compile unbound 1.20.0; by 2024-06-19 15:27:50 +02:00
ax_build_date_epoch.m4 Prefer SOURCE_DATE_EPOCH over actual time (#1238) 2025-02-28 09:22:19 +01:00
ax_pkg_swig.m4 Update ax_pkg_swig.m4 and ax_pthread.m4 2024-04-15 11:54:46 +02:00
ax_pthread.m4 Update ax_pkg_swig.m4 and ax_pthread.m4 2024-04-15 11:54:46 +02:00
config.guess Add loongarch support: 2024-04-09 11:15:14 +08:00
config.h.in - Rebuild configure script from its sources. 2025-09-29 10:02:54 +02:00
config.sub Add loongarch support: 2024-04-09 11:15:14 +08:00
configure - Fix configure test for nonstring attribute so that it does not 2025-11-06 15:03:17 +01:00
configure.ac - Fix configure test for noreturn attribute so it compiles without 2025-11-06 15:00:08 +01:00
install-sh - Newer aclocal and libtoolize used for generating configure scripts, 2019-01-24 08:57:47 +00:00
LICENSE - Fix #551: License change "Regents" to "Copyright holder", matching 2014-02-07 12:43:43 +00:00
ltmain.sh Changelog note for #1299 2025-07-02 10:57:23 +02:00
makedist.sh - Remove extra gpg instructions from makedist.sh output. 2025-10-15 14:59:48 +02:00
Makefile.in - For #1328: make depend. 2025-09-03 14:04:24 +02:00
README gmake no longer needed. 2012-02-10 10:34:15 +00:00
README-Travis.md Fix typos 2021-11-13 16:56:15 +02:00
README.md - Update the unbound.conf online man page link and some text 2025-10-20 14:34:40 +02:00
SECURITY.md add SECURITY.md, based on krill 2022-07-05 16:39:04 +02:00
systemd.m4 - Fix pkg-config availability check in dnstap/dnstap.m4 and 2024-06-21 14:34:12 +02:00

Unbound

Github Build Status Packaging status Fuzzing Status Documentation Status Mastodon Follow

Unbound is a validating, recursive, caching DNS resolver. It is designed to be fast and lean and incorporates modern features based on open standards. If you have any feedback, we would love to hear from you. Dont hesitate to create an issue on Github or post a message on the Unbound mailing list. You can learn more about Unbound by reading our documentation.

Compiling

Make sure you have the C toolchain, OpenSSL and its include files, and libexpat installed. If building from the repository source you also need flex and bison installed. Unbound can be compiled and installed using:

./configure && make && make install

You can use libevent if you want. libevent is useful when using many (e.g., 10000) outgoing ports. Use the --with-libevent configure option to compile Unbound with libevent support.

If not, the default builtin alternative opens max 256 ports at the same time and is equally capable and a little faster.

Unbound configuration

All of Unbound's configuration options are described in the unbound.conf(5) man page, which will be installed and is also available on the Unbound documentation page for the latest version.

An example configuration file, with minimal documentation, is located in doc/example.conf.