Up to [cvs.NetBSD.org] / src / external / mpl / bind / dist / lib / isc
Request diff between arbitrary revisions
Keyword substitution: kv
Default branch: MAIN
Merge conflicts between 9.16.20 and 9.16.33
merge conflicts, adjust build.
--- 9.16.12 released --- 5578. [protocol] Make "check-names" accept A records below "_spf", "_spf_rate", and "_spf_verify" labels in order to cater for the "exists" SPF mechanism specified in RFC 7208 section 5.7 and appendix D.1. [GL #2377] 5577. [bug] Fix the "three is a crowd" key rollover bug in KASP by correctly implementing Equation (2) of the "Flexible and Robust Key Rollover" paper. [GL #2375] 5575. [bug] When migrating to KASP, BIND 9 considered keys with the "Inactive" and/or "Delete" timing metadata to be possible active keys. This has been fixed. [GL #2406] 5572. [bug] Address potential double free in generatexml(). [GL #2420] 5571. [bug] named failed to start when its configuration included a zone with a non-builtin "allow-update" ACL attached. [GL #2413] 5570. [bug] Improve performance of the DNSSEC verification code by reducing the number of repeated calls to dns_dnssec_keyfromrdata(). [GL #2073] 5569. [bug] Emit useful error message when "rndc retransfer" is applied to a zone of inappropriate type. [GL #2342] 5568. [bug] Fixed a crash in "dnssec-keyfromlabel" when using ECDSA keys. [GL #2178] 5567. [bug] Dig now reports unknown dash options while pre-parsing the options. This prevents "-multi" instead of "+multi" from reporting memory usage before ending option parsing with "Invalid option: -lti". [GL #2403] 5566. [func] Add "stale-answer-client-timeout" option, which is the amount of time a recursive resolver waits before attempting to answer the query using stale data from cache. [GL #2247] 5565. [func] The SONAMEs for BIND 9 libraries now include the current BIND 9 version number, in an effort to tightly couple internal libraries with a specific release. [GL #2387] 5562. [security] Fix off-by-one bug in ISC SPNEGO implementation. (CVE-2020-8625) [GL #2354] 5561. [bug] KASP incorrectly set signature validity to the value of the DNSKEY signature validity. This is now fixed. [GL #2383] 5560. [func] The default value of "max-stale-ttl" has been changed from 12 hours to 1 day and the default value of "stale-answer-ttl" has been changed from 1 second to 30 seconds, following RFC 8767 recommendations. [GL #2248] 5456. [func] Added "primaries" as a synonym for "masters" in named.conf, and "primary-only" as a synonym for "master-only" in the parameters to "notify", to bring terminology up-to-date with RFC 8499. [GL #1948] 5362. [func] Limit the size of IXFR responses so that AXFR will be used instead if it would be smaller. This is controlled by the "max-ixfr-ratio" option, which is a percentage representing the ratio of IXFR size to the size of the entire zone. This value cannot exceed 100%, which is the default. [GL #1515] --- 9.16.11 released --- 5559. [bug] The --with-maxminddb=PATH form of the build-time option enabling support for libmaxminddb was not working correctly. This has been fixed. [GL #2366] 5557. [bug] Prevent RBTDB instances from being destroyed by multiple threads at the same time. [GL #2317] 5556. [bug] Further tweak newline printing in dnssec-signzone and dnssec-verify. [GL #2359] 5555. [bug] server->reload_status was not properly initialized. [GL #2361] 5554. [bug] dnssec-signzone and dnssec-verify were missing newlines between log messages. [GL #2359] 5553. [bug] When reconfiguring named, removing "auto-dnssec" did not turn off DNSSEC maintenance. [GL #2341] 5552. [func] When switching to "dnssec-policy none;", named now permits a safe transition to insecure mode and publishes the CDS and CDNSKEY DELETE records, as described in RFC 8078. [GL #1750] 5551. [bug] named no longer attempts to assign threads to CPUs outside the CPU affinity set. Thanks to Ole Bjørn Hessen. [GL #2245] 5550. [func] dnssec-signzone and named now log a warning when falling back to the "increment" SOA serial method. [GL #2058] 5545. [func] OS support for load-balanced sockets is no longer required to receive incoming queries in multiple netmgr threads. [GL #2137] 5543. [bug] Fix UDP performance issues caused by making netmgr callbacks asynchronous-only. [GL #2320] 5542. [bug] Refactor netmgr. [GL #1920] [GL #2034] [GL #2061] [GL #2194] [GL #2221] [GL #2266] [GL #2283] [GL #2318] [GL #2321] --- 9.16.10 released --- 5544. [func] Restore the default value of "nocookie-udp-size" to 4096 bytes. [GL #2250] 5541. [func] Adjust the "max-recursion-queries" default from 75 to 100. [GL #2305] 5540. [port] Fix building with native PKCS#11 support for AEP Keyper. [GL #2315] 5539. [bug] Tighten handling of missing DNS COOKIE responses over UDP by falling back to TCP. [GL #2275] 5538. [func] Add NSEC3 support to KASP. A new option for "dnssec-policy", "nsec3param", can be used to set the desired NSEC3 parameters. NSEC3 salt collisions are automatically prevented during resalting. Salt generation is now logged with zone context. [GL #1620] 5534. [bug] The CNAME synthesized from a DNAME was incorrectly followed when the QTYPE was CNAME or ANY. [GL #2280] --- 9.16.9 released --- 5533. [func] Add the "stale-refresh-time" option, a time window that starts after a failed lookup, during which a stale RRset is served directly from cache before a new attempt to refresh it is made. [GL #2066] 5530. [bug] dnstap did not capture responses to forwarded UPDATE requests. [GL #2252] 5527. [bug] A NULL pointer dereference occurred when creating an NTA recheck query failed. [GL #2244] 5525. [bug] Change 5503 inadvertently broke cross-compilation by replacing a call to AC_LINK_IFELSE() with a call to AC_RUN_IFELSE() in configure.ac. This has been fixed, making cross-compilation possible again. [GL #2237] 5523. [bug] The initial lookup in a zone transitioning to/from a signed state could fail if the DNSKEY RRset was not found. [GL #2236] 5522. [bug] Fixed a race/NULL dereference in TCPDNS send. [GL #2227] 5520. [bug] Fixed a number of shutdown races, reference counting errors, and spurious log messages that could occur in the network manager. [GL #2221] 5518. [bug] Stub zones now work correctly with primary servers using "minimal-responses yes". [GL #1736] 5517. [bug] Do not treat UV_EOF as a TCP4RecvErr or a TCP6RecvErr. [GL #2208] --- 9.16.8 released --- 5516. [func] The default EDNS buffer size has been changed from 4096 to 1232 bytes. [GL #2183] 5515. [func] Add 'rndc dnssec -rollover' command to trigger a manual rollover for a specific key. [GL #1749] 5514. [bug] Fix KASP expected key size for Ed25519 and Ed448. [GL #2171] 5513. [doc] The ARM section describing the "rrset-order" statement was rewritten to make it unambiguous and up-to-date with the source code. [GL #2139] 5512. [bug] "rrset-order" rules using "order none" were causing named to crash despite named-checkconf treating them as valid. [GL #2139] 5511. [bug] 'dig -u +yaml' failed to display timestamps to the microsecond. [GL #2190] 5510. [bug] Implement the attach/detach semantics for dns_message_t to fix a data race in accessing an already-destroyed fctx->rmessage. [GL #2124] 5509. [bug] filter-aaaa: named crashed upon shutdown if it was in the process of recursing for A RRsets. [GL #1040] 5508. [func] Added new parameter "-expired" for "rndc dumpdb" that also prints expired RRsets (awaiting cleanup) to the dump file. [GL #1870] 5507. [bug] Named could compute incorrect SIG(0) responses. [GL #2109] 5506. [bug] Properly handle failed sysconf() calls, so we don't report invalid memory size. [GL #2166] 5505. [bug] Updating contents of a mixed-case RPZ could cause some rules to be ignored. [GL #2169] 5503. [bug] Cleaned up reference counting of network manager handles, now using isc_nmhandle_attach() and _detach() instead of _ref() and _unref(). [GL #2122] --- 9.16.7 released --- 5501. [func] Log CDS/CDNSKEY publication. [GL #1748] 5500. [bug] Fix (non-)publication of CDS and CDNSKEY records. [GL #2103] 5499. [func] Add '-P ds' and '-D ds' arguments to dnssec-settime. [GL #1748] 5497. [bug] 'dig +bufsize=0' failed to disable EDNS. [GL #2054] 5496. [bug] Address a TSAN report by ensuring each rate limiter object holds a reference to its task. [GL #2081] 5495. [bug] With query minimization enabled, named failed to resolve ip6.arpa. names that had extra labels to the left of the IPv6 part. [GL #1847] 5494. [bug] Silence the EPROTO syslog message on older systems. [GL #1928] 5493. [bug] Fix off-by-one error when calculating new hash table size. [GL #2104] 5492. [bug] Tighten LOC parsing to reject a period (".") and/or "m" as a value. Fix handling of negative altitudes which are not whole meters. [GL #2074] 5491. [bug] rbtversion->glue_table_size could be read without the appropriate lock being held. [GL #2080] 5489. [bug] Named erroneously accepted certain invalid resource records that were incorrectly processed after subsequently being written to disk and loaded back, as the wire format differed. Such records include: CERT, IPSECKEY, NSEC3, NSEC3PARAM, NXT, SIG, TLSA, WKS, and X25. [GL !3953] 5488. [bug] NTA code needed to have a weak reference on its associated view to prevent the latter from being deleted while NTA tests were being performed. [GL #2067] 5486. [func] Add 'rndc dnssec -checkds' command, which signals to named that the DS record for a given zone or key has been updated in the parent zone. [GL #1613] --- 9.16.6 released --- 5484. [func] Expire zero TTL records quickly rather than using them for stale answers. [GL #1829] 5483. [func] A new configuration option "stale-cache-enable" has been introduced to enable or disable keeping stale answers in cache. [GL #1712] 5482. [bug] If the Duplicate Address Detection (DAD) mechanism had not yet finished after adding a new IPv6 address to the system, BIND 9 would fail to bind to IPv6 addresses in a tentative state. [GL #2038] 5481. [security] "update-policy" rules of type "subdomain" were incorrectly treated as "zonesub" rules, which allowed keys used in "subdomain" rules to update names outside of the specified subdomains. The problem was fixed by making sure "subdomain" rules are again processed as described in the ARM. (CVE-2020-8624) [GL #2055] 5480. [security] When BIND 9 was compiled with native PKCS#11 support, it was possible to trigger an assertion failure in code determining the number of bits in the PKCS#11 RSA public key with a specially crafted packet. (CVE-2020-8623) [GL #2037] 5479. [security] named could crash in certain query resolution scenarios where QNAME minimization and forwarding were both enabled. (CVE-2020-8621) [GL #1997] 5478. [security] It was possible to trigger an assertion failure by sending a specially crafted large TCP DNS message. (CVE-2020-8620) [GL #1996] 5477. [bug] The idle timeout for connected TCP sockets, which was previously set to a high fixed value, is now derived from the client query processing timeout configured for a resolver. [GL #2024] 5476. [security] It was possible to trigger an assertion failure when verifying the response to a TSIG-signed request. (CVE-2020-8622) [GL #2028] 5475. [bug] Wildcard RPZ passthru rules could incorrectly be overridden by other rules that were loaded from RPZ zones which appeared later in the "response-policy" statement. This has been fixed. [GL #1619] 5474. [bug] dns_rdata_hip_next() failed to return ISC_R_NOMORE when it should have. [GL !3880] 5473. [func] The RBT hash table implementation has been changed to use a faster hash function (HalfSipHash2-4) and Fibonacci hashing for better distribution. Setting "max-cache-size" now preallocates a fixed-size hash table so that rehashing does not cause resolution brownouts while the hash table is grown. [GL #1775] 5471. [bug] The introduction of KASP support inadvertently caused the second field of "sig-validity-interval" to always be calculated in hours, even in cases when it should have been calculated in days. This has been fixed. (Thanks to Tony Finch.) [GL !3735] 5469. [port] On illumos, a constant called SEC is already defined in <sys/time.h>, which conflicts with an identically named constant in libbind9. This conflict has been resolved. [GL #1993] 5468. [bug] Addressed potential double unlock in process_fd(). [GL #2005] 5466. [bug] Addressed an error in recursive clients stats reporting. [GL #1719] 5465. [func] Added fallback to built-in trust-anchors, managed-keys, or trusted-keys if the bindkeys-file (bind.keys) cannot be parsed. [GL #1235] 5464. [bug] Requesting more than 128 files to be saved when rolling dnstap log files caused a buffer overflow. This has been fixed. [GL #1989] 5462. [bug] Move LMDB locking from LMDB itself to named. [GL #1976] 5461. [bug] The STALE rdataset header attribute was updated while the write lock was not being held, leading to incorrect statistics. The header attributes are now converted to use atomic operations. [GL #1475]
Merge conflicts
--- 9.16.3 released --- 5404. [bug] 'named-checkconf -z' could incorrectly indicate success if errors were found in one view but not in a subsequent one. [GL #1807] 5403. [func] Do not set UDP receive/send buffer sizes - use system defaults. [GL #1713] 5402. [bug] On FreeBSD, use SO_REUSEPORT_LB instead of SO_REUSEPORT. Enable use of SO_REUSEADDR on all platforms which support it. [GL !3365] 5401. [bug] The number of input queues allocated during dnstap initialization was too low, which could prevent some dnstap data from being logged. [GL #1795] 5400. [func] Add engine support to OpenSSL EdDSA implementation. [GL #1763] 5399. [func] Add engine support to OpenSSL ECDSA implementation. [GL #1534] 5398. [bug] Named could fail to restart if a zone with a double quote (") in its name was added with 'rndc addzone'. [GL #1695] 5397. [func] Update PKCS#11 EdDSA implementation to PKCS#11 v3.0. Thanks to Aaron Thompson. [GL !3326] 5396. [func] When necessary (i.e. in libuv >= 1.37), use the UV_UDP_RECVMMSG flag to enable recvmmsg() support in libuv. [GL #1797] 5395. [security] Further limit the number of queries that can be triggered from a request. Root and TLD servers are no longer exempt from max-recursion-queries. Fetches for missing name server address records are limited to 4 for any domain. (CVE-2020-8616) [GL #1388] 5394. [cleanup] Named formerly attempted to change the effective UID and GID in named_os_openfile(), which could trigger a spurious log message if they were already set to the desired values. This has been fixed. [GL #1042] [GL #1090] 5392. [bug] It was possible for named to crash during shutdown or reconfiguration if an RPZ zone was still being updated. [GL #1779] 5390. [security] Replaying a TSIG BADTIME response as a request could trigger an assertion failure. (CVE-2020-8617) [GL #1703] 5389. [bug] Finish PKCS#11 code cleanup, fix a couple of smaller bugs and use PKCS#11 v3.0 EdDSA macros and constants. Thanks to Aaron Thompson. [GL !3391] 5387. [func] Warn about AXFR streams with inconsistent message IDs. [GL #1674] 5386. [cleanup] Address Coverity warnings in lib/dns/keymgr.c. [GL #1737] 5385. [func] Make ISC rwlock implementation the default again. [GL #1753] 5384. [bug] With "dnssec-policy" in effect, "inline-signing" was implicitly set to "yes". Now "inline-signing" is only set to "yes" if the zone is not dynamic. [GL #1709] --- 9.16.2 released --- 5383. [func] Add a quota attach function with a callback and clean up the isc_quota API. [GL !3280] 5382. [bug] Use clock_gettime() instead of gettimeofday() for isc_stdtime() function. [GL #1679] 5381. [bug] Fix logging API data race by adding rwlock and caching logging levels in stdatomic variables to restore performance to original levels. [GL #1675] [GL #1717] 5380. [contrib] Fix building MySQL DLZ modules against MySQL 8 libraries. [GL #1678] 5378. [bug] Receiving invalid DNS data was triggering an assertion failure in nslookup. [GL #1652] 5376. [bug] Fix ineffective DNS rebinding protection when BIND is configured as a forwarding DNS server. Thanks to Tobias Klein. [GL #1574] 5375. [test] Fix timing issues in the "kasp" system test. [GL #1669] 5374. [bug] Statistics counters tracking recursive clients and active connections could underflow. [GL #1087] 5373. [bug] Collecting statistics for DNSSEC signing operations (change 5254) caused an array of significant size (over 100 kB) to be allocated for each configured zone. Each of these arrays is tracking all possible key IDs; this could trigger an out-of-memory condition on servers with a high enough number of zones configured. Fixed by tracking up to four keys per zone and rotating counters when keys are replaced. This fixes the immediate problem of high memory usage, but should be improved in a future release by growing or shrinking the number of keys to track upon key rollover events. [GL #1179] 5372. [bug] Fix migration from existing DNSSEC key files ("auto-dnssec maintain") to "dnssec-policy". [GL #1706] 5371. [bug] Improve incremental updates of the RPZ summary database to reduce delays that could occur when a policy zone update included a large number of record deletions. [GL #1447] 5370. [bug] Deactivation of a netmgr handle associated with a socket could be skipped in some circumstances. Fixed by deactivating the netmgr handle before scheduling the asynchronous close routine. [GL #1700] 5368. [bug] Named failed to restart if 'rndc addzone' names contained special characters (e.g. '/'). [GL #1655] 5367. [bug] Fixed a flaw in the calculation of the zone database size so that "max-journal-size default" uses the correct limit. [GL #1661] --- 9.16.1 released --- 5366. [bug] Fix a race condition with the keymgr when the same zone plus dnssec-policy is configured in multiple views. [GL #1653] 5365. [bug] Algorithm rollover was stuck on submitting DS because keymgr thought it would move to an invalid state. Fixed by checking the current key against the desired state, not the existing state. [GL #1626] 5364. [bug] Algorithm rollover waited too long before introducing zone signatures. It waited to make sure all signatures were regenerated, but when introducing a new algorithm, all signatures are regenerated immediately. Only add the sign delay if there is a predecessor key. [GL #1625] 5363. [bug] When changing a dnssec-policy, existing keys with properties that no longer match were not being retired. [GL #1624] 5361. [bug] named might not accept new connections after hitting tcp-clients quota. [GL #1643] 5360. [bug] delv could fail to load trust anchors in DNSKEY format. [GL #1647] 5358. [bug] Inline master zones whose master files were touched but otherwise unchanged and were subsequently reloaded may have stopped re-signing. [GL !3135] 5357. [bug] Newly added RRSIG records with expiry times before the previous earliest expiry times might not be re-signed in time. This was a side effect of 5315. [GL !3137] --- 9.16.0 released --- 5356. [func] Update dnssec-policy configuration statements: - Rename "zone-max-ttl" dnssec-policy option to "max-zone-ttl" for consistency with the existing zone option. - Allow for "lifetime unlimited" as a synonym for "lifetime PT0S". - Make "key-directory" optional. - Warn if specifying a key length does not make sense; fail if key length is out of range for the algorithm. - Allow use of mnemonics when specifying key algorithm (e.g. "rsasha256", "ecdsa384", etc.). - Make ISO 8601 durations case-insensitive. [GL #1598] 5355. [func] What was set with --with-tuning=large option in older BIND9 versions is now a default, and a --with-tuning=small option was added for small (e.g. OpenWRT) systems. [GL !2989] 5354. [bug] dnssec-policy created new KSK keys for zones in the initial stage of signing (with the DS not yet in the rumoured or omnipresent states). Fix by checking the key goals rather than the active state when determining whether new keys are needed. [GL #1593] 5353. [doc] Document port and dscp parameters in forwarders configuration option. [GL #914] 5352. [bug] Correctly handle catalog zone entries containing characters that aren't legal in filenames. [GL #1592] 5351. [bug] CDS / CDNSKEY consistency checks failed to handle removal records. [GL #1554] 5350. [bug] When a view was configured with class CHAOS, the server could crash while processing a query for a non-existent record. [GL #1540] 5349. [bug] Fix a race in task_pause/unpause. [GL #1571] 5348. [bug] dnssec-settime -Psync was not being honoured. [GL !2925] --- 9.15.8 released --- 5347. [bug] Fixed a bug that could cause an intermittent crash in validator.c when validating a negative cache entry. [GL #1561] 5346. [bug] Make hazard pointer array allocations dynamic, fixing a bug that caused named to crash on machines with more than 40 cores. [GL #1493] 5345. [func] Key-style trust anchors and DS-style trust anchors can now both be used for the same name. [GL #1237] 5344. [bug] Handle accept() errors properly in netmgr. [GL !2880] 5343. [func] Add statistics counters to the netmgr. [GL #1311] 5342. [bug] Disable pktinfo for IPv6 and bind to each interface explicitly instead, because libuv doesn't support pktinfo control messages. [GL #1558] 5341. [func] Simplify passing the bound TCP socket to child threads by using isc_uv_export/import functions. [GL !2825] 5340. [bug] Don't deadlock when binding to a TCP socket fails. [GL #1499] 5339. [bug] With some libmaxminddb versions, named could erroneously match an IP address not belonging to any subnet defined in a given GeoIP2 database to one of the existing entries in that database. [GL #1552] 5338. [bug] Fix line spacing in `rndc secroots`. Thanks to Tony Finch. [GL !2478] 5337. [func] 'named -V' now reports maxminddb and protobuf-c versions. [GL !2686] --- 9.15.7 released --- 5336. [bug] The TCP high-water statistic could report an incorrect value on startup. [GL #1392] 5335. [func] Make TCP listening code multithreaded. [GL !2659] 5334. [doc] Update documentation with dnssec-policy clarifications. Also change some defaults. [GL !2711] 5333. [bug] Fix duration printing on Solaris when value is not an ISO 8601 duration. [GL #1460] 5332. [func] Renamed "dnssec-keys" configuration statement to the more descriptive "trust-anchors". [GL !2702] 5331. [func] Use compiler-provided mechanisms for thread local storage, and make the requirement for such mechanisms explicit in configure. [GL #1444] 5330. [bug] 'configure --without-python' was ineffective if PYTHON was set in the environment. [GL #1434] 5329. [bug] Reconfiguring named caused memory to be leaked when any GeoIP2 database was in use. [GL #1445] 5328. [bug] rbtdb.c:rdataset_{get,set}ownercase failed to obtain a node lock. [GL #1417] 5327. [func] Added a statistics counter to track queries dropped because the recursive-clients quota was exceeded. [GL #1399] 5326. [bug] Add Python dependency on 'distutils.core' to configure. 'distutils.core' is required for installation. [GL #1397] 5325. [bug] Addressed several issues with TCP connections in the netmgr: restored support for TCP connection timeouts, restored TCP backlog support, actively close all open sockets during shutdown. [GL #1312] 5324. [bug] Change the category of some log messages from general to the more appropriate catergory of xfer-in. [GL #1394] 5323. [bug] Fix a bug in DNSSEC trust anchor verification. [GL !2609] 5322. [placeholder] 5321. [bug] Obtain write lock before updating version->records and version->bytes. [GL #1341] 5320. [cleanup] Silence TSAN on header->count. [GL #1344] --- 9.15.6 released --- 5319. [func] Trust anchors can now be configured using DS format to represent a key digest, by using the new "initial-ds" or "static-ds" keywords in the "dnssec-keys" statement. Note: DNSKEY-format and DS-format trust anchors cannot both be used for the same domain name. [GL #622] 5318. [cleanup] The DNSSEC validation code has been refactored for clarity and to reduce code duplication. [GL #622] 5317. [func] A new asynchronous network communications system based on libuv is now used for listening for incoming requests and responding to them. (The old isc_socket API remains in use for sending iterative queries and processing responses; this will be changed too in a later release.) This change will make it easier to improve performance and implement new protocol layers (e.g., DNS over TLS) in the future. [GL #29] 5316. [func] A new "dnssec-policy" option has been added to named.conf to implement a key and signing policy (KASP) for zones. When this option is in use, named can generate new keys as needed and automatically roll both ZSK and KSK keys. (Note that the syntax for this statement differs from the dnssec policy used by dnssec-keymgr.) See the ARM for configuration details. [GL #1134] 5315. [bug] Apply the initial RRSIG expiration spread fixed to all dynamically created records in the zone including NSEC3. Also fix the signature clusters when the server has been offline for prolonged period of times. [GL #1256] 5314. [func] Added a new statistics variable "tcp-highwater" that reports the maximum number of simultaneous TCP clients BIND has handled while running. [GL #1206] 5313. [bug] The default GeoIP2 database location did not match the ARM. 'named -V' now reports the default location. [GL #1301] 5312. [bug] Do not flush the cache for `rndc validation status`. Thanks to Tony Finch. [GL !2462] 5311. [cleanup] Include all views in output of `rndc validation status`. Thanks to Tony Finch. [GL !2461] 5310. [bug] TCP failures were affecting EDNS statistics. [GL #1059] 5309. [placeholder] 5308. [bug] Don't log DNS_R_UNCHANGED from sync_secure_journal() at ERROR level in receive_secure_serial(). [GL #1288] 5307. [bug] Fix hang when named-compilezone output is sent to pipe. Thanks to Tony Finch. [GL !2481] 5306. [security] Set a limit on number of simultaneous pipelined TCP queries. (CVE-2019-6477) [GL #1264] 5305. [bug] NSEC Aggressive Cache ("synth-from-dnssec") has been disabled by default because it was found to have a significant performance impact on the recursive service. [GL #1265] 5304. [bug] "dnskey-sig-validity 0;" was not being accepted. [GL #876] 5303. [placeholder] 5302. [bug] Fix checking that "dnstap-output" is defined when "dnstap" is specified in a view. [GL #1281] 5301. [bug] Detect partial prefixes / incomplete IPv4 address in acls. [GL #1143] 5300. [bug] dig/mdig/delv: Add a colon after EDNS option names, even when the option is empty, to improve readability and allow correct parsing of YAML output. [GL #1226] --- 9.15.5 released --- 5299. [security] A flaw in DNSSEC verification when transferring mirror zones could allow data to be incorrectly marked valid. (CVE-2019-6475) [GL #1252] 5298. [security] Named could assert if a forwarder returned a referral, rather than resolving the query, when QNAME minimization was enabled. (CVE-2019-6476) [GL #1051] 5297. [bug] Check whether a previous QNAME minimization fetch is still running before starting a new one; return SERVFAIL and log an error if so. [GL #1191] 5296. [placeholder] 5295. [cleanup] Split dns_name_copy() calls into dns_name_copy() and dns_name_copynf() for those calls that can potentially fail and those that should not fail respectively. [GL !2265] 5294. [func] Fallback to ACE name on output in locale, which does not support converting it to unicode. [GL #846] 5293. [bug] On Windows, named crashed upon any attempt to fetch XML statistics from it. [GL #1245] 5292. [bug] Queue 'rndc nsec3param' requests while signing inline zone changes. [GL #1205] --- 9.15.4 released --- 5291. [placeholder] 5290. [placeholder] 5289. [bug] Address NULL pointer dereference in rpz.c:rpz_detach. [GL #1210] 5288. [bug] dnssec-must-be-secure was not always honored. [GL #1209] 5287. [placeholder] 5286. [contrib] Address potential NULL pointer dereferences in dlz_mysqldyn_mod.c. [GL #1207] 5285. [port] win32: implement "-T maxudpXXX". [GL #837] 5284. [func] Added +unexpected command line option to dig. By default, dig won't accept a reply from a source other than the one to which it sent the query. Invoking dig with +unexpected argument will allow it to process replies from unexpected sources. 5283. [bug] When a response-policy zone expires, ensure that its policies are removed from the RPZ summary database. [GL #1146] 5282. [bug] Fixed a bug in searching for possible wildcard matches for query names in the RPZ summary database. [GL #1146] 5281. [cleanup] Don't escape commas when reporting named's command line. [GL #1189] 5280. [protocol] Add support for displaying EDNS option LLQ. [GL #1201] 5279. [bug] When loading, reject zones containing CDS or CDNSKEY RRsets at the zone apex if they would cause DNSSEC validation failures if published in the parent zone as the DS RRset. [GL #1187] 5278. [func] Add YAML output formats for dig, mdig and delv; use the "+yaml" option to enable. [GL #1145] --- 9.15.3 released --- 5277. [bug] Cache DB statistics could underflow when serve-stale was in use, because of a bug in counter maintenance when RRsets become stale. Functions for dumping statistics have been updated to dump active, stale, and ancient statistic counters. Ancient RRset counters are prefixed with '~'; stale RRset counters are still prefixed with '#'. [GL #602] 5276. [func] DNSSEC Lookaside Validation (DLV) is now obsolete; all code enabling its use has been removed from the validator, "delv", and the DNSSEC tools. [GL #7] 5275. [bug] Mark DS records included in referral messages with trust level "pending" so that they can be validated and cached immediately, with no need to re-query. [GL #964] 5274. [bug] Address potential use after free race when shutting down rpz. [GL #1175] 5273. [bug] Check that bits [64..71] of a dns64 prefix are zero. [GL #1159] 5272. [cleanup] Remove isc-config.sh script as the BIND 9 libraries are now purely internal. [GL #1123] 5271. [func] The normal (non-debugging) output of dnssec-signzone and dnssec-verify tools now goes to stdout, instead of the combination of stderr and stdout. 5270. [bug] 'dig +expandaaaa +short' did not work. [GL #1152] 5269. [port] cygwin: can return ETIMEDOUT on connect() with a non-blocking socket. [GL #1133] 5268. [placeholder] 5267. [func] Allow statistics groups display to be toggle-able. [GL #1030] 5266. [bug] named-checkconf failed to report dnstap-output missing from named.conf when dnstap was specified. [GL #1136] 5265. [bug] DNS64 and RPZ nodata (CNAME *.) rules interacted badly [GL #1106] 5264. [func] New DNS Cookie algorithm - siphash24 - has been added to BIND 9, and the old HMAC-SHA DNS Cookie algorithms have been removed. [GL #605] --- 9.15.2 released --- 5263. [cleanup] Use atomics and isc_refcount_t wherever possible. [GL #1038] 5262. [func] Removed support for the legacy GeoIP API. [GL #1112] 5261. [cleanup] Remove SO_BSDCOMPAT socket option usage. 5260. [bug] dnstap-read was producing malformed output for large packets. [GL #1093] 5259. [func] New option '-i' for 'named-checkconf' to ignore warnings about deprecated options. [GL #1101] 5258. [func] Added support for the GeoIP2 API from MaxMind. This will be compiled in by default if the "libmaxminddb" library is found at compile time, but can be suppressed using "configure --disable-geoip". Certain geoip ACL settings that were available with legacy GeoIP are not available when using GeoIP2. [GL #182] 5257. [bug] Some statistics data was not being displayed. Add shading to the zone tables. [GL #1030] 5256. [bug] Ensure that glue records are included in root priming responses if "minimal-responses" is not set to "yes". [GL #1092] 5255. [bug] Errors encountered while reloading inline-signing zones could be ignored, causing the zone content to be left in an incompletely updated state rather than reverted. [GL #1109] 5254. [func] Collect metrics to report to the statistics-channel DNSSEC signing operations (dnssec-sign) and refresh operations (dnssec-refresh) per zone and per keytag. [GL #513] 5253. [port] Support platforms that don't define ULLONG_MAX. [GL #1098] 5252. [func] Report if the last 'rndc reload/reconfig' failed in rndc status. [GL !2040] 5251. [bug] Statistics were broken in x86 Windows builds. [GL #1081] 5250. [func] The default size for RSA keys is now 2048 bits, for both ZSKs and KSKs. [GL #1097] 5249. [bug] Fix a possible underflow in recursion clients statistics when hitting recursive clients soft quota. [GL #1067] --- 9.15.1 released --- 5248. [func] To clarify the configuration of DNSSEC keys, the "managed-keys" and "trusted-keys" options have both been deprecated. The new "dnssec-keys" statement can now be used for all trust anchors, with the keywords "iniital-key" or "static-key" to indicate whether the configured trust anchor should be used for initialization of RFC 5011 key management, or as a permanent trust anchor. The "static-key" keyword will generate a warning if used for the root zone. Configurations using "trusted-keys" or "managed-keys" will continue to work with no changes, but will generate warnings in the log. In a future release, these options will be marked obsolete. [GL #6] 5247. [cleanup] The 'cleaning-interval' option has been removed. [GL !1731] 5246. [func] Log TSIG if appropriate in 'sending notify to' message. [GL #1058] 5245. [cleanup] Reduce logging level for IXFR up-to-date poll responses. [GL #1009] 5244. [security] Fixed a race condition in dns_dispatch_getnext() that could cause an assertion failure if a significant number of incoming packets were rejected. (CVE-2019-6471) [GL #942] 5243. [bug] Fix a possible race between dispatcher and socket code in a high-load cold-cache resolver scenario. [GL #943] 5242. [bug] In relaxed qname minimization mode, fall back to normal resolution when encountering a lame delegation, and use _.domain/A queries rather than domain/NS. [GL #1055] 5241. [bug] Fix Ed448 private and public key ASN.1 prefix blobs. [GL #225] 5240. [bug] Remove key id calculation for RSAMD5. [GL #996] 5239. [func] Change the json-c detection to pkg-config. [GL #855] 5238. [bug] Fix a possible deadlock in TCP code. [GL #1046] 5237. [bug] Recurse to find the root server list with 'dig +trace'. [GL #1028] 5236. [func] Add SipHash 2-4 implementation in lib/isc/siphash.c and switch isc_hash_function() to use SipHash 2-4. [GL #605] 5235. [cleanup] Refactor lib/isc/app.c to be thread-safe, unused parts of the API has been removed and the isc_appctx_t data type has been changed to be fully opaque. [GL #1023] 5234. [port] arm: just use the compiler's default support for yield. [GL #981] --- 9.15.0 released --- 5233. [bug] Negative trust anchors did not work with "forward only;" to validating resolvers. [GL #997] 5232. [placeholder] 5231. [protocol] Add support for displaying CLIENT-TAG and SERVER-TAG. [GL #960] 5230. [protocol] The SHA-1 hash algorithm is no longer used when generating DS and CDS records. [GL #1015] 5229. [protocol] Enforce known SSHFP fingerprint lengths. [GL #852] 5228. [func] If trusted-keys and managed-keys were configured simultaneously for the same name, the key could not be be rolled automatically. This is now a fatal configuration error. [GL #868] 5227. [placeholder] 5226. [placeholder] 5225. [func] Allow dig to print out AAAA record fully expanded. with +[no]expandaaaa. [GL #765] 5224. [bug] Only test provide-ixfr on TCP streams. [GL #991] 5223. [bug] Fixed a race in the filter-aaaa plugin accessing the hash table. [GL #1005] 5222. [bug] 'delv -t ANY' could leak memory. [GL #983] 5221. [test] Enable parallel execution of system tests on Windows. [GL !4101] 5220. [cleanup] Refactor the isc_stat structure to take advantage of stdatomic. [GL !1493] 5219. [bug] Fixed a race in the filter-aaaa plugin that could trigger a crash when returning an instance object to the memory pool. [GL #982] 5218. [bug] Conditionally include <dlfcn.h>. [GL #995] 5217. [bug] Restore key id calculation for RSAMD5. [GL #996] 5216. [bug] Fetches-per-zone counter wasn't updated correctly when doing qname minimization. [GL #992] 5215. [bug] Change #5124 was incomplete; named could still return FORMERR instead of SERVFAIL in some cases. [GL #990] 5214. [bug] win32: named now removes its lock file upon shutdown. [GL #979] 5213. [bug] win32: Eliminated a race which allowed named.exe running as a service to be killed prematurely during shutdown. [GL #978] 5212. [placeholder] 5211. [bug] Allow out-of-zone additional data to be included in authoritative responses if recursion is allowed and "minimal-responses" is disabled. This behavior was inadvertently removed in change #4605. [GL #817] 5210. [bug] When dnstap is enabled and recursion is not available, incoming queries are now logged as "auth". Previously, this depended on whether recursion was requested by the client, not on whether recursion was available. [GL #963] 5209. [bug] When update-check-ksk is true, add_sigs was not considering offline keys, leaving record sets signed with the incorrect type key. [GL #763] 5208. [test] Run valid rdata wire encodings through totext+fromtext and tofmttext+fromtext methods to check these methods. [GL #899] 5207. [test] Check delv and dig TTL values. [GL #965] 5206. [bug] Delv could print out bad TTLs. [GL #965] 5205. [bug] Enforce that a DS hash exists. [GL #899] 5204. [test] Check that dns_rdata_fromtext() produces a record that will be accepted by dns_rdata_fromwire(). [GL #852] 5203. [bug] Enforce whether key rdata exists or not in KEY, DNSKEY, CDNSKEY and RKEY. [GL #899] 5202. [bug] <dns/ecs.h> was missing ISC_LANG_ENDDECLS. [GL #976] 5201. [bug] Fix a possible deadlock in RPZ update code. [GL #973] 5200. [security] tcp-clients settings could be exceeded in some cases, which could lead to exhaustion of file descriptors. (CVE-2018-5743) [GL #615] 5199. [security] In certain configurations, named could crash if nxdomain-redirect was in use and a redirected query resulted in an NXDOMAIN from the cache. (CVE-2019-6467) [GL #880] 5198. [bug] If a fetch context was being shut down and, at the same time, we returned from qname minimization, an INSIST could be hit. [GL #966] 5197. [bug] dig could die in best effort mode on multiple SIG(0) records. Similarly on multiple OPT and multiple TSIG records. [GL #920] 5196. [bug] make install failed with --with-dlopen=no. [GL #955] 5195. [bug] "allow-update" and "allow-update-forwarding" were treated as configuration errors if used at the options or view level. [GL #913] 5194. [bug] Enforce non empty ZOMEMD hash. [GL #899] 5193. [bug] EID and NIMLOC failed to do multi-line output correctly. [GL #899] 5192. [placeholder] 5191. [placeholder] 5190. [bug] Ignore trust anchors using disabled algorithms. [GL #806] 5189. [cleanup] Remove revoked root DNSKEY from bind.keys. [GL #945] 5188. [func] The "dnssec-enable" option is deprecated and no longer has any effect; DNSSEC responses are always enabled. [GL #866] 5187. [test] Set time zone before running any tests in dnstap_test. [GL #940] 5186. [cleanup] More dnssec-keygen manual tidying. [GL !1678] 5185. [placeholder] 5184. [bug] Missing unlocks in sdlz.c. [GL #936] 5183. [bug] Reinitialize ECS data before reusing client structures. [GL #881] 5182. [bug] Fix a high-load race/crash in handling of isc_socket_close() in resolver. [GL #834] 5181. [func] Add a mechanism for a DLZ module to signal that the view's allow-transfer ACL should be used to determine whether transfers are allowed. [GL #803] 5180. [bug] delv now honors the operating system's preferred ephemeral port range. [GL #925] 5179. [cleanup] Replace some vague type declarations with the more specific dns_secalg_t and dns_dsdigest_t. Thanks to Tony Finch. [GL !1498] 5178. [bug] Handle EDQUOT (disk quota) and ENOSPC (disk full) errors when writing files. [GL #902] 5177. [func] Add the ability to specify in named.conf whether a response-policy zone's SOA record should be added to the additional section (add-soa yes/no). [GL #865] 5176. [tests] Remove a dependency on libxml in statschannel system test. [GL #926] 5175. [bug] Fixed a problem with file input in dnssec-keymgr, dnssec-coverage and dnssec-checkds when using python3. [GL #882] 5174. [doc] Tidy dnssec-keygen manual. [GL !1557] 5173. [bug] Fixed a race in socket code that could occur when accept, send, or recv were called from an event loop but the socket had been closed by another thread. [RT #874] 5172. [bug] nsupdate now honors the operating system's preferred ephemeral port range. [GL #905] 5171. [func] named plugins are now installed into a separate directory. Supplying a filename (a string without path separators) in a "plugin" configuration stanza now causes named to look for that plugin in that directory. [GL #878] 5170. [test] Added --with-dlz-filesystem to feature-test. [GL !1587] 5169. [bug] The presence of certain types in an otherwise empty node could cause a crash while processing a type ANY query. [GL #901] 5168. [bug] Do not crash on shutdown when RPZ fails to load. Also, keep previous version of the database if RPZ fails to load. [GL #813] 5167. [bug] nxdomain-redirect could sometimes lookup the wrong redirect name. [GL #892] 5166. [placeholder] 5165. [contrib] Removed SDB drivers from contrib; they're obsolete. [GL #428] 5164. [bug] Correct errno to result translation in dlz filesystem modules. [GL #884] 5163. [cleanup] Out-of-tree builds failed --enable-dnstap. [GL #836] 5162. [cleanup] Improve dnssec-keymgr manual. Thanks to Tony Finch. [GL !1518] 5161. [bug] Do not require the SEP bit to be set for mirror zone trust anchors. [GL #873] 5160. [contrib] Added DNAME support to the DLZ LDAP schema. Also fixed a compilation bug affecting several DLZ modules. [GL #872] 5159. [bug] dnssec-coverage was incorrectly ignoring names specified on the command line without trailing dots. [GL !1478] 5158. [protocol] Add support for AMTRELAY and ZONEMD. [GL #867] 5157. [bug] Nslookup now errors out if there are extra command line arguments. [GL #207] 5156. [doc] Extended and refined the section of the ARM describing mirror zones. [GL #774] 5155. [func] "named -V" now outputs the default paths to named.conf, rndc.conf, bind.keys, and other files used or created by named and other tools, so that the correct paths to these files can quickly be determined regardless of the configure settings used when BIND was built. [GL #859] 5154. [bug] dig: process_opt could be called twice on the same message leading to a assertion failure. [GL #860] 5153. [func] Zone transfer statistics (size, number of records, and number of messages) are now logged for outgoing transfers as well as incoming ones. [GL #513] 5152. [func] Improved logging of DNSSEC key events: - Zone signing and DNSKEY maintenance events are now logged to the "dnssec" category - Messages are now logged when DNSSEC keys are published, activated, inactivated, deleted, or revoked. [GL #714] 5151. [func] Options that have been been marked as obsolete in named.conf for a very long time are now fatal configuration errors. [GL #358] 5150. [cleanup] Remove the ability to compile BIND with assertions disabled. [GL #735] 5149. [func] "rndc dumpdb" now prints a line above a stale RRset indicating how long the data will be retained in the cache for emergency use. [GL #101] 5148. [bug] named did not sign the TKEY response. [GL #821] 5147. [bug] dnssec-keymgr: Add a five-minute margin to better handle key events close to 'now'. [GL #848] 5146. [placeholder] 5145. [func] Use atomics instead of locked variables for isc_quota and isc_counter. [GL !1389] 5144. [bug] dig now returns a non-zero exit code when a TCP connection is prematurely closed by a peer more than once for the same lookup. [GL #820] 5143. [bug] dnssec-keymgr and dnssec-coverage failed to find key files for zone names ending in ".". [GL #560] 5142. [cleanup] Removed "configure --disable-rpz-nsip" and "--disable-rpz-nsdname" options. "nsip-enable" and "nsdname-enable" both now default to yes, regardless of compile-time settings. [GL #824] 5141. [security] Zone transfer controls for writable DLZ zones were not effective as the allowzonexfr method was not being called for such zones. (CVE-2019-6465) [GL #790] 5140. [bug] Don't immediately mark existing keys as inactive and deleted when running dnssec-keymgr for the first time. [GL #117] 5139. [bug] If possible, don't use forwarders when priming. This ensures we can get root server IP addresses from priming query response glue, which may not be present if the forwarding server is returning minimal responses. [GL #752] 5138. [bug] Under some circumstances named could hit an assertion failure when doing qname minimization when using forwarders. [GL #797] 5137. [func] named now logs messages whenever a mirror zone becomes usable or unusable for resolution purposes. [GL #818] 5136. [cleanup] Check in named-checkconf that allow-update and allow-update-forwarding are not set at the view/options level; fix documentation. [GL #512] 5135. [port] sparc: Use smt_pause() instead of pause. [GL #816] 5134. [bug] win32: WSAStartup was not called before getservbyname was called. [GL #590] 5133. [bug] 'rndc managed-keys' didn't handle class and view correctly and failed to add new lines between each view. [GL !1327] 5132. [bug] Fix race condition in cleanup part of dns_dt_create(). [GL !1323] 5131. [cleanup] Address Coverity warnings. [GL #801] 5130. [cleanup] Remove support for l10n message catalogs. [GL #709] 5129. [contrib] sdlz_helper.c:build_querylist was not properly splitting the query string. [GL #798] 5128. [bug] Refreshkeytime was not being updated for managed keys zones. [GL #784] 5127. [bug] rcode.c:maybe_numeric failed to handle NUL in text regions. [GL #807] 5126. [bug] Named incorrectly accepted empty base64 and hex encoded fields when reading master files. [GL #807] 5125. [bug] Allow for up to 100 records or 64k of data when caching a negative response. [GL #804] 5124. [bug] Named could incorrectly return FORMERR rather than SERVFAIL. [GL #804] 5123. [bug] dig could hang indefinitely after encountering an error before creating a TCP socket. [GL #692] 5122. [bug] In a "forward first;" configuration, a forwarder timeout did not prevent that forwarder from being queried again after falling back to full recursive resolution. [GL #315] 5121. [contrib] dlz_stub_driver.c fails to return ISC_R_NOTFOUND on none matching zone names. [GL !1299] 5120. [placeholder] 5119. [placeholder] 5118. [security] Named could crash if it is managing a key with `managed-keys` and the authoritative zone is rolling the key to an unsupported algorithm. (CVE-2018-5745) [GL #780] 5117. [placeholder] 5116. [bug] Named/named-checkconf triggered a assertion when a mirror zone's name is bad. [GL #778] 5115. [bug] Allow unsupported algorithms in zone when not used for signing with dnssec-signzone. [GL #783] 5114. [func] Include a 'reconfig/reload in progress' status line in rndc status, use it in tests. 5113. [port] Fixed a Windows build error. 5112. [bug] Named/named-checkconf could dump core if there was a missing masters clause and a bad notify clause. [GL #779] 5111. [bug] Occluded DNSKEY records could make it into the delegating NSEC/NSEC3 bitmap. [GL #742] 5110. [security] Named leaked memory if there were multiple Key Tag EDNS options present. (CVE-2018-5744) [GL #772] 5109. [cleanup] Remove support for RSAMD5 algorithm. [GL #628]
Initial revision