.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") .. .. SPDX-License-Identifier: MPL-2.0 .. .. This Source Code Form is subject to the terms of the Mozilla Public .. License, v. 2.0. If a copy of the MPL was not distributed with this .. file, you can obtain one at https://mozilla.org/MPL/2.0/. .. .. See the COPYRIGHT file distributed with this work for additional .. information regarding copyright ownership. BIND 9.20.16 ------------ Feature Changes ~~~~~~~~~~~~~~~ - Fix assertion failure from arc4random_uniform with invalid limit. ``1040282de7e`` When the arc4random_uniform() is called on NetBSD with upper_bound that makes no sense statistically (0 or 1), the call crashes the calling program. Fix this by returning 0 when upper bound is < 2 as does Linux, FreeBSD and NetBSD. (Hint: System CSPRNG should never crash.) :gl:`#5596` :gl:`!11151` Bug Fixes ~~~~~~~~~ - Fix dnssec-keygen key collision checking for KEY rrtype keys. ``ac8b23b80bf`` The :iscman:`dnssec-keygen` utility program failed to detect possible Key ID collisions with the existing keys generated using the non-default ``-T KEY`` option (e.g. for ``SIG(0)``). This has been fixed. :gl:`#5506` :gl:`!11128` - Fix shutdown INSIST in dns_dispatchmgr_getblackhole. ``f0aaaef166c`` Previously, `named` could trigger an assertion in `dns_dispatchmgr_getblackhole` while shutting down. This has been fixed. :gl:`#5525` :gl:`!11162` - Dnssec-verify now uses exit code 1 when failing due to illegal options. ``6ead0aa4a2b`` Previously, dnssec-verify exited with code 0 if the options could not be parsed. This has been fixed. :gl:`#5574` :gl:`!11129` - Prevent assertion failures of dig when server is specified before the -b option. ``deada63e2b2`` Previously, :iscman:`dig` could exit with an assertion failure when the server was specified before the :option:`dig -b` option. This has been fixed. :gl:`#5609` :gl:`!11204` - Skip unsupported algorithms when looking for signing key. ``c346fe88a1b`` A mix of supported and unsupported DNSSEC algorithms in the same zone could have caused validation failures. Ignore the DNSSEC keys with unsupported algorithm when looking for the signing keys. :gl:`#5622` :gl:`!11210` - Fix configuration bugs involving global defaults. ``a85d6fb581c`` The configuration code for the `max-cache-size`, `dnssec-validation`, and `response-padding` options were unnecessarily complicated, and in the case of `max-cache-size`, buggy. These have been fixed. The `optionmaps` variable in `configure_view()` is no longer needed and has been removed. :gl:`!11172` - Skip buffer allocations if not logging. ``4f601175bd0`` Currently, during IXFR we allocate a 2KB buffer for IXFR change logging regardless of the log level. This commit introduces an early check on the log level in dns_diff_print to avoid this. Results in a speedup from 28% in the test case from issue #5442. :gl:`!11192`