git: 7a789145f88a - main - unbound: Update to 1.26.0
- Reply: Shawn Webb : "Re: git: 7a789145f88a - main - unbound: Update to 1.26.0"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 04 Aug 2026 18:28:09 UTC
The branch main has been updated by des:
URL: https://cgit.FreeBSD.org/src/commit/?id=7a789145f88a6aceacc59029a0cafe7de7aeefea
commit 7a789145f88a6aceacc59029a0cafe7de7aeefea
Merge: 65349af4422f 84ffc29dc8dd
Author: Dag-Erling Smørgrav <des@FreeBSD.org>
AuthorDate: 2026-08-04 18:27:21 +0000
Commit: Dag-Erling Smørgrav <des@FreeBSD.org>
CommitDate: 2026-08-04 18:27:21 +0000
unbound: Update to 1.26.0
Release notes at
https://community.nlnetlabs.nl/t/unbound-1-26-0-released
Merge commit '84ffc29dc8ddb0c946db5cb3b3c1310bec6a9e6c'
contrib/unbound/README.md | 2 +-
contrib/unbound/ax_pthread.m4 | 19 +-
contrib/unbound/cachedb/cachedb.c | 11 +
contrib/unbound/compat/getentropy_osx.c | 389 +-
contrib/unbound/compat/inet_pton.c | 13 +-
contrib/unbound/config.guess | 26 +-
contrib/unbound/config.h.in | 398 +-
contrib/unbound/config.sub | 31 +-
contrib/unbound/configure | 4800 +++++++++------
contrib/unbound/configure.ac | 26 +-
contrib/unbound/daemon/cachedump.c | 4 +-
contrib/unbound/daemon/daemon.c | 40 +-
contrib/unbound/daemon/remote.c | 263 +-
contrib/unbound/daemon/remote.h | 8 +-
contrib/unbound/daemon/stats.c | 28 +-
contrib/unbound/daemon/worker.c | 41 +-
contrib/unbound/dns64/dns64.c | 67 +-
contrib/unbound/dnscrypt/dnscrypt.c | 9 +-
contrib/unbound/dnstap/dnstap.c | 53 +-
contrib/unbound/dnstap/dnstap.h | 4 +-
contrib/unbound/dnstap/dtstream.c | 2 +-
contrib/unbound/dnstap/unbound-dnstap-socket.c | 6 +-
contrib/unbound/doc/Changelog | 577 ++
contrib/unbound/doc/README | 2 +-
contrib/unbound/doc/example.conf | 11 +-
contrib/unbound/doc/example.conf.in | 11 +-
contrib/unbound/doc/libunbound.3 | 4 +-
contrib/unbound/doc/libunbound.3.in | 4 +-
contrib/unbound/doc/unbound-anchor.8 | 4 +-
contrib/unbound/doc/unbound-anchor.8.in | 4 +-
contrib/unbound/doc/unbound-checkconf.8 | 4 +-
contrib/unbound/doc/unbound-checkconf.8.in | 4 +-
contrib/unbound/doc/unbound-control.8 | 6 +-
contrib/unbound/doc/unbound-control.8.in | 6 +-
contrib/unbound/doc/unbound-control.rst | 2 +
contrib/unbound/doc/unbound-host.1 | 4 +-
contrib/unbound/doc/unbound-host.1.in | 4 +-
contrib/unbound/doc/unbound.8 | 4 +-
contrib/unbound/doc/unbound.8.in | 4 +-
contrib/unbound/doc/unbound.conf.5 | 112 +-
contrib/unbound/doc/unbound.conf.5.in | 112 +-
contrib/unbound/doc/unbound.conf.rst | 93 +-
contrib/unbound/edns-subnet/addrtree.c | 1 +
contrib/unbound/edns-subnet/subnetmod.c | 3 +
contrib/unbound/ipsecmod/ipsecmod-whitelist.c | 2 +
contrib/unbound/ipsecmod/ipsecmod.c | 120 +-
contrib/unbound/ipset/ipset.c | 31 +-
contrib/unbound/iterator/iter_delegpt.c | 55 +-
contrib/unbound/iterator/iter_delegpt.h | 6 +-
contrib/unbound/iterator/iter_resptype.c | 25 +-
contrib/unbound/iterator/iter_resptype.h | 6 +-
contrib/unbound/iterator/iter_scrub.c | 76 +-
contrib/unbound/iterator/iter_scrub.h | 7 +-
contrib/unbound/iterator/iter_utils.c | 11 +-
contrib/unbound/iterator/iter_utils.h | 3 +
contrib/unbound/iterator/iterator.c | 84 +-
contrib/unbound/iterator/iterator.h | 18 +
contrib/unbound/libunbound/context.h | 2 +
contrib/unbound/libunbound/libunbound.c | 17 +
contrib/unbound/libunbound/libworker.c | 17 +-
contrib/unbound/libunbound/remote.h | 65 +
contrib/unbound/libunbound/worker.h | 19 +-
contrib/unbound/respip/respip.c | 53 +-
contrib/unbound/services/authzone.c | 349 +-
contrib/unbound/services/authzone.h | 29 +
contrib/unbound/services/cache/dns.c | 14 +-
contrib/unbound/services/cache/rrset.c | 21 +-
contrib/unbound/services/listen_dnsport.c | 14 +-
contrib/unbound/services/localzone.c | 67 +-
contrib/unbound/services/localzone.h | 6 +
contrib/unbound/services/mesh.c | 193 +-
contrib/unbound/services/mesh.h | 43 +-
contrib/unbound/services/outside_network.c | 71 +-
contrib/unbound/services/outside_network.h | 7 +-
contrib/unbound/services/rpz.c | 50 +-
contrib/unbound/sldns/keyraw.c | 13 +-
contrib/unbound/sldns/str2wire.c | 10 +-
contrib/unbound/smallapp/unbound-anchor.c | 176 +-
contrib/unbound/smallapp/unbound-checkconf.c | 120 +
contrib/unbound/smallapp/worker_cb.c | 5 +-
contrib/unbound/util/config_file.c | 63 +-
contrib/unbound/util/config_file.h | 4 +
contrib/unbound/util/configlexer.c | 7662 ++++++++++++------------
contrib/unbound/util/configlexer.lex | 2 +
contrib/unbound/util/configparser.c | 4201 ++++++-------
contrib/unbound/util/configparser.h | 26 +-
contrib/unbound/util/configparser.y | 131 +-
contrib/unbound/util/data/msgencode.c | 8 +-
contrib/unbound/util/data/msgparse.c | 7 +-
contrib/unbound/util/data/msgreply.c | 15 +-
contrib/unbound/util/data/packed_rrset.c | 9 +-
contrib/unbound/util/data/packed_rrset.h | 2 +
contrib/unbound/util/fptr_wlist.c | 2 +-
contrib/unbound/util/fptr_wlist.h | 2 +-
contrib/unbound/util/iana_ports.inc | 4 +
contrib/unbound/util/module.h | 11 +-
contrib/unbound/util/net_help.c | 38 +-
contrib/unbound/util/netevent.c | 123 +-
contrib/unbound/util/netevent.h | 2 +
contrib/unbound/util/proxy_protocol.c | 25 +-
contrib/unbound/util/proxy_protocol.h | 9 +
contrib/unbound/util/shm_side/shm_main.c | 2 +
contrib/unbound/util/tube.c | 20 +
contrib/unbound/validator/autotrust.c | 83 +-
contrib/unbound/validator/val_anchor.c | 25 +-
contrib/unbound/validator/val_neg.c | 27 +-
contrib/unbound/validator/val_nsec.c | 32 +-
contrib/unbound/validator/val_nsec3.c | 21 +
contrib/unbound/validator/val_secalgo.c | 8 +-
contrib/unbound/validator/val_sigcrypt.c | 63 +-
contrib/unbound/validator/val_utils.c | 37 +-
contrib/unbound/validator/val_utils.h | 13 +
contrib/unbound/validator/validator.c | 37 +-
lib/libunbound/config.h | 404 +-
114 files changed, 12866 insertions(+), 9273 deletions(-)
diff --cc contrib/unbound/README.md
index d805e4d0a3d7,000000000000..c9507e53e5e4
mode 100644,000000..100644
--- a/contrib/unbound/README.md
+++ b/contrib/unbound/README.md
@@@ -1,45 -1,0 +1,45 @@@
+# Unbound
+
+[](https://github.com/NLnetLabs/unbound/actions)
+[](https://repology.org/project/unbound/versions)
+[](https://bugs.chromium.org/p/oss-fuzz/issues/list?sort=-opened&can=1&q=proj:unbound)
+[](https://unbound.readthedocs.io/en/latest/?badge=latest)
+[](https://social.nlnetlabs.nl/@nlnetlabs)
+
+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. Don’t hesitate to
+[create an issue on Github](https://github.com/NLnetLabs/unbound/issues/new)
- or post a message on the [Unbound mailing list](https://lists.nlnetlabs.nl/mailman/listinfo/unbound-users).
++or post a message on our [community forum](https://community.nlnetlabs.nl/).
+You can learn more about Unbound by reading our
+[documentation](https://unbound.docs.nlnetlabs.nl/).
+
+## 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](https://unbound.docs.nlnetlabs.nl/en/latest/manpages/unbound.conf.html)
+for the latest version.
+
+An example configuration file, with minimal documentation, is located in
+[doc/example.conf](https://github.com/NLnetLabs/unbound/blob/master/doc/example.conf.in).
diff --cc contrib/unbound/doc/example.conf
index 5d4536a71f6e,000000000000..ad9331489ef7
mode 100644,000000..100644
--- a/contrib/unbound/doc/example.conf
+++ b/contrib/unbound/doc/example.conf
@@@ -1,1455 -1,0 +1,1464 @@@
+#
+# Example configuration file.
+#
- # See unbound.conf(5) man page, version 1.25.2.
++# See unbound.conf(5) man page, version 1.26.0.
+#
+# this is a comment.
+
+# Use this anywhere in the file to include other text into this file.
+#include: "otherfile.conf"
+
+# Use this anywhere in the file to include other text, that explicitly starts a
+# clause, into this file. Text after this directive needs to start a clause.
+#include-toplevel: "otherfile.conf"
+
+# The server clause sets the main parameters.
+server:
+ # whitespace is not necessary, but looks cleaner.
+
+ # verbosity number, 0 is least verbose. 1 is default.
+ # verbosity: 1
+
+ # print statistics to the log (for every thread) every N seconds.
+ # Set to "" or 0 to disable. Default is disabled.
+ # statistics-interval: 0
+
+ # enable shm for stats, default no. if you enable also enable
+ # statistics-interval, every time it also writes stats to the
+ # shared memory segment keyed with shm-key.
+ # shm-enable: no
+
+ # shm for stats uses this key, and key+1 for the shared mem segment.
+ # shm-key: 11777
+
+ # enable cumulative statistics, without clearing them after printing.
+ # statistics-cumulative: no
+
+ # enable extended statistics (query types, answer codes, status)
+ # printed from unbound-control. Default off, because of speed.
+ # extended-statistics: no
+
+ # Inhibits selected extended statistics (qtype, qclass, qopcode, rcode,
+ # rpz-actions) from printing if their value is 0.
+ # Default on.
+ # statistics-inhibit-zero: yes
+
+ # number of threads to create. 1 disables threading.
+ # num-threads: 1
+
+ # specify the interfaces to answer queries from by ip-address.
+ # The default is to listen to localhost (127.0.0.1 and ::1).
+ # specify 0.0.0.0 and ::0 to bind to all available interfaces.
+ # specify every interface[@port] on a new 'interface:' labelled line.
+ # The listen interfaces are not changed on reload, only on restart.
+ # interface: 192.0.2.153
+ # interface: 192.0.2.154
+ # interface: 192.0.2.154@5003
+ # interface: 2001:db8::5
+ # interface: eth0@5003
+
+ # enable this feature to copy the source address of queries to reply.
+ # Socket options are not supported on all platforms. experimental.
+ # interface-automatic: no
+
+ # instead of the default port, open additional ports separated by
+ # spaces when interface-automatic is enabled, by listing them here.
+ # interface-automatic-ports: ""
+
+ # port to answer queries from
+ # port: 53
+
+ # specify the interfaces to send outgoing queries to authoritative
+ # server from by ip-address. If none, the default (all) interface
+ # is used. Specify every interface on a 'outgoing-interface:' line.
+ # outgoing-interface: 192.0.2.153
+ # outgoing-interface: 2001:db8::5
+ # outgoing-interface: 2001:db8::6
+
+ # Specify a netblock to use remainder 64 bits as random bits for
+ # upstream queries. Uses freebind option (Linux).
+ # outgoing-interface: 2001:db8::/64
+ # Also (Linux:) ip -6 addr add 2001:db8::/64 dev lo
+ # And: ip -6 route add local 2001:db8::/64 dev lo
+ # And set prefer-ip6: yes to use the ip6 randomness from a netblock.
+ # Set this to yes to prefer ipv6 upstream servers over ipv4.
+ # prefer-ip6: no
+
+ # Prefer ipv4 upstream servers, even if ipv6 is available.
+ # prefer-ip4: no
+
+ # number of ports to allocate per thread, determines the size of the
+ # port range that can be open simultaneously. About double the
+ # num-queries-per-thread, or, use as many as the OS will allow you.
+ # outgoing-range: 4096
+
+ # permit Unbound to use this port number or port range for
+ # making outgoing queries, using an outgoing interface.
+ # outgoing-port-permit: 32768
+
+ # deny Unbound the use this of port number or port range for
+ # making outgoing queries, using an outgoing interface.
+ # Use this to make sure Unbound does not grab a UDP port that some
+ # other server on this computer needs. The default is to avoid
+ # IANA-assigned port numbers.
+ # If multiple outgoing-port-permit and outgoing-port-avoid options
+ # are present, they are processed in order.
+ # outgoing-port-avoid: "3200-3208"
+
+ # number of outgoing simultaneous tcp buffers to hold per thread.
+ # outgoing-num-tcp: 10
+
+ # number of incoming simultaneous tcp buffers to hold per thread.
+ # incoming-num-tcp: 10
+
+ # buffer size for UDP port 53 incoming (SO_RCVBUF socket option).
+ # 0 is system default. Use 4m to catch query spikes for busy servers.
+ # so-rcvbuf: 0
+
+ # buffer size for UDP port 53 outgoing (SO_SNDBUF socket option).
+ # 0 is system default. Set larger to handle spikes on very busy servers.
+ # so-sndbuf: 4m
+
+ # use SO_REUSEPORT to distribute queries over threads.
+ # at extreme load it could be better to turn it off to distribute even.
+ # so-reuseport: yes
+
+ # use IP_TRANSPARENT so the interface: addresses can be non-local
+ # and you can config non-existing IPs that are going to work later on
+ # (uses IP_BINDANY on FreeBSD).
+ # ip-transparent: no
+
+ # use IP_FREEBIND so the interface: addresses can be non-local
+ # and you can bind to nonexisting IPs and interfaces that are down.
+ # Linux only. On Linux you also have ip-transparent that is similar.
+ # ip-freebind: no
+
+ # the value of the Differentiated Services Codepoint (DSCP)
+ # in the differentiated services field (DS) of the outgoing
+ # IP packets
+ # ip-dscp: 0
+
+ # EDNS reassembly buffer to advertise to UDP peers (the actual buffer
+ # is set with msg-buffer-size).
+ # edns-buffer-size: 1232
+
+ # Maximum UDP response size (not applied to TCP response).
+ # Suggested values are 512 to 4096. Default is 1232. 65536 disables it.
+ # max-udp-size: 1232
+
+ # max memory to use for stream(tcp and tls) waiting result buffers.
+ # stream-wait-size: 4m
+
+ # buffer size for handling DNS data. No messages larger than this
+ # size can be sent or received, by UDP or TCP. In bytes.
+ # msg-buffer-size: 65552
+
+ # the amount of memory to use for the message cache.
+ # plain value in bytes or you can append k, m or G. default is "4Mb".
+ # msg-cache-size: 4m
+
+ # the number of slabs to use for the message cache.
+ # the number of slabs must be a power of 2.
+ # more slabs reduce lock contention, but fragment memory usage.
+ # msg-cache-slabs: 4
+
+ # the number of queries that a thread gets to service.
+ # num-queries-per-thread: 2048
+
+ # if very busy, 50% queries run to completion, 50% get timeout in msec
+ # jostle-timeout: 200
+
+ # msec to wait before close of port on timeout UDP. 0 disables.
+ # delay-close: 0
+
+ # perform connect for UDP sockets to mitigate ICMP side channel.
+ # udp-connect: yes
+
+ # The number of retries, per upstream nameserver in a delegation, when
+ # a throwaway response (also timeouts) is received.
+ # outbound-msg-retry: 5
+
+ # Hard limit on the number of outgoing queries Unbound will make while
+ # resolving a name, making sure large NS sets do not loop.
+ # It resets on query restarts (e.g., CNAME) and referrals.
+ # max-sent-count: 32
+
+ # Hard limit on the number of times Unbound is allowed to restart a
+ # query upon encountering a CNAME record.
+ # max-query-restarts: 11
+
+ # Limit on number of NS records in NS RRset for incoming packets.
+ # iter-scrub-ns: 20
+
+ # Limit on number of CNAME, DNAME records for incoming packets.
+ # iter-scrub-cname: 11
+
+ # Limit on number of RRSIGs for an RRset for incoming packets.
+ # iter-scrub-rrsig: 8
+
+ # Limit on upstream queries for an incoming query and its recursion.
+ # max-global-quota: 200
+
+ # Should the scrubber remove promiscuous NS from positive answers,
+ # protects against poison attempts.
+ # iter-scrub-promiscuous: yes
+
+ # msec for waiting for an unknown server to reply. Increase if you
+ # are behind a slow satellite link, to eg. 1128.
+ # unknown-server-time-limit: 376
+
+ # msec before recursion replies are dropped. The work item continues.
+ # discard-timeout: 1900
+
+ # Max number of replies waiting for recursion per IP address.
+ # wait-limit: 1000
+
+ # Max replies waiting for recursion for IP address with cookie.
+ # wait-limit-cookie: 10000
+
+ # Apart from the default, the wait limit can be set for a netblock.
+ # wait-limit-netblock: 192.0.2.0/24 50000
+
+ # Apart from the default, the wait limit with cookie can be adjusted.
+ # wait-limit-cookie-netblock: 192.0.2.0/24 50000
+
+ # Defaults for loopback, it has no wait limit.
+ # wait-limit-netblock: 127.0.0.0/8 -1
+ # wait-limit-netblock: ::1/128 -1
+ # wait-limit-cookie-netblock: 127.0.0.0/8 -1
+ # wait-limit-cookie-netblock: ::1/128 -1
+
+ # the amount of memory to use for the RRset cache.
+ # plain value in bytes or you can append k, m or G. default is "4Mb".
+ # rrset-cache-size: 4m
+
+ # the number of slabs to use for the RRset cache.
+ # the number of slabs must be a power of 2.
+ # more slabs reduce lock contention, but fragment memory usage.
+ # rrset-cache-slabs: 4
+
+ # the time to live (TTL) value lower bound, in seconds. Default 0.
+ # If more than an hour could easily give trouble due to stale data.
+ # cache-min-ttl: 0
+
+ # the time to live (TTL) value cap for RRsets and messages in the
+ # cache. Items are not cached for longer. In seconds.
+ # cache-max-ttl: 86400
+
+ # the time to live (TTL) value cap for negative responses in the cache
+ # cache-max-negative-ttl: 3600
+
+ # the time to live (TTL) value lower bound, in seconds. Default 0.
+ # For negative responses in the cache. If disabled, default,
+ # cache-min-ttl applies if configured.
+ # cache-min-negative-ttl: 0
+
+ # the time to live (TTL) value for cached roundtrip times, lameness and
+ # EDNS version information for hosts. In seconds.
+ # infra-host-ttl: 900
+
+ # minimum wait time for responses, increase if uplink is long. In msec.
+ # infra-cache-min-rtt: 50
+
+ # maximum wait time for responses. In msec.
+ # infra-cache-max-rtt: 120000
+
+ # enable to make server probe down hosts more frequently.
+ # infra-keep-probing: no
+
+ # the number of slabs to use for the Infrastructure cache.
+ # the number of slabs must be a power of 2.
+ # more slabs reduce lock contention, but fragment memory usage.
+ # infra-cache-slabs: 4
+
+ # the maximum number of hosts that are cached (roundtrip, EDNS, lame).
+ # infra-cache-numhosts: 10000
+
+ # define a number of tags here, use with local-zone, access-control,
+ # interface-*.
+ # repeat the define-tag statement to add additional tags.
+ # define-tag: "tag1 tag2 tag3"
+
+ # Enable IPv4, "yes" or "no".
+ # do-ip4: yes
+
+ # Enable IPv6, "yes" or "no".
+ # do-ip6: yes
+
+ # If running unbound on an IPv6-only host, domains that only have
+ # IPv4 servers would become unresolvable. If NAT64 is available in
+ # the network, unbound can use NAT64 to reach these servers with
+ # the following option. This is NOT needed for enabling DNS64 on a
+ # system that has IPv4 connectivity.
+ # Consider also enabling prefer-ip6 to prefer native IPv6 connections
+ # to nameservers.
+ # do-nat64: no
+
+ # NAT64 prefix. Defaults to using dns64-prefix value.
+ # nat64-prefix: 64:ff9b::0/96
+
+ # Enable UDP, "yes" or "no".
+ # do-udp: yes
+
+ # Enable TCP, "yes" or "no".
+ # do-tcp: yes
+
+ # upstream connections use TCP only (and no UDP), "yes" or "no"
+ # useful for tunneling scenarios, default no.
+ # tcp-upstream: no
+
+ # upstream connections also use UDP (even if do-udp is no).
+ # useful if if you want UDP upstream, but don't provide UDP downstream.
+ # udp-upstream-without-downstream: no
+
+ # Maximum segment size (MSS) of TCP socket on which the server
+ # responds to queries. Default is 0, system default MSS.
+ # tcp-mss: 0
+
+ # Maximum segment size (MSS) of TCP socket for outgoing queries.
+ # Default is 0, system default MSS.
+ # outgoing-tcp-mss: 0
+
+ # Idle TCP timeout, connection closed in milliseconds
+ # tcp-idle-timeout: 30000
+
+ # Enable EDNS TCP keepalive option.
+ # edns-tcp-keepalive: no
+
+ # Timeout for EDNS TCP keepalive, in msec. Overrides tcp-idle-timeout
+ # if edns-tcp-keepalive is set.
+ # edns-tcp-keepalive-timeout: 120000
+
+ # UDP queries that have waited in the socket buffer for a long time
+ # can be dropped. Default is 0, disabled. In seconds, such as 3.
+ # sock-queue-timeout: 0
+
+ # Use systemd socket activation for UDP, TCP, and control sockets.
+ # use-systemd: no
+
+ # Detach from the terminal, run in background, "yes" or "no".
+ # Set the value to "no" when Unbound runs as systemd service.
+ # do-daemonize: yes
+
+ # control which clients are allowed to make (recursive) queries
+ # to this server. Specify classless netblocks with /size and action.
+ # By default everything is refused, except for localhost.
+ # Choose deny (drop message), refuse (polite error reply),
+ # allow (recursive ok), allow_setrd (recursive ok, rd bit is forced on),
+ # allow_snoop (recursive and nonrecursive ok)
+ # allow_cookie (allow UDP with valid cookie or stateful transport)
+ # deny_non_local (drop queries unless can be answered from local-data)
+ # refuse_non_local (like deny_non_local but polite error reply).
+ # access-control: 127.0.0.0/8 allow
+ # access-control: ::1 allow
+ # access-control: ::ffff:127.0.0.1 allow
+
+ # tag access-control with list of tags (in "" with spaces between)
+ # Clients using this access control element use localzones that
+ # are tagged with one of these tags.
+ # access-control-tag: 192.0.2.0/24 "tag2 tag3"
+
+ # set action for particular tag for given access control element.
+ # if you have multiple tag values, the tag used to lookup the action
+ # is the first tag match between access-control-tag and local-zone-tag
+ # where "first" comes from the order of the define-tag values.
+ # access-control-tag-action: 192.0.2.0/24 tag3 refuse
+
+ # set redirect data for particular tag for access control element
+ # access-control-tag-data: 192.0.2.0/24 tag2 "A 127.0.0.1"
+
+ # Set view for access control element
+ # access-control-view: 192.0.2.0/24 viewname
+
+ # Similar to 'access-control:' but for interfaces.
+ # Control which listening interfaces are allowed to accept (recursive)
+ # queries for this server.
+ # The specified interfaces should be the same as the ones specified in
+ # 'interface:' followed by the action.
+ # The actions are the same as 'access-control:' above.
+ # By default all the interfaces configured are refused.
+ # Note: any 'access-control*:' setting overrides all 'interface-*:'
+ # settings for targeted clients.
+ # interface-action: 192.0.2.153 allow
+ # interface-action: 192.0.2.154 allow
+ # interface-action: 192.0.2.154@5003 allow
+ # interface-action: 2001:db8::5 allow
+ # interface-action: eth0@5003 allow
+
+ # Similar to 'access-control-tag:' but for interfaces.
+ # Tag interfaces with a list of tags (in "" with spaces between).
+ # Interfaces using these tags use localzones that are tagged with one
+ # of these tags.
+ # The specified interfaces should be the same as the ones specified in
+ # 'interface:' followed by the list of tags.
+ # Note: any 'access-control*:' setting overrides all 'interface-*:'
+ # settings for targeted clients.
+ # interface-tag: eth0@5003 "tag2 tag3"
+
+ # Similar to 'access-control-tag-action:' but for interfaces.
+ # Set action for particular tag for a given interface element.
+ # If you have multiple tag values, the tag used to lookup the action
+ # is the first tag match between interface-tag and local-zone-tag
+ # where "first" comes from the order of the define-tag values.
+ # The specified interfaces should be the same as the ones specified in
+ # 'interface:' followed by the tag and action.
+ # Note: any 'access-control*:' setting overrides all 'interface-*:'
+ # settings for targeted clients.
+ # interface-tag-action: eth0@5003 tag3 refuse
+
+ # Similar to 'access-control-tag-data:' but for interfaces.
+ # Set redirect data for a particular tag for an interface element.
+ # The specified interfaces should be the same as the ones specified in
+ # 'interface:' followed by the tag and the redirect data.
+ # Note: any 'access-control*:' setting overrides all 'interface-*:'
+ # settings for targeted clients.
+ # interface-tag-data: eth0@5003 tag2 "A 127.0.0.1"
+
+ # Similar to 'access-control-view:' but for interfaces.
+ # Set view for an interface element.
+ # The specified interfaces should be the same as the ones specified in
+ # 'interface:' followed by the view name.
+ # Note: any 'access-control*:' setting overrides all 'interface-*:'
+ # settings for targeted clients.
+ # interface-view: eth0@5003 viewname
+
+ # if given, a chroot(2) is done to the given directory.
+ # i.e. you can chroot to the working directory, for example,
+ # for extra security, but make sure all files are in that directory.
+ #
+ # If chroot is enabled, you should pass the configfile (from the
+ # commandline) as a full path from the original root. After the
+ # chroot has been performed the now defunct portion of the config
+ # file path is removed to be able to reread the config after a reload.
+ #
+ # All other file paths (working dir, logfile, roothints, and
+ # key files) can be specified in several ways:
+ # o as an absolute path relative to the new root.
+ # o as a relative path to the working directory.
+ # o as an absolute path relative to the original root.
+ # In the last case the path is adjusted to remove the unused portion.
+ #
+ # The pid file can be absolute and outside of the chroot, it is
+ # written just prior to performing the chroot and dropping permissions.
+ #
+ # Additionally, Unbound may need to access /dev/urandom (for entropy).
+ # How to do this is specific to your OS.
+ #
+ # If you give "" no chroot is performed. The path must not end in a /.
+ # chroot: "/var/unbound"
+
+ # if given, user privileges are dropped (after binding port),
+ # and the given username is assumed. Default is user "unbound".
+ # If you give "" no privileges are dropped.
+ # username: "unbound"
+
+ # the working directory. The relative files in this config are
+ # relative to this directory. If you give "" the working directory
+ # is not changed.
+ # If you give a server: directory: dir before include: file statements
+ # then those includes can be relative to the working directory.
+ # directory: "/var/unbound"
+
+ # the log file, "" means log to stderr.
+ # Use of this option sets use-syslog to "no".
+ # logfile: ""
+
+ # Log to syslog(3) if yes. The log facility LOG_DAEMON is used to
+ # log to. If yes, it overrides the logfile.
+ # use-syslog: yes
+
+ # Log identity to report. if empty, defaults to the name of argv[0]
+ # (usually "unbound").
+ # log-identity: ""
+
+ # print UTC timestamp in ascii to logfile, default is epoch in seconds.
+ # log-time-ascii: no
+
+ # log timestamp in ISO8601 format if also log-time-ascii is enabled.
+ # (y-m-dTh:m:s.msec[+-]tzhours:tzminutes)
+ # log-time-iso: no
+
+ # print one line with time, IP, name, type, class for every query.
+ # log-queries: no
+
+ # print one line per reply, with time, IP, name, type, class, rcode,
+ # timetoresolve, fromcache and responsesize.
+ # log-replies: no
+
+ # log with tag 'query' and 'reply' instead of 'info' for
+ # filtering log-queries and log-replies from the log.
+ # log-tag-queryreply: no
+
+ # log with destination address, port and type for log-replies.
+ # log-destaddr: no
+
+ # log the local-zone actions, like local-zone type inform is enabled
+ # also for the other local zone types.
+ # log-local-actions: no
+
+ # print log lines that say why queries return SERVFAIL to clients.
+ # log-servfail: no
+
+ # log system-wide Linux thread ID, insted of Unbound's internal thread
+ # counter. Only on Linux and only when threads are available.
+ # log-thread-id: no
+
+ # the pid file. Can be an absolute path outside of chroot/work dir.
+ # pidfile: "/var/unbound/unbound.pid"
+
+ # file to read root hints from.
+ # get one from https://www.internic.net/domain/named.cache
+ # root-hints: ""
+
+ # enable to not answer id.server and hostname.bind queries.
+ # hide-identity: no
+
+ # enable to not answer version.server and version.bind queries.
+ # hide-version: no
+
+ # enable to not answer trustanchor.unbound queries.
+ # hide-trustanchor: no
+
+ # enable to not set the User-Agent HTTP header.
+ # hide-http-user-agent: no
+
+ # the identity to report. Leave "" or default to return hostname.
+ # identity: ""
+
+ # the version to report. Leave "" or default to return package version.
+ # version: ""
+
+ # NSID identity (hex string, or "ascii_somestring"). default disabled.
+ # nsid: "aabbccdd"
+
+ # User-Agent HTTP header to use. Leave "" or default to use package name
+ # and version.
+ # http-user-agent: ""
+
+ # the target fetch policy.
+ # series of integers describing the policy per dependency depth.
+ # The number of values in the list determines the maximum dependency
+ # depth the recursor will pursue before giving up. Each integer means:
+ # -1 : fetch all targets opportunistically,
+ # 0: fetch on demand,
+ # positive value: fetch that many targets opportunistically.
+ # Enclose the list of numbers between quotes ("").
+ # target-fetch-policy: "3 2 1 0 0"
+
+ # Harden against very small EDNS buffer sizes.
+ # harden-short-bufsize: yes
+
+ # Harden against unseemly large queries.
+ # harden-large-queries: no
+
+ # Harden against out of zone rrsets, to avoid spoofing attempts.
+ # harden-glue: yes
+
+ # Harden against unverified (outside-zone, including sibling zone) glue rrsets
+ # harden-unverified-glue: no
+
+ # Harden against receiving dnssec-stripped data. If you turn it
+ # off, failing to validate dnskey data for a trustanchor will
+ # trigger insecure mode for that zone (like without a trustanchor).
+ # Default on, which insists on dnssec data for trust-anchored zones.
+ # harden-dnssec-stripped: yes
+
+ # Harden against queries that fall under dnssec-signed nxdomain names.
+ # harden-below-nxdomain: yes
+
+ # Harden the referral path by performing additional queries for
+ # infrastructure data. Validates the replies (if possible).
+ # Default off, because the lookups burden the server. Experimental
+ # implementation of draft-wijngaards-dnsext-resolver-side-mitigation.
+ # harden-referral-path: no
+
+ # Harden against algorithm downgrade when multiple algorithms are
+ # advertised in the DS record. If no, allows any algorithm
+ # to validate the zone which is the standard behavior for validators.
+ # Check the manpage for detailed information.
+ # harden-algo-downgrade: no
+
+ # Harden against unknown records in the authority section and the
+ # additional section.
+ # harden-unknown-additional: no
+
+ # Sent minimum amount of information to upstream servers to enhance
+ # privacy. Only sent minimum required labels of the QNAME and set QTYPE
+ # to A when possible.
+ # qname-minimisation: yes
+
+ # QNAME minimisation in strict mode. Do not fall-back to sending full
+ # QNAME to potentially broken nameservers. A lot of domains will not be
+ # resolvable when this option in enabled.
+ # This option only has effect when qname-minimisation is enabled.
+ # qname-minimisation-strict: no
+
+ # Aggressive NSEC uses the DNSSEC NSEC chain to synthesize NXDOMAIN
+ # and other denials, using information from previous NXDOMAINs answers.
+ # aggressive-nsec: yes
+
+ # Use 0x20-encoded random bits in the query to foil spoof attempts.
+ # This feature is an experimental implementation of draft dns-0x20.
+ # use-caps-for-id: no
+
+ # Domains (and domains in them) without support for dns-0x20 and
+ # the fallback fails because they keep sending different answers.
+ # caps-exempt: "licdn.com"
+ # caps-exempt: "senderbase.org"
+
+ # Enforce privacy of these addresses. Strips them away from answers.
+ # It may cause DNSSEC validation to additionally mark it as bogus.
+ # Protects against 'DNS Rebinding' (uses browser as network proxy).
+ # Only 'private-domain' and 'local-data' names are allowed to have
+ # these private addresses. No default.
+ # private-address: 10.0.0.0/8
+ # private-address: 172.16.0.0/12
+ # private-address: 192.168.0.0/16
+ # private-address: 169.254.0.0/16
+ # private-address: fd00::/8
+ # private-address: fe80::/10
+ # private-address: ::ffff:0:0/96
+
+ # Allow the domain (and its subdomains) to contain private addresses.
+ # local-data statements are allowed to contain private addresses too.
+ # private-domain: "example.com"
+
+ # If nonzero, unwanted replies are not only reported in statistics,
+ # but also a running total is kept per thread. If it reaches the
+ # threshold, a warning is printed and a defensive action is taken,
+ # the cache is cleared to flush potential poison out of it.
+ # A suggested value is 10000000, the default is 0 (turned off).
+ # unwanted-reply-threshold: 0
+
+ # Do not query the following addresses. No DNS queries are sent there.
+ # List one address per entry. List classless netblocks with /size,
+ # do-not-query-address: 127.0.0.1/8
+ # do-not-query-address: ::1
+
+ # if yes, the above default do-not-query-address entries are present.
+ # if no, localhost can be queried (for testing and debugging).
+ # do-not-query-localhost: yes
+
+ # if yes, perform prefetching of almost expired message cache entries.
+ # prefetch: no
+
+ # if yes, perform key lookups adjacent to normal lookups.
+ # prefetch-key: no
+
+ # deny queries of type ANY with an empty response.
+ # deny-any: no
+
+ # if yes, Unbound rotates RRSet order in response.
+ # rrset-roundrobin: yes
+
+ # if yes, Unbound doesn't insert authority/additional sections
+ # into response messages when those sections are not required.
+ # minimal-responses: yes
+
+ # true to disable DNSSEC lameness check in iterator.
+ # disable-dnssec-lame-check: no
+
+ # module configuration of the server. A string with identifiers
+ # separated by spaces. Syntax: "[dns64] [validator] iterator"
+ # most modules have to be listed at the beginning of the line,
+ # except cachedb(just before iterator), and python (at the beginning,
+ # or, just before the iterator).
+ # module-config: "validator iterator"
+
+ # File with trusted keys, kept up-to-date using RFC5011 probes,
+ # initial file like trust-anchor-file, then it stores metadata.
+ # Use several entries, one per domain name, to track multiple zones.
+ #
+ # If you want to perform DNSSEC validation, run unbound-anchor before
+ # you start Unbound (i.e. in the system boot scripts).
+ # And then enable the auto-trust-anchor-file config item.
+ # Please note usage of unbound-anchor root anchor is at your own risk
+ # and under the terms of our LICENSE (see that file in the source).
+ # auto-trust-anchor-file: "/var/unbound/root.key"
+
+ # trust anchor signaling sends a RFC8145 key tag query after priming.
+ # trust-anchor-signaling: yes
+
+ # Root key trust anchor sentinel (draft-ietf-dnsop-kskroll-sentinel)
+ # root-key-sentinel: yes
+
+ # File with trusted keys for validation. Specify more than one file
+ # with several entries, one file per entry.
+ # Zone file format, with DS and DNSKEY entries.
+ # Note this gets out of date, use auto-trust-anchor-file please.
+ # trust-anchor-file: ""
+
+ # Trusted key for validation. DS or DNSKEY. specify the RR on a
+ # single line, surrounded by "". TTL is ignored. class is IN default.
+ # Note this gets out of date, use auto-trust-anchor-file please.
+ # (These examples are from August 2007 and may not be valid anymore).
+ # trust-anchor: "nlnetlabs.nl. DNSKEY 257 3 5 AQPzzTWMz8qSWIQlfRnPckx2BiVmkVN6LPupO3mbz7FhLSnm26n6iG9N Lby97Ji453aWZY3M5/xJBSOS2vWtco2t8C0+xeO1bc/d6ZTy32DHchpW 6rDH1vp86Ll+ha0tmwyy9QP7y2bVw5zSbFCrefk8qCUBgfHm9bHzMG1U BYtEIQ=="
+ # trust-anchor: "jelte.nlnetlabs.nl. DS 42860 5 1 14D739EB566D2B1A5E216A0BA4D17FA9B038BE4A"
+
+ # File with trusted keys for validation. Specify more than one file
+ # with several entries, one file per entry. Like trust-anchor-file
+ # but has a different file format. Format is BIND-9 style format,
+ # the trusted-keys { name flag proto algo "key"; }; clauses are read.
+ # you need external update procedures to track changes in keys.
+ # trusted-keys-file: ""
+
+ # Ignore chain of trust. Domain is treated as insecure.
+ # domain-insecure: "example.com"
+
+ # Override the date for validation with a specific fixed date.
+ # Do not set this unless you are debugging signature inception
+ # and expiration. "" or "0" turns the feature off. -1 ignores date.
+ # val-override-date: ""
+
+ # The time to live for bogus data, rrsets and messages. This avoids
+ # some of the revalidation, until the time interval expires. in secs.
+ # val-bogus-ttl: 60
+
+ # The signature inception and expiration dates are allowed to be off
+ # by 10% of the signature lifetime (expir-incep) from our local clock.
+ # This leeway is capped with a minimum and a maximum. In seconds.
+ # val-sig-skew-min: 3600
+ # val-sig-skew-max: 86400
+
+ # The maximum number the validator should restart validation with
+ # another authority in case of failed validation.
+ # val-max-restart: 5
+
+ # Should additional section of secure message also be kept clean of
+ # non-secure data. Useful to shield the users of this validator from
+ # potential bogus data in the additional section. All unsigned data
+ # in the additional section is removed from secure messages.
+ # val-clean-additional: yes
+
+ # Turn permissive mode on to permit bogus messages. Thus, messages
+ # for which security checks failed will be returned to clients,
+ # instead of SERVFAIL. It still performs the security checks, which
+ # result in interesting log files and possibly the AD bit in
+ # replies if the message is found secure. The default is off.
+ # val-permissive-mode: no
+
+ # Ignore the CD flag in incoming queries and refuse them bogus data.
+ # Enable it if the only clients of Unbound are legacy servers (w2008)
+ # that set CD but cannot validate themselves.
+ # ignore-cd-flag: no
+
+ # Disable the DO flag in outgoing requests. It is helpful for upstream
+ # devices that cannot handle DNSSEC information. But do not enable it
+ # otherwise, because it would stop DNSSEC validation.
+ # disable-edns-do: no
+
+ # Serve expired responses from cache, with serve-expired-reply-ttl in
+ # the response. By default it first tries to refresh an expired answer.
+ # Can be configured with serve-expired-client-timeout.
+ # serve-expired: no
+ #
+ # Limit serving of expired responses to configured seconds after
+ # expiration. 0 disables the limit.
+ # serve-expired-ttl: 86400
+ #
+ # Set the TTL of expired records to the serve-expired-ttl value after a
+ # failed attempt to retrieve the record from upstream. This makes sure
+ # that the expired records will be served as long as there are queries
+ # for it.
+ # serve-expired-ttl-reset: no
+ #
+ # TTL value to use when replying with expired data.
+ # Capped by the original TTL of the record.
+ # serve-expired-reply-ttl: 30
+ #
+ # Time in milliseconds before replying to the client with expired data.
+ # This essentially enables the serve-stale behavior as specified in
+ # RFC 8767 that first tries to resolve before immediately responding
+ # with expired data. 0 disables this behavior.
+ # serve-expired-client-timeout: 1800
+
+ # Return the original TTL as received from the upstream name server rather
+ # than the decrementing TTL as stored in the cache. Enabling this feature
+ # does not impact cache expiry, it only changes the TTL Unbound embeds in
+ # responses to queries. Note that enabling this feature implicitly disables
+ # enforcement of the configured minimum and maximum TTL.
+ # serve-original-ttl: no
+
+ # Have the validator log failed validations for your diagnosis.
+ # 0: off. 1: A line per failed user query. 2: With reason and bad IP.
+ # val-log-level: 0
+
+ # It is possible to configure NSEC3 maximum iteration counts per
+ # keysize. Keep this table very short, as linear search is done.
+ # A message with an NSEC3 with larger count is marked insecure.
+ # List in ascending order the keysize and count values.
+ # val-nsec3-keysize-iterations: "1024 150 2048 150 4096 150"
+
+ # if enabled, ZONEMD verification failures do not block the zone.
+ # zonemd-permissive-mode: no
+
*** 14582 LINES SKIPPED ***