diff options
| author | Cy Schubert <cy@FreeBSD.org> | 2024-08-16 16:41:16 +0000 |
|---|---|---|
| committer | Cy Schubert <cy@FreeBSD.org> | 2024-08-16 16:41:16 +0000 |
| commit | 96ef46e5cff01648c80c09c4364d10bc6f58119d (patch) | |
| tree | a759010619ad11a8eaaaed7269bb06a9dfc2fa16 /doc | |
| parent | c2a80056864d6eda0398fd127dc0ae515b39752b (diff) | |
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/Changelog | 267 | ||||
| -rw-r--r-- | doc/README | 2 | ||||
| -rw-r--r-- | doc/example.conf.in | 14 | ||||
| -rw-r--r-- | doc/libunbound.3.in | 4 | ||||
| -rw-r--r-- | doc/unbound-anchor.8.in | 2 | ||||
| -rw-r--r-- | doc/unbound-checkconf.8.in | 2 | ||||
| -rw-r--r-- | doc/unbound-control.8.in | 66 | ||||
| -rw-r--r-- | doc/unbound-host.1.in | 2 | ||||
| -rw-r--r-- | doc/unbound.8.in | 4 | ||||
| -rw-r--r-- | doc/unbound.conf.5.in | 59 |
10 files changed, 383 insertions, 39 deletions
diff --git a/doc/Changelog b/doc/Changelog index 8d2ce0cde663..70860717a03b 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -1,8 +1,273 @@ +9 August 2024: Wouter + - Fix spelling for the cache-min-negative-ttl entry in the + example.conf. + +8 August 2024: Wouter + - Fix CAMP issues with global quota. Thanks to Huayi Duan, Marco + Bearzi, Jodok Vieli, and Cagin Tanir from NetSec group, ETH Zurich. + - Fix CacheFlush issues with limit on NS RRs. Thanks to Yehuda Afek, + Anat Bremler-Barr, Shoham Danino and Yuval Shavitt (Tel-Aviv + University and Reichman University). + - Set version number to 1.21.0 for release. + - Fix that for windows the module startup is called and sets up + the module-config. + +2 August 2024: Wouter + - Fix that alloc stats has strdup checks, it stops debuggers from + complaining about mismatch at free time. + - Fix testbound for alloc stats strdup in util/alloc.c. + - Merge #1090: Cookie secret file. Adds + `cookie-secret-file: "unbound_cookiesecrets.txt"` option to store + cookie secrets for EDNS COOKIE secret rollover. The remote control + add_cookie_secret, activate_cookie_secret and drop_cookie_secret + commands can be used for rollover, the command print_cookie_secrets + shows the values in use. + - Fix that alloc stats for forwards and hints are printed, and when + alloc stats is enabled, the unit test for unbound control waits for + reloads to complete. + +1 August 2024: Wouter + - Fix dnstap test program, cleans up to have clean memory on exit, + for tap_data_free, does not delete NULL items. Also it does not try + to free the tail, specifically in the free of the list since that + picked up the next item in the list for its loop causing invalid + free. Added internal unit test to unbound-dnstap-socket for that. + - Fix that the worker mem report with alloc stats does not attempt + to print memory use of forwards and hints if they have been + deleted already. + +31 July 2024: Wouter + - Fix for #1114: Fix that cache fill for forward-host names is + performed, so that with nonzero target-fetch-policy it fetches + forwarder addresses and uses them from cache. Also updated that + delegation point cache fill routines use CDflag for AAAA message + lookups, so that its negative lookup stops a recursion since the + cache uses the bit for disambiguation for dns64 but the recursion + uses CDflag for the AAAA target lookups, so the check correctly + stops a useless recursion by its cache lookup. + +30 July 2024: Wouter + - Fix to document parameters of auth_zone_verify_zonemd_with_key. + +25 July 2024: Wouter + - Add root key 38696 from 2024 for DNSSEC validation. It is added + to the default root keys in unbound-anchor. The content can be + inspected with `unbound-anchor -l`. + +23 July 2024: Yorgos + - Fix #1106: ratelimit-below-domain logs the wrong FROM address. + - Cleanup ede.tdir test. + - For #935 and #1104, clarify RPZ order and semantics. + +23 July 2024: Wouter + - Merge #1110: Make fallthrough explicit for libworker.c. + - For #1110: Test for fallthrough attribute in configure and add + fallthrough attribute annotations. + - Fix compile when the compiler does not support the noreturn + attribute. + - Fix to have empty definition when not supported for weak attribute. + - Fix uninitialized variable warning in create_tcp_accept_sock. + - Fix link of dnstap without openssl. + - Fix link of unbound-dnstap-socket without openssl. + +19 July 2024: Wouter + - Add dnstap-sample-rate that logs only 1/N messages, for high volume + server environments. Thanks Dan Luther. + - Fix dnstap wakeup, a running wakeup timer is left to expire and not + increased, a timer is started when the dtio thread is sleeping, + the timer set disabled when the dtio thread goes to sleep, and + after sleep the thread checks to see if there are messages to log + immediately. + +16 July 2024: Wouter + - For #1103: Fix to drop mesh state reference for the http2 stream + associated with the reply, not the currently active stream. And + it does not remove it twice on a mesh_send_reply call. The reply + h2_stream is NULL when not in use, for more initialisation. + +15 July 2024: Wouter + - For #1103: fix to also drop mesh state reference when the discard + limit is reached, when there is an error making a new recursion + state and when the connection is dropped with is_drop. + +12 July 2024: Yorgos + - Add RPZ tag tests in acl_interface.tdir. + - For #1102: clearer text for using interface-* options for the + loopback interface. + +12 July 2024: Wouter + - Fix #1103: unbound 1.20.0 segmentation fault with nghttp2. + - For #1103: fix to also drop mesh state reference when a h2 reply is + dropped. + +10 July 2024: Wouter + - For #773: In contrib/unbound.service.in set unbound to start after + network-online.target. Also for contrib/unbound_portable.service.in. + +9 July 2024: Yorgos + - Update list of known EDE codes. + +8 July 2024: Wouter + - Fix that validation reason failure that uses string print uses + separate buffer that is passed, from the scratch validation buffer. + - Fixup algo_needs_reason string buffer length. + - Fix shadowed error string variable in validator dnskey handling. + +5 July 2024: Yorgos + - Don't check for message TTL changes if the RRsets remain the same. + +5 July 2024: Wouter + - Fix for neater printout for error for missing DS response. + - Fix neater printout. + - Fix #1099: Unbound core dump on SIGSEGV. + - Fix for #1099: Fix to check for deleted RRset when the contents + is updated and fetched after it is stored, and also check for a + changed RRset. + +4 July 2024: Wouter + - Fix to print details about the failure to lookup a DNSKEY record + when validation fails due to the missing DNSKEY. Also for key prime + and DS lookups. + +3 July 2024: Yorgos + - Fix for repeated use of a DNAME record: first overallocate and then + move the exact size of the init value to avoid false positive heap + overflow reads from address sanitizers. + +3 July 2024: Wouter + - Fix #144: Port ipset to BSD pf tables. + - Add unit test skip files and bison and flex output to gitignore. + - Fix to use modstack_init in zonemd unit test. + - Fix to remove unneeded linebreak in fptr_wlist.c. + - Fix compile warnings in fptr_wlist.c. + +2 July 2024: Wouter + - Fix to remove unused include from the readzone test program. + - Fix unused variable warning in do_cache_remove. + - Fix compile warning in worker pthread id printout. + +17 June 2024: Wouter + - Fix ip-ratelimit-cookie setting, it was not applied. + +26 June 2024: Yorgos + - Explicitly set the RD bit for the mesh query flags when prefetching. + These queries have no waiting client but they need to be treated as + recursive. + +21 June 2024: Yorgos + - Fix pkg-config availability check in dnstap/dnstap.m4 and + systemd.m4. + +19 June 2024: Yorgos + - Fix #1092: Ubuntu 22.04 Jammy fails to compile unbound 1.20.0; by + adding helpful text for the Python interpreter version and allowing + the default pkg-config unavailability error message to be shown. + +17 June 2024: Wouter + - Fix #1091: Build fails with OpenSSL >= 3.0 built with + OPENSSL_NO_DEPRECATED. + +7 June 2024: Wouter + - Add unit test for validation of repeated use of a DNAME record. + +6 June 2024: Wouter + - Fix memory leak in setup of dsa sig. + - Fix typos for 'the the' in text. + - Fix validation for repeated use of a DNAME record. + +4 June 2024: Yorgos + - Merge #1080: AddressSanitizer detection in tdir tests and memory leak + fixes. + - Fix memory leak when reload_keep_cache is used and num-threads + changes. + - Fix memory leak on exit for unbound-dnstap-socket; creates false + negatives during testing. + +3 June 2024: Wouter + - Fix to squelch connection reset by peer errors from log. And fix + that the tcp read errors are labeled as initial for the first calls. + +30 May 2024: Wouter + - Fix #1079: tags from tagged rpz zones are no longer honored after + upgrade from 1.19.3 to 1.20.0. + - Fix for #1079: fix RPZ taglist in iterator callback that no client + info is like no taglist intersection. + +29 May 2024: Wouter + - Merge #1078: Only check old pid if no username. + +27 May 2024: Wouter + - Fix to enable that SERVFAIL is cached, for a short period, for more + cases. In the cases where limits are exceeded. + - Fix spelling of tcp-idle-timeout docs, from Michael Tokarev. + +27 May 2024: Yorgos + - Fix unused variable warning on compilation with no thread support. + - unbound-control-setup: check openssl availability before doing + anything, patch from Michael Tokarev. + - Update patch to remove 'command' shell builtin and update error + text. + +24 May 2024: Wouter + - Fix #1064: Unbound 1.20 Cachedb broken? + +24 May 2024: Yorgos + - Fix #1059: Intermittent DNS blocking failure with local-zone and + always_nxdomain. Addition of local_zones dynamically via + unbound-control was not finding the zone's parent correctly. + +21 May 2024: Wouter + - Merge #1073: fix null pointer dereference issue in function + ub_ctx_set_fwd. + - Fix to print a parse error when config is read with no name for + a forward-zone, stub-zone or view. + - Fix for parse end of forward-zone, stub-zone and view. + - Fix for #1064: Fix that cachedb expired messages are considered + insecure, and thus can be served to clients when dnssec is enabled. + +17 May 2024: Yorgos + - Merge #1069: Fix unbound-control stdin commands for multi-process + Unbounds. + - Fix unbound-control commands that read stdin in multi-process + operation (local_zones_remove, local_zones, local_datas_remove, + local_datas, view_local_datas_remove, view_local_datas). They will + be properly distributed to all processes. dump_cache and load_cache + are no longer supported in multi-process operation. + - Remove testdata/remote-threaded.tdir. testdata/09-unbound-control.tdir + now checks both single and multi process/thread operation. + +16 May 2024: Yorgos + - Merge #1070: Fix rtt assignement for low values of + infra-cache-max-rtt. + +16 May 2024: Wouter + - Fix #1071: [FR] Clear both in-memory and cachedb module cache with + `unbound-control flush*` commands. + +15 May 2024: Yorgos + - Add missing common functions to tdir tests. + +10 May 2024: Wouter + - Fix when the mesh jostle is exceeded that nameserver targets are + marked as resolved, so that the lookup is not stuck on the + requestlist. + +8 May 2024: Wouter + - Fix to squelch udp connect errors in the log at low verbosity about + invalid argument for IPv6 link local addresses. + +7 May 2024: Wouter + - Merge #1062: Fix potential overflow bug while parsing port in + function cfg_mark_ports. + - Fix for #1062: declaration before statement, avoid print of null, + and redundant check for array size. + 1 May 2024: Wouter - Fix for the DNSBomb vulnerability CVE-2024-33655. Thanks to Xiang Li from the Network and Information Security Lab of Tsinghua University for reporting it. - - Set version number to 1.20.0 for release. + - Set version number to 1.20.0 for release. This became the release + on 8 may 2024, the repository continues with version 1.20.1. 29 April 2024: Yorgos - Cleanup unnecessary strdup calls for EDE strings. diff --git a/doc/README b/doc/README index 5f81ad258835..cc26a2f78299 100644 --- a/doc/README +++ b/doc/README @@ -1,4 +1,4 @@ -README for Unbound 1.20.0 +README for Unbound 1.21.0 Copyright 2007 NLnet Labs http://unbound.net diff --git a/doc/example.conf.in b/doc/example.conf.in index 0368c8d87618..130cb4e46205 100644 --- a/doc/example.conf.in +++ b/doc/example.conf.in @@ -1,7 +1,7 @@ # # Example configuration file. # -# See unbound.conf(5) man page, version 1.20.0. +# See unbound.conf(5) man page, version 1.21.0. # # this is a comment. @@ -228,7 +228,7 @@ server: # the time to live (TTL) value lower bound, in seconds. Default 0. # For negative responses in the cache. If disabled, default, - # cache-min-tll applies if configured. + # cache-min-ttl applies if configured. # cache-min-negative-ttl: 0 # the time to live (TTL) value for cached roundtrip times, lameness and @@ -1044,6 +1044,11 @@ server: # example value "000102030405060708090a0b0c0d0e0f". # cookie-secret: <128 bit random hex string> + # File with cookie secrets, the 'cookie-secret:' option is ignored + # and the file can be managed to have staging and active secrets + # with remote control commands. Disabled with "". Default is "". + # cookie-secret-file: "/usr/local/etc/unbound_cookiesecrets.txt" + # Enable to attach Extended DNS Error codes (RFC8914) to responses. # ede: no @@ -1329,6 +1334,8 @@ remote-control: # dnstap-identity: "" # # if "" it uses the package version. # dnstap-version: "" +# # log only 1/N messages, if 0 it is disabled. default 0. +# dnstap-sample-rate: 0 # dnstap-log-resolver-query-messages: no # dnstap-log-resolver-response-messages: no # dnstap-log-client-query-messages: no @@ -1337,7 +1344,8 @@ remote-control: # dnstap-log-forwarder-response-messages: no # Response Policy Zones -# RPZ policies. Applied in order of configuration. QNAME, Response IP +# RPZ policies. Applied in order of configuration. Any match from an earlier +# RPZ zone will terminate the RPZ lookup. QNAME, Response IP # Address, nsdname, nsip and clientip triggers are supported. Supported # actions are: NXDOMAIN, NODATA, PASSTHRU, DROP, Local Data, tcp-only # and drop. Policies can be loaded from a file, or using zone diff --git a/doc/libunbound.3.in b/doc/libunbound.3.in index f1e62c81ab7a..013c0461df05 100644 --- a/doc/libunbound.3.in +++ b/doc/libunbound.3.in @@ -1,4 +1,4 @@ -.TH "libunbound" "3" "May 8, 2024" "NLnet Labs" "unbound 1.20.0" +.TH "libunbound" "3" "Aug 15, 2024" "NLnet Labs" "unbound 1.21.0" .\" .\" libunbound.3 -- unbound library functions manual .\" @@ -44,7 +44,7 @@ .B ub_ctx_zone_remove, .B ub_ctx_data_add, .B ub_ctx_data_remove -\- Unbound DNS validating resolver 1.20.0 functions. +\- Unbound DNS validating resolver 1.21.0 functions. .SH "SYNOPSIS" .B #include <unbound.h> .LP diff --git a/doc/unbound-anchor.8.in b/doc/unbound-anchor.8.in index edab220a9598..efc526d6dd6d 100644 --- a/doc/unbound-anchor.8.in +++ b/doc/unbound-anchor.8.in @@ -1,4 +1,4 @@ -.TH "unbound-anchor" "8" "May 8, 2024" "NLnet Labs" "unbound 1.20.0" +.TH "unbound-anchor" "8" "Aug 15, 2024" "NLnet Labs" "unbound 1.21.0" .\" .\" unbound-anchor.8 -- unbound anchor maintenance utility manual .\" diff --git a/doc/unbound-checkconf.8.in b/doc/unbound-checkconf.8.in index 75a26e411b74..402b1ee22777 100644 --- a/doc/unbound-checkconf.8.in +++ b/doc/unbound-checkconf.8.in @@ -1,4 +1,4 @@ -.TH "unbound-checkconf" "8" "May 8, 2024" "NLnet Labs" "unbound 1.20.0" +.TH "unbound-checkconf" "8" "Aug 15, 2024" "NLnet Labs" "unbound 1.21.0" .\" .\" unbound-checkconf.8 -- unbound configuration checker manual .\" diff --git a/doc/unbound-control.8.in b/doc/unbound-control.8.in index 251dde7642c0..c33217febc46 100644 --- a/doc/unbound-control.8.in +++ b/doc/unbound-control.8.in @@ -1,4 +1,4 @@ -.TH "unbound-control" "8" "May 8, 2024" "NLnet Labs" "unbound 1.20.0" +.TH "unbound-control" "8" "Aug 15, 2024" "NLnet Labs" "unbound 1.21.0" .\" .\" unbound-control.8 -- unbound remote control manual .\" @@ -121,31 +121,38 @@ Remove local data RRs read from stdin of unbound\-control. Input is one name per line. For bulk removals. .TP .B dump_cache -The contents of the cache is printed in a text format to stdout. You can -redirect it to a file to store the cache in a file. +The content of the cache is printed in a text format to stdout. +You can redirect it to a file to store the cache in a file. +Not supported in remote Unbounds in multi-process operation. .TP .B load_cache -The contents of the cache is loaded from stdin. Uses the same format as -dump_cache uses. Loading the cache with old, or wrong data can result -in old or wrong data returned to clients. Loading data into the cache -in this way is supported in order to aid with debugging. +The content of the cache is loaded from stdin. +Uses the same format as dump_cache uses. +Loading the cache with old, or wrong data can result in old or wrong data +returned to clients. +Loading data into the cache in this way is supported in order to aid with +debugging. +Not supported in remote Unbounds in multi-process operation. .TP .B lookup \fIname Print to stdout the name servers that would be used to look up the name specified. .TP -.B flush \fIname +.B flush \fR[\fI+c\fR] \fIname Remove the name from the cache. Removes the types A, AAAA, NS, SOA, CNAME, DNAME, MX, PTR, SRV, NAPTR, SVCB and HTTPS. Because that is fast to do. Other record types can be removed using .B flush_type or .B flush_zone\fR. +.IP +The '+c' option removes the items also from the cachedb cache. If +cachedb is in use. .TP -.B flush_type \fIname\fR \fItype +.B flush_type \fR[\fI+c\fR] \fIname\fR \fItype Remove the name, type information from the cache. .TP -.B flush_zone \fIname +.B flush_zone \fR[\fI+c\fR] \fIname Remove all information at or below the name from the cache. The rrsets and key entries are removed so that new lookups will be performed. This needs to walk and inspect the entire cache, and is a slow operation. @@ -153,10 +160,10 @@ The entries are set to expired in the implementation of this command (so, with serve\-expired enabled, it'll serve that information but schedule a prefetch for new information). .TP -.B flush_bogus +.B flush_bogus \fR[\fI+c\fR] Remove all bogus data from the cache. .TP -.B flush_negative +.B flush_negative \fR[\fI+c\fR] Remove all negative data from the cache. This is nxdomain answers, nodata answers and servfail answers. Also removes bad key entries (which could be due to failed lookups) from the dnssec key cache, and @@ -343,6 +350,41 @@ Remove a list of \fIlocal_data\fR for given view from stdin. Like local_datas_re .TP .B view_local_datas \fIview\fR Add a list of \fIlocal_data\fR for given view from stdin. Like local_datas. +.TP +.B add_cookie_secret <secret> +Add or replace a cookie secret persistently. <secret> needs to be an 128 bit +hex string. +.IP +Cookie secrets can be either \fIactive\fR or \fIstaging\fR. \fIActive\fR cookie +secrets are used to create DNS Cookies, but verification of a DNS Cookie +succeeds with any of the \fIactive\fR or \fIstaging\fR cookie secrets. The +state of the current cookie secrets can be printed with the +\fBprint_cookie_secrets\fR command. +.IP +When there are no cookie secrets configured yet, the <secret> is added as +\fIactive\fR. If there is already an \fIactive\fR cookie secret, the <secret> +is added as \fIstaging\fR or replacing an existing \fIstaging\fR secret. +.IP +To "roll" a cookie secret used in an anycast set. The new secret has to be +added as staging secret to \fBall\fR nodes in the anycast set. When \fBall\fR +nodes can verify DNS Cookies with the new secret, the new secret can be +activated with the \fBactivate_cookie_secret\fR command. After \fBall\fR nodes +have the new secret \fIactive\fR for at least one hour, the previous secret can +be dropped with the \fBdrop_cookie_secret\fR command. +.IP +Persistence is accomplished by writing to a file which if configured with the +\fBcookie\-secret\-file\fR option in the server section of the config file. +This is disabled by default, "". +.TP +.B drop_cookie_secret +Drop the \fIstaging\fR cookie secret. +.TP +.B activate_cookie_secret +Make the current \fIstaging\fR cookie secret \fIactive\fR, and the current +\fIactive\fR cookie secret \fIstaging\fR. +.TP +.B print_cookie_secrets +Show the current configured cookie secrets with their status. .SH "EXIT CODE" The unbound\-control program exits with status code 1 on error, 0 on success. .SH "SET UP" diff --git a/doc/unbound-host.1.in b/doc/unbound-host.1.in index 6192480cd5ea..6826d7f3acb0 100644 --- a/doc/unbound-host.1.in +++ b/doc/unbound-host.1.in @@ -1,4 +1,4 @@ -.TH "unbound\-host" "1" "May 8, 2024" "NLnet Labs" "unbound 1.20.0" +.TH "unbound\-host" "1" "Aug 15, 2024" "NLnet Labs" "unbound 1.21.0" .\" .\" unbound-host.1 -- unbound DNS lookup utility .\" diff --git a/doc/unbound.8.in b/doc/unbound.8.in index 749f5c99cc22..335de4023f62 100644 --- a/doc/unbound.8.in +++ b/doc/unbound.8.in @@ -1,4 +1,4 @@ -.TH "unbound" "8" "May 8, 2024" "NLnet Labs" "unbound 1.20.0" +.TH "unbound" "8" "Aug 15, 2024" "NLnet Labs" "unbound 1.21.0" .\" .\" unbound.8 -- unbound manual .\" @@ -9,7 +9,7 @@ .\" .SH "NAME" .B unbound -\- Unbound DNS validating resolver 1.20.0. +\- Unbound DNS validating resolver 1.21.0. .SH "SYNOPSIS" .B unbound .RB [ \-h ] diff --git a/doc/unbound.conf.5.in b/doc/unbound.conf.5.in index 764e2d78b5fe..4a1d3739dd47 100644 --- a/doc/unbound.conf.5.in +++ b/doc/unbound.conf.5.in @@ -1,4 +1,4 @@ -.TH "unbound.conf" "5" "May 8, 2024" "NLnet Labs" "unbound 1.20.0" +.TH "unbound.conf" "5" "Aug 15, 2024" "NLnet Labs" "unbound 1.21.0" .\" .\" unbound.conf.5 -- unbound.conf manual .\" @@ -511,7 +511,7 @@ configured value if the number of free buffers falls below 35% of the total number configured, and finally to 0 if the number of free buffers falls below 20% of the total number configured. A minimum timeout of 200 milliseconds is observed regardless of the option value used. -It will be overriden by \fBedns\-tcp\-keepalive\-timeout\fR if +It will be overridden by \fBedns\-tcp\-keepalive\-timeout\fR if \fBedns\-tcp\-keepalive\fR is enabled. .TP .B tcp-reuse-timeout: \fI<msec>\fR @@ -788,7 +788,8 @@ transports, regardless of the presence of an DNS Cookie and regardless of the UDP queries without a DNS Cookie receive REFUSED responses with the TC flag set, that may trigger fall back to TCP for those clients. .IP -By default only localhost is \fIallow\fRed, the rest is \fIrefuse\fRd. +By default only localhost (the 127.0.0.0/8 IP netblock, not the loopback +interface) is implicitly \fIallow\fRed, the rest is \fIrefuse\fRd. The default is \fIrefuse\fRd, because that is protocol\-friendly. The DNS protocol is not designed to handle dropped packets due to policy, and dropping may result in (possibly excessive) retried queries. @@ -824,8 +825,12 @@ Similar to \fBaccess\-control:\fR but for interfaces. .IP The action is the same as the ones defined under \fBaccess\-control:\fR. Interfaces are \fIrefuse\fRd by default. -By default only localhost (the IP netblock, not the loopback interface) is -\fIallow\fRed through the default \fBaccess\-control:\fR behavior. +By default only localhost (the 127.0.0.0/8 IP netblock, not the loopback +interface) is implicitly \fIallow\fRed through the default +\fBaccess\-control:\fR behavior. +This also means that any attempt to use the \fBinterface-*:\fR options for the +loopback interface will not work as they will be overridden by the implicit +default "\fBaccess\-control:\fR 127.0.0.0/8 allow" option. .IP Note that the interface needs to be already specified with \fBinterface:\fR and that any \fBaccess-control*:\fR setting overrides all \fBinterface-*:\fR @@ -1978,6 +1983,20 @@ Useful to explicitly set for servers in an anycast deployment that need to share the secret in order to verify each other's Server Cookies. An example hex string would be "000102030405060708090a0b0c0d0e0f". Default is a 128 bits random secret generated at startup time. +This option is ignored if a \fBcookie\-secret\-file\fR is +present. In that case the secrets from that file are used in DNS Cookie +calculations. +.TP 5 +.B cookie\-secret\-file: \fI<filename> +File from which the secrets are read used in DNS Cookie calculations. When this +file exists, the secrets in this file are used and the secret specified by the +\fBcookie-secret\fR option is ignored. +Enable it by setting a filename, like "/usr/local/etc/unbound_cookiesecrets.txt". +The content of this file must be manipulated with the \fBadd_cookie_secret\fR, +\fBdrop_cookie_secret\fR and \fBactivate_cookie_secret\fR commands to the +\fIunbound\-control\fR(8) tool. Please see that manpage on how to perform a +safe cookie secret rollover. +Default is "" (disabled). .TP 5 .B edns\-client\-string: \fI<IP netblock> <string> Include an EDNS0 option containing configured ascii string in queries with @@ -2847,6 +2866,13 @@ Default is "". The version to send with messages, if "" the package version is used. Default is "". .TP +.B dnstap-sample-rate: \fI<number> +The sample rate for log of messages, it logs only 1/N messages. With 0 it +is disabled. Default is 0. This is useful in a high volume environment, +where log functionality would otherwise not be reliable. For example 10 +would spend only 1/10th time on logging, and 100 would only spend a +hundredth of the time on logging. +.TP .B dnstap-log-resolver-query-messages: \fI<yes or no> Enable to log resolver query messages. Default is no. These are messages from Unbound to upstream servers. @@ -2871,9 +2897,11 @@ Enable to log forwarder response messages. Default is no. .SS Response Policy Zone Options .LP Response Policy Zones are configured with \fBrpz:\fR, and each one must have a -\fBname:\fR. There can be multiple ones, by listing multiple rpz clauses, each -with a different name. RPZ clauses are applied in order of configuration. The -\fBrespip\fR module needs to be added to the \fBmodule-config\fR, e.g.: +\fBname:\fR. There can be multiple ones, by listing multiple RPZ clauses, each +with a different name. RPZ clauses are applied in order of configuration and +any match from an earlier RPZ zone will terminate the RPZ lookup. Note that a +PASSTHRU action is still considered a match. +The \fBrespip\fR module needs to be added to the \fBmodule-config\fR, e.g.: \fBmodule-config: "respip validator iterator"\fR. .P QNAME, Response IP Address, nsdname, nsip and clientip triggers are supported. @@ -2881,12 +2909,13 @@ Supported actions are: NXDOMAIN, NODATA, PASSTHRU, DROP, Local Data, tcp\-only and drop. RPZ QNAME triggers are applied after \fBlocal\-zones\fR and before \fBauth\-zones\fR. .P -The rpz zone is formatted with a SOA start record as usual. The items in -the zone are entries, that specify what to act on (the trigger) and what to -do (the action). The trigger to act on is recorded in the name, the action -to do is recorded as the resource record. The names all end in the zone -name, so you could type the trigger names without a trailing dot in the -zonefile. +The RPZ zone is a regular DNS zone formatted with a SOA start record as usual. +The items in the zone are entries, that specify what to act on (the trigger) +and what to do (the action). +The trigger to act on is recorded in the name, the action to do is recorded as +the resource record. +The names all end in the zone name, so you could type the trigger names without +a trailing dot in the zonefile. .P An example RPZ record, that answers example.com with NXDOMAIN .nf @@ -2986,7 +3015,7 @@ externally blocked. Default is no. If enabled the zone is authoritatively answered for and queries for the RPZ zone information are answered to downstream clients. This is useful for monitoring scripts, that can then access the SOA information to check if -the rpz information is up to date. Default is no. +the RPZ information is up to date. Default is no. .TP .B tags: \fI<list of tags> Limit the policies from this RPZ clause to clients with a matching tag. Tags |
