summaryrefslogtreecommitdiff
path: root/external/mpl
AgeCommit message (Collapse)Author
2023-06-27isc timer API changed with the recent bind import - use isc_timer_destroy()martin
instead of isc_timer_detach()
2023-06-26merge conflicts between 9.16.37 and 9.16.42christos
2023-06-26Import 9.16.42 (last was 9.16.37)christos
--- 9.16.42 released --- 6192. [security] A query that prioritizes stale data over lookup triggers a fetch to refresh the stale data in cache. If the fetch is aborted for exceeding the recursion quota, it was possible for 'named' to enter an infinite callback loop and crash due to stack overflow. This has been fixed. (CVE-2023-2911) [GL #4089] 6190. [security] Improve the overmem cleaning process to prevent the cache going over the configured limit. (CVE-2023-2828) [GL #4055] 6183. [bug] Fix a serve-stale bug where a delegation from cache could be returned to the client. [GL #3950] 6173. [bug] Properly process extra "nameserver" lines in resolv.conf otherwise the next line is not properly processed. [GL #4066] 6169. [bug] named could crash when deleting inline-signing zones with "rndc delzone". [GL #4054] --- 9.16.41 released --- 6157. [bug] When removing delegations in an OPTOUT range empty-non-terminal NSEC3 records generated by those delegations were not removed. [GL #4027] --- 9.16.40 released --- 6142. [bug] Reduce the number of dns_dnssec_verify calls made determining if revoked keys needs to be removed from the trust anchors. [GL #3981] 6138. [doc] Fix the DF-flag documentation on the outgoing UDP packets. [GL #3710] 6132. [doc] Remove a dead link in the DNSSEC guide. [GL #3967] 6129. [cleanup] Value stored to 'source' during its initialization is never read. [GL #3965] 6124. [bug] When changing from a NSEC3 capable DNSSEC algorithm to an NSEC3 incapable DNSSEC algorithm using KASP the zone could sometimes be incompletely signed. [GL #3937] 5741. [bug] Log files with "timestamp" suffixes could be left in place after rolling, even if the number of preserved log files exceeded the configured "versions" limit. [GL #828] [GL #3959] --- 9.16.39 released --- 6119. [bug] Make sure to revert the reconfigured zones to the previous version of the view, when the new view reconfiguration fails during the configuration of one of the configured zones. [GL #3911] 6116. [bug] Fix error path cleanup issue in the dns_catz_new_zones() function. [GL #3900] 6115. [bug] Unregister db update notify callback before detaching from the previous db inside the catz update notify callback. [GL #3777] 6105. [bug] Detach 'rpzs' and 'catzs' from the previous view in configure_rpz() and configure_catz(), respectively, just after attaching it to the new view. [GL #3880] 6098. [test] Don't test HMAC-MD5 when not supported by libcrypto. [GL #3871] 6095. [test] Test various 'islands of trust' configurations when using managed keys. [GL #3662] 6094. [bug] Building against (or running with) libuv versions 1.35.0 and 1.36.0 is now a fatal error. The rules for mixing and matching compile-time and run-time libuv versions have been tightened for libuv versions between 1.35.0 and 1.40.0. [GL #3840] --- 9.16.38 released --- 6083. [bug] Fix DNSRPS-enabled builds as they were inadvertently broken by change 6042. [GL #3827] 6081. [bug] Handle primary server address lookup failures in nsupdate more gracefully. [GL #3830] 6080. [bug] 'named -V' leaked memory. [GL #3829] 6079. [bug] Force set the DS state after a 'rdnc dnssec -checkds' command. [GL #3822] 6075. [bug] Add missing node lock when setting node->wild in add_wildcard_magic. [GL #3799] 6072. [bug] Avoid the OpenSSL lock contention when initializing Message Digest Contexts by using explicit algorithm fetching, initializing static contexts for every supported algorithms, and initializing the new context by copying the static copy. [GL #3795] 6069. [bug] Detach from the view in zone_shutdown() to release the memory held by the dead view early. [GL #3801]
2023-06-03adapt to ${CC_WNO_STRINGOP_OVERFLOW}lukem
Use ${CC_WNO_STRINGOP_OVERFLOW} instead of the older style more complex expressions. Remove workarounds if they were only for gcc < 10.
2023-06-03dhcp: remove gcc 8 workaroundlukem
(if it's needed, add it back using ${CC_WNO_FORMAT_OVERFLOW})
2023-06-03bsd.own.mk: rename GCC_NO_* to CC_WNO_*lukem
Rename compiler-warning-disable variables from GCC_NO_warning to CC_WNO_warning where warning is the full warning name as used by the compiler. GCC_NO_IMPLICIT_FALLTHRU is CC_WNO_IMPLICIT_FALLTHROUGH Using the convention CC_compilerflag, where compilerflag is based on the full compiler flag name.
2023-05-09deal with OpenSSL-3.xchristos
2023-01-25merge our changes from 9.16.33 to 9.16.37christos
2023-01-25Import bind-9.16.37 (previous was bind-9.16.33)christos
--- 9.16.37 released --- 6067. [security] Fix serve-stale crash when recursive clients soft quota is reached. (CVE-2022-3924) [GL #3619] 6066. [security] Handle RRSIG lookups when serve-stale is active. (CVE-2022-3736) [GL #3622] 6064. [security] An UPDATE message flood could cause named to exhaust all available memory. This flaw was addressed by adding a new "update-quota" statement that controls the number of simultaneous UPDATE messages that can be processed or forwarded. The default is 100. A stats counter has been added to record events when the update quota is exceeded, and the XML and JSON statistics version numbers have been updated. (CVE-2022-3094) [GL #3523] 6062. [func] The DSCP implementation, which has only been partly operational since 9.16.0, is now marked as deprecated. Configuring DSCP values in named.conf will cause a warning will be logged. [GL #3773] 6060. [bug] Fix a use-after-free bug in dns_zonemgr_releasezone() by detaching from the zone manager outside of the write lock. [GL #3768] 6059. [bug] In some serve stale scenarios, like when following an expired CNAME record, named could return SERVFAIL if the previous request wasn't successful. Consider non-stale data when in serve-stale mode. [GL #3678] 6058. [bug] Prevent named from crashing when "rndc delzone" attempts to delete a zone added by a catalog zone. [GL #3745] 6050. [bug] Changes to the RPZ response-policy min-update-interval and add-soa options now take effect as expected when named is reconfigured. [GL #3740] 6048. [bug] Fix a log message error in dns_catz_update_from_db(), where serials with values of 2^31 or larger were logged incorrectly as negative numbers. [GL #3742] 6045. [cleanup] The list of supported DNSSEC algorithms changed log level from "warning" to "notice" to match named's other startup messages. [GL !7217] 6044. [bug] There was an "RSASHA236" typo in a log message. [GL !7206] --- 9.16.36 released --- 6043. [bug] The key file IO locks objects would never get deleted from the hashtable due to off-by-one error. [GL #3727] 6042. [bug] ANY responses could sometimes have the wrong TTL. [GL #3613] 6040. [bug] Speed up the named shutdown time by explicitly canceling all recursing ns_client objects for each ns_clientmgr. [GL #3183] 6039. [bug] Removing a catalog zone from catalog-zones without also removing the referenced zone could leave a dangling pointer. [GL #3683] 6031. [bug] Move the "final reference detached" log message from dns_zone unit to the DEBUG(1) log level. [GL #3707] 6024. [func] Deprecate 'auto-dnssec'. [GL #3667] 6021. [bug] Use the current domain name when checking answers from a dual-stack-server. [GL #3607] 6020. [bug] Ensure 'named-checkconf -z' respects the check-wildcard option when loading a zone. [GL #1905] 6017. [bug] The view's zone table was not locked when it should have been leading to race conditions when external extensions that manipulate the zone table where in use. [GL #3468] --- 9.16.35 released --- 6013. [bug] Fix a crash that could happen when you change a dnssec-policy zone with NSEC3 to start using inline-signing. [GL #3591] 6009. [bug] Don't trust a placeholder KEYDATA from the managed-keys zone by adding it into secroots. [GL #2895] 6008. [bug] Fixed a race condition that could cause a crash in dns_zone_synckeyzone(). [GL #3617] 6002. [bug] Fix a resolver prefetch bug when the record's TTL value is equal to the configured prefetch eligibility value, but the record was erroneously not treated as eligible for prefetching. [GL #3603] 6001. [bug] Always call dns_adb_endudpfetch() after calling dns_adb_beginudpfetch() for UDP queries in resolver.c, in order to adjust back the quota. [GL #3598] 6000. [bug] Fix a startup issue on Solaris systems with many (reportedly > 510) CPUs. Thanks to Stacey Marshall from Oracle for deep investigation of the problem. [GL #3563] 5999. [bug] rpz-ip rules could be ineffective in some scenarios with CD=1 queries. [GL #3247] 5998. [bug] The RecursClients statistics counter could overflow in certain resolution scenarios. [GL #3584] 5996. [bug] Fix a couple of bugs in cfg_print_duration(), which could result in generating incomplete duration values when printing the configuration using named-checkconf. [GL !6880] --- 9.16.34 released --- 5991. [protocol] Add support for parsing and validating "dohpath" to SVCB. [GL #3544] 5988. [bug] Some out of memory conditions in opensslrsa_link.c could lead to memory leaks. [GL #3551] 5984. [func] 'named -V' now reports the list of supported DNSSEC/DS/HMAC algorithms and the supported TKEY modes. [GL #3541] 5983. [bug] Changing just the TSIG key names for primaries in catalog zones' member zones was not effective. [GL #3557] 5973. [bug] Fixed a possible invalid detach in UPDATE processing. [GL #3522] 5963. [bug] Ensure struct named_server is properly initialized. [GL #6531] 5921. [test] Convert system tests to use a default DNSKEY algorithm where the test is not DNSKEY algorithm specific. [GL #3440]
2022-10-05Apply security fixes:christos
https://downloads.isc.org/isc/dhcp/4.4.3-P1/patches/CVE-2022-2928.4-4-3.diff https://downloads.isc.org/isc/dhcp/4.4.3-P1/patches/CVE-2022-2929.4-4-3.diff
2022-09-23Adjust to new bind librarieschristos
2022-09-23Merge conflicts between 9.16.20 and 9.16.33christos
2022-09-23Import 9.16.33; last imported was 9.16.20christos
--- 9.16.33 released --- 5962. [security] Fix memory leak in EdDSA verify processing. (CVE-2022-38178) [GL #3487] 5961. [security] Fix memory leak in ECDSA verify processing. (CVE-2022-38177) [GL #3487] 5960. [security] Fix serve-stale crash that could happen when stale-answer-client-timeout was set to 0 and there was a stale CNAME in the cache for an incoming query. (CVE-2022-3080) [GL #3517] 5957. [security] Prevent excessive resource use while processing large delegations. (CVE-2022-2795) [GL #3394] 5956. [func] Make RRL code treat all QNAMEs that are subject to wildcard processing within a given zone as the same name. [GL #3459] 5955. [port] The libxml2 library has deprecated the usage of xmlInitThreads() and xmlCleanupThreads() functions. Use xmlInitParser() and xmlCleanupParser() instead. [GL #3518] 5954. [func] Fallback to IDNA2003 processing in dig when IDNA2008 conversion fails. [GL #3485] 5953. [bug] Fix a crash on shutdown in delete_trace_entry(). Add mctx attach/detach pair to make sure that the memory context used by a memory pool is not destroyed before the memory pool itself. [GL #3515] 5952. [bug] Use quotes around address strings in YAML output. [GL #3511] 5951. [bug] In some cases, the dnstap query_message field was erroneously set when logging response messages. [GL #3501] 5948. [bug] Fix nsec3.c:dns_nsec3_activex() function, add a missing dns_db_detachnode() call. [GL #3500] 5945. [bug] If parsing /etc/bind.key failed, delv could assert when trying to parse the built in trust anchors as the parser hadn't been reset. [GL !6468] 5942. [bug] Fix tkey.c:buildquery() function's error handling by adding the missing cleanup code. [GL #3492] 5941. [func] Zones with dnssec-policy now require dynamic DNS or inline-siging to be configured explicitly. [GL #3381] 5936. [bug] Don't enable serve-stale for lookups that error because it is a duplicate query or a query that would be dropped. [GL #2982] --- 9.16.32 released --- 5934. [func] Improve fetches-per-zone fetch limit logging to log the final allowed and spilled values of the fetch counters before the counter object gets destroyed. [GL #3461] 5933. [port] Automatically disable RSASHA1 and NSEC3RSASHA1 in named on Fedorda 33, Oracle Linux 9 and RHEL9 when they are disabled by the security policy. [GL #3469] 5932. [bug] Fix rndc dumpdb -expired and always include expired RRsets, not just for RBTDB_VIRTUAL time window. [GL #3462] 5929. [bug] The "max-zone-ttl" option in "dnssec-policy" was not fully effective; it was used for timing key rollovers but did not actually place an upper limit on TTLs when loading a zone. This has been corrected, and the documentation has been clarified to indicate that the old "max-zone-ttl" zone option is now ignored when "dnssec-policy" is in use. [GL #2918] 5924. [func] When it's necessary to use AXFR to respond to an IXFR request, a message explaining the reason is now logged at level info. [GL #2683] 5923. [bug] Fix inheritance for dnssec-policy when checking for inline-signing. [GL #3438] 5922. [bug] Forwarding of UPDATE message could fail with the introduction of netmgr. This has been fixed. [GL #3389] --- 9.16.31 released --- 5917. [bug] Update ifconfig.sh script as is miscomputed interface identifiers when destroying interfaces. [GL #3061] 5915. [bug] Detect missing closing brace (}) and computational overflows in $GENERATE directives. [GL #3429] 5913. [bug] Fix a race between resolver query timeout and validation in resolver.c:validated(). Remove resolver.c:maybe_destroy() as it is no loger needed. [GL #3398] 5909. [bug] The server-side destination port was missing from dnstap captures of client traffic. [GL #3309] 5905. [bug] When the TCP connection would be closed/reset between the connect/accept and the read, the uv_read_start() return value would be unexpected and cause an assertion failure. [GL #3400] 5903. [bug] When named checks that the OPCODE in a response matches that of the request, if there is a mismatch named logs an error. Some of those error messages incorrectly used RCODE instead of OPCODE to lookup the nemonic. This has been corrected. [GL !6420] --- 9.16.30 released --- 5899. [func] Don't try to process DNSSEC-related and ZONEMD records in catz. [GL #3380] 5890. [bug] When the fetches-per-server quota was adjusted because of an authoritative server timing out more or less frequently, it was incorrectly set to 1 rather than the intended value. This has been fixed. [GL #3327] 5888. [bug] Only write key files if the dnssec-policy keymgr has changed the metadata. [GL #3302] 5823. [func] Replace hazard pointers based lock-free list with locked-list based queue that's simpler and has no or little performance impact. [GL #3180] --- 9.16.29 released --- 5885. [bug] RPZ NSIP and NSDNAME rule processing didn't handle stub and static-stub zones at or above the query name. This has now been addressed. [GL #3232] 5881. [bug] dig +nssearch could hang in rare cases when recv_done() callback was being called earlier than send_done(). [GL #3278] 5880. [func] Add new named command-line option -C to print built-in defaults. [GL #1326] 5879. [contrib] dlz: Add FALLTHROUGH and UNREACHABLE macros. [GL #3306] 5874. [bug] keymgr didn't work with python 3.11. [GL !6157] 5866. [bug] Work around a jemalloc quirk which could trigger an out-of-memory condition in named over time. [GL #3287] 5863. [bug] If there was a pending negative cache DS entry, validations depending upon it could fail. [GL #3279] 5858. [bug] Don't remove CDS/CDNSKEY DELETE records on zone sign when using 'auto-dnssec maintain;'. [GL #2931] --- 9.16.28 released --- 5856. [bug] The "starting maxtime timer" message related to outgoing zone transfers was incorrectly logged at the ERROR level instead of DEBUG(1). [GL #3208] 5852. [func] Add new "reuseport" option to enable/disable load balancing of sockets. [GL #3249] 5843. [bug] When an UPDATE targets a zone that is not configured, the requested zone name is now logged in the "not authoritative" error message, so that it is easier to track down problematic update clients. [GL #3209] 5836. [bug] Quote the dns64 prefix in error messages that complain about problems with it, to avoid confusion with the following dns64 ACLs. [GL #3210] 5834. [cleanup] C99 variable-length arrays are difficult to use safely, so avoid them except in test code. [GL #3201] 5828. [bug] Replace single TCP write timer with per-TCP write timers. [GL #3200] 5824. [bug] Invalid dnssec-policy definitions were being accepted where the defined keys did not cover both KSK and ZSK roles for a given algorithm. This is now checked for and the dnssec-policy is rejected if both roles are not present for all algorithms in use. [GL #3142] --- 9.16.27 released --- 5818. [security] A synchronous call to closehandle_cb() caused isc__nm_process_sock_buffer() to be called recursively, which in turn left TCP connections hanging in the CLOSE_WAIT state blocking indefinitely when out-of-order processing was disabled. (CVE-2022-0396) [GL #3112] 5817. [security] The rules for acceptance of records into the cache have been tightened to prevent the possibility of poisoning if forwarders send records outside the configured bailiwick. (CVE-2021-25220) [GL #2950] 5816. [bug] Make BIND compile with LibreSSL 3.5.0, as it was using not very accurate pre-processor checks for using shims. [GL #3172] 5815. [bug] If an oversized key name of a specific length was used in the text form of an HTTP or SVBC record, an INSIST could be triggered when parsing it. [GL #3175] 5814. [bug] The RecursClients statistics counter could underflow in certain resolution scenarios. [GL #3147] 5811. [bug] Reimplement the maximum and idle timeouts for outgoing zone transfers. [GL #1897] 5807. [bug] Add a TCP "write" timer, and time out writing connections after the "tcp-idle-timeout" period has elapsed. [GL #3132] 5804. [func] Add a debug log message when starting and ending the task exclusive mode. [GL #3137] --- 9.16.26 released --- 5801. [bug] Log "quota reached" message when hard quota is reached when accepting a connection. [GL #3125] 5800. [func] Add ECS support to the DLZ interface. [GL #3082] 5797. [bug] A failed view configuration during a named reconfiguration procedure could cause inconsistencies in BIND internal structures, causing a crash or other unexpected errors. [GL #3060] 5795. [bug] rndc could crash when interrupted by a signal before receiving a response. [GL #3080] 5793. [bug] Correctly detect and enable UDP recvmmsg support in all versions of libuv that support it. [GL #3095] --- 9.16.25 released --- 5789. [bug] Allow replacing expired zone signatures with signatures created by the KSK. [GL #3049] 5788. [bug] An assertion could occur if a catalog zone event was scheduled while the task manager was being shut down. [GL #3074] 5787. [doc] Update 'auto-dnssec' documentation, it may only be activated at zone level. [GL #3023] 5786. [bug] Defer detaching from zone->raw in zone_shutdown() if the zone is in the process of being dumped to disk, to ensure that the unsigned serial number information is always written in the raw-format header of the signed version on an inline-signed zone. [GL #3071] 5785. [bug] named could leak memory when two dnssec-policy clauses had the same name. named failed to log this error. [GL #3085] 5776. [bug] Add a missing isc_condition_destroy() for nmsocket condition variable and add missing isc_mutex_destroy() for nmworker lock. [GL #3051] 5676. [func] Memory use in named was excessive. This has been addressed by: - Replacing locked memory pools with normal memory allocations. - Reducing the number of retained free items in unlocked memory pools. - Disabling the internal allocator by default. "named -M internal" turns it back on. [GL #2398] --- 9.16.24 released --- 5773. [func] Change the message when accepting TCP connection has failed to say "Accepting TCP connection failed" and change the log level for ISC_R_NOTCONNECTED, ISC_R_QUOTA and ISC_R_SOFTQUOTA results codes from ERROR to INFO. [GL #2700] 5768. [bug] dnssec-dsfromkey failed to omit revoked keys. [GL #853] 5764. [bug] dns_sdlz_putrr failed to process some valid resource records. [GL #3021] 5762. [bug] Fix a "named" crash related to removing and restoring a `catalog-zone` entry in the configuration file and running `rndc reconfig`. [GL #1608] 5758. [bug] mdig now honors the operating system's preferred ephemeral port range. [GL #2374] 5757. [test] Replace sed in nsupdate system test with awk to construct the nsupdate command. The sed expression was not reliably changing the ttl. [GL #3003] --- 9.16.23 released --- 5752. [bug] Fix an assertion failure caused by missing member zones during a reload of a catalog zone. [GL #2308] 5750. [bug] Fix a bug when comparing two RSA keys. There was a typo which caused the "p" prime factors to not being compared. [GL #2972] 5737. [bug] Address Coverity warning in lib/dns/dnssec.c. [GL #2935] --- 9.16.22 released --- 5736. [security] The "lame-ttl" option is now forcibly set to 0. This effectively disables the lame server cache, as it could previously be abused by an attacker to significantly degrade resolver performance. (CVE-2021-25219) [GL #2899] 5724. [bug] Address a potential deadlock when checking zone content consistency. [GL #2908] 5723. [bug] Change 5709 broke backward compatibility for the "check-names master ..." and "check-names slave ..." options. This has been fixed. [GL #2911] 5720. [contrib] Old-style DLZ drivers that had to be enabled at build-time have been marked as deprecated. [GL #2814] 5719. [func] The "map" zone file format has been marked as deprecated. [GL #2882] 5717. [func] The "cache-file" option, which was documented as "for testing purposes only" and not to be used, has been removed. [GL #2903] 5716. [bug] Multiple library names were mistakenly passed to the krb5-config utility when ./configure was invoked with the --with-gssapi=[/path/to/]krb5-config option. This has been fixed by invoking krb5-config separately for each required library. [GL #2866] 5715. [func] Add a check for ports specified in "*-source(-v6)" options clashing with a global listening port. Such a configuration was already unsupported, but it failed silently; it is now treated as an error. [GL #2888] 5714. [bug] Remove the "adjust interface" mechanism which was responsible for setting up listeners on interfaces when the "*-source(-v6)" address and port were the same as the "listen-on(-v6)" address and port. Such a configuration is no longer supported; under certain timing conditions, that mechanism could prevent named from listening on some TCP ports. This has been fixed. [GL #2852] 5712. [doc] Add deprecation notice about removing native PKCS#11 support in the next major BIND 9 release. [GL #2691] --- 9.16.21 released --- 5711. [bug] "map" files exceeding 2GB in size failed to load due to a size comparison that incorrectly treated the file size as a signed integer. [GL #2878] 5710. [port] win32: incorrect parentheses resulted in the wrong sizeof() tests being used to pick the appropriate Windows atomic operations for the object's size. [GL #2891] 5709. [cleanup] Enum values throughout the code have been updated to use the terms "primary" and "secondary" instead of "master" and "slave", respectively. [GL #1944] 5708. [bug] The thread-local isc_tid_v variable was not properly initialized when running BIND 9 as a Windows Service, leading to a crash on startup. [GL #2837] 5705. [bug] Change #5686 altered the internal memory structure of zone databases, but neglected to update the MAPAPI value for zone files in "map" format. This caused named to attempt to load incompatible map files, triggering an assertion failure on startup. The MAPAPI value has now been updated, so named rejects outdated files when encountering them. [GL #2872] 5704. [bug] Change #5317 caused the EDNS TCP Keepalive option to be ignored inadvertently in client requests. It has now been fixed and this option is handled properly again. [GL #1927] 5701. [bug] named-checkconf failed to detect syntactically invalid values of the "key" and "tls" parameters used to define members of remote server lists. [GL #2461] 5700. [bug] When a member zone was removed from a catalog zone, journal files for the former were not deleted. [GL #2842] 5699. [func] Data structures holding DNSSEC signing statistics are now grown and shrunk as necessary upon key rollover events. [GL #1721] 5698. [bug] When a DNSSEC-signed zone which only has a single signing key available is migrated to use KASP, that key is now treated as a Combined Signing Key (CSK). [GL #2857] 5696. [protocol] Support for HTTPS and SVCB record types has been added. (This does not include ADDITIONAL section processing for these record types, only basic support for RR type parsing and printing.) [GL #1132] 5694. [bug] Stale data in the cache could cause named to send non-minimized queries despite QNAME minimization being enabled. [GL #2665] 5691. [bug] When a dynamic zone was made available in another view using the "in-view" statement, running "rndc freeze" always reported an "already frozen" error even though the zone was successfully frozen. [GL #2844] 5690. [func] dnssec-signzone now honors Predecessor and Successor metadata found in private key files: if a signature for an RRset generated by the inactive predecessor exists and does not need to be replaced, no additional signature is now created for that RRset using the successor key. This enables dnssec-signzone to gradually replace RRSIGs during a ZSK rollover. [GL #1551]
2022-06-27downgrade from LOG_ERR to LOG_DEBUG, requested by uwe@christos
2022-06-06build system: Revert all the recent additions of MK[...] knobs thatnia
allow conditionally disabling the building of certain user space programs in the 'base' set. There is not enough consensus that this is the right way and a few people had strong objections, see source-changes-d@.
2022-05-25mk: Allow setting MKDHCPD=no to build base without the ISC DHCP server,nia
useful for embedded images that don't need to act as one.
2022-05-14libdns: suppress a few lint warnings that occur too oftenrillig
2022-05-13Add LINKS and MLINKS to the ddns-confgen Makefile to providebrad
tsig-keygen. This helps to allow pkgsrc/security/acmesh to function and should be provided in all BIND >= 9.13 installs anyway.
2022-04-03Merge conflicts between dhcp-4.4.2P1 and dhcp-4.4.3christos
2022-04-03Import dhcp-4.4.3christos
Changes since 4.4.2-P1 (New Features) - Two new OMAPI function calls were added, `dhcpctl_timed_connect()` and `dhcpctl_timed_wait_for_completion()`. These provide timed versions of creating a connection and waiting for an operation to complete. [GitLab #76] - The BIND libraries have been updated to the latest version, 9.11.36. This fixes a number of compilation issues on various systems, including OpenWRT. Thanks to Philip Prindeville for testing on OpenWRT. [GitLab #218, #171, #180, #192] - Support was added for the new DHCPv4 option v6-only-preferred, specified in RFC 8925. A new reason code, V6ONLY, was added to the client script and the client Linux script sample was updated. [GitLab #132] Changes since 4.4.2-P1 (Bug Fixes) - Minor corrections were made to allow compilation under gcc 10. [GitLab #117] - The logic in dhclient that causes it to decline DHCPv4 leases if the client script exits abnormally (i.e. crashes) has been corrected. [GitLab #123] - The limit on the size of a lease file that can be loaded at startup is now only enforced on 32-bit systems. [GitLab #92] - The PRNG initialization has been improved. It now uses the configure flag `--with-randomdev=PATH`, which specifies the device from which to read the initial seed. That is typically `/dev/random` (the default value) or `/dev/urandom`, but may be specified otherwise on the local system. The old behavior can be forced by disabling this feature (`--with-randomdev=no`). If the initialization is disabled or reading from the random device fails, the previous algorithm (retrieve the last four bytes of hardware addresses from all network interfaces that have them, and use the current time and process ID) is used. [GitLab #197] - A minor dhclient code fix was made to remove compilation warnings. [GitLab #190] - The hard-coded MD5 algorithm name was removed in OMAPI connection logic. Previously, using any other algorithm via a key-algorithm statement would allow OMAPI connections to be made, but subsequent actions such as updating an object would fail. [GitLab #148] - The parallel build has been improved. Thanks to Sergei Trofimovich for the patch. The parallel build is still experimental, as officially the BIND 9 code does not support the parallel build for libraries. [GitLab #91] - Handling of LDAP options (`ldap-gssapi-principal` and `ldap-gssapi-keytab`) has been improved. This is contributed code that has not been tested by ISC. Thank you to Petr Mensik and Pavel Zhukov for the patches! [GitLab !56,!75] - It is now possible to use `option -g ipaddr` in the dhcrelay to replace the giaddr sent to clients with the given ipaddr, to work around bogus clients like Solaris 11 grub which use giaddr instead of the announced router (3) to set up their default route. Thanks to Jens Elkner for the patch! [GitLab #223, !86, !92]
2022-03-11fix reversed testchristos
2022-03-11Don't try to install compat plugins; they are not useful since we don'tchristos
build compat named.
2022-03-07comment filter-aaaa.so.debug for now. it's not installed normallymrg
and will need a special rule, left as an exercise to the reader. make plugins .WAIT on everything else.
2022-03-07fix build when the tree hasn't been built already. LIB wasn't definedmrg
by the time Makefile.inc is included, and the wrong thing happens.
2022-03-07enter the bind plugins library dir, and also add missing set lists.mrg
fixes building sets for at least vax.
2022-03-06Makefile for pluginschristos
2022-01-30Add some more debugging to collect information about the sequence of events.christos
2022-01-30Bump the number of "workers" to 2 which effectively bumps the number ofchristos
contexts to 8. We seem to need 5 contexts so that should stop the error checking to hp_retire() from triggering.
2022-01-30a bit less verbosechristos
2022-01-30Avoid retiring a thread with a xtid >= isc__hp_max_threads and crashing.christos
XXX: need to fix the real bug, but this will do for now.
2021-08-20bump the map apichristos
2021-08-19Adjust for bind-9.16.20christos
2021-08-19Merge changes between bind 9.16.15 and 9.16.20 and restore dns client APIschristos
needed by dhcpd.
2021-08-19Import bind-9.16.20christos
--- 9.16.20 released --- 5689. [security] An assertion failure occurred when named attempted to send a UDP packet that exceeded the MTU size, if Response Rate Limiting (RRL) was enabled. (CVE-2021-25218) [GL #2856] 5688. [bug] Zones using KASP and inline-signed zones failed to apply changes from the unsigned zone to the signed zone under certain circumstances. This has been fixed. [GL #2735] 5687. [bug] "rndc reload <zonename>" could trigger a redundant reload for an inline-signed zone whose zone file was not modified since the last "rndc reload". This has been fixed. [GL #2855] 5686. [func] The number of internal data structures allocated for each zone was reduced. [GL #2829] 5685. [bug] named failed to check the opcode of responses when performing zone refreshes, stub zone updates, and UPDATE forwarding. This has been fixed. [GL #2762] 5682. [bug] Some changes to "zone-statistics" settings were not properly processed by "rndc reconfig". This has been fixed. [GL #2820] 5681. [func] Relax the checks in the dns_zone_cdscheck() function to allow CDS and CDNSKEY records in the zone that do not match an existing DNSKEY record, as long as the algorithm matches. This allows a clean rollover from one provider to another in a multi-signer DNSSEC configuration. [GL #2710] 5679. [func] Thread affinity is no longer set. [GL #2822] 5678. [bug] The "check DS" code failed to release all resources upon named shutdown when a refresh was in progress. This has been fixed. [GL #2811] 5672. [bug] Authentication of rndc messages could fail if a "controls" statement was configured with multiple key algorithms for the same listener. This has been fixed. [GL #2756] --- 9.16.19 released --- 5671. [bug] A race condition could occur where two threads were competing for the same set of key file locks, leading to a deadlock. This has been fixed. [GL #2786] 5670. [bug] create_keydata() created an invalid placeholder keydata record upon a refresh failure, which prevented the database of managed keys from subsequently being read back. This has been fixed. [GL #2686] 5669. [func] KASP support was extended with the "check DS" feature. Zones with "dnssec-policy" and "parental-agents" configured now check for DS presence and can perform automatic KSK rollovers. [GL #1126] 5668. [bug] Rescheduling a setnsec3param() task when a zone failed to load on startup caused a hang on shutdown. This has been fixed. [GL #2791] 5667. [bug] The configuration-checking code failed to account for the inheritance rules of the "dnssec-policy" option. This has been fixed. [GL #2780] 5666. [doc] The safe "edns-udp-size" value was tweaked to match the probing value from BIND 9.16 for better compatibility. [GL #2183] 5665. [bug] If nsupdate sends an SOA request and receives a REFUSED response, it now fails over to the next available server. [GL #2758] 5664. [func] For UDP messages larger than the path MTU, named now sends an empty response with the TC (TrunCated) bit set. In addition, setting the DF (Don't Fragment) flag on outgoing UDP sockets was re-enabled. [GL #2790] 5662. [bug] Views with recursion disabled are now configured with a default cache size of 2 MB unless "max-cache-size" is explicitly set. This prevents cache RBT hash tables from being needlessly preallocated for such views. [GL #2777] 5661. [bug] Change 5644 inadvertently introduced a deadlock: when locking the key file mutex for each zone structure in a different view, the "in-view" logic was not considered. This has been fixed. [GL #2783] 5658. [bug] Increasing "max-cache-size" for a running named instance (using "rndc reconfig") did not cause the hash tables used by cache databases to be grown accordingly. This has been fixed. [GL #2770] 5655. [bug] Signed, insecure delegation responses prepared by named either lacked the necessary NSEC records or contained duplicate NSEC records when both wildcard expansion and CNAME chaining were required to prepare the response. This has been fixed. [GL #2759] 5653. [bug] A bug that caused the NSEC3 salt to be changed on every restart for zones using KASP has been fixed. [GL #2725] --- 9.16.18 released --- 5660. [bug] The configuration-checking code failed to account for the inheritance rules of the "key-directory" option. [GL #2778] 5659. [bug] When preparing DNS responses, named could replace the letters 'W' (uppercase) and 'w' (lowercase) with '\000'. This has been fixed. [GL #2779] --- 9.16.17 released --- 5652. [bug] A copy-and-paste error in change 5584 caused the IP_DONTFRAG socket option to be enabled instead of disabled. This has been fixed. [GL #2746] 5651. [func] Refactor zone dumping to be processed asynchronously via the uv_work_t thread pool API. [GL #2732] 5650. [bug] Prevent a crash that could occur if serve-stale was enabled and a prefetch was triggered during a query restart. [GL #2733] 5649. [bug] If a query was answered with stale data on a server with DNS64 enabled, an assertion could occur if a non-stale answer arrived afterward. [GL #2731] 5648. [bug] The calculation of the estimated IXFR transaction size in dns_journal_iter_init() was invalid. [GL #2685] 5644. [bug] Fix a race condition in reading and writing key files for zones using KASP and configured in multiple views. [GL #1875] 5643. [cleanup] "make install" no longer creates an empty ${localstatedir}/run directory. [GL #2709] 5642. [bug] Zones which are configured in multiple views with different values set for "dnssec-policy" and with identical values set for "key-directory" are now detected and treated as a configuration error. [GL #2463] 5641. [bug] Address a potential memory leak in dst_key_fromnamedfile(). [GL #2689] 5639. [bug] Check that the first and last SOA record of an AXFR are consistent. [GL #2528] 5638. [bug] Improvements related to network manager/task manager integration: - isc_managers_create() and isc_managers_destroy() functions were added to handle setup and teardown of netmgr, taskmgr, timermgr, and socketmgr, since these require a precise order of operations now. - Event queue processing is now quantized to prevent infinite looping. - The netmgr can now be paused from within a netmgr thread. - Deadlocks due to a conflict between netmgr's pause/resume and listen/stoplistening operations were fixed. [GL #2654] 5633. [doc] The "inline-signing" option was incorrectly described as being inherited from the "options"/"view" levels and was incorrectly accepted at those levels without effect. This has been fixed. [GL #2536] 5624. [func] Task manager events are now processed inside network manager loops. The task manager no longer needs its own set of worker threads, which improves resolver performance. [GL #2638] --- 9.16.16 released --- 5637. [func] Change the default value of the "max-ixfr-ratio" option to "unlimited". [GL #2671] 5636. [bug] named and named-checkconf did not report an error when multiple zones with the "dnssec-policy" option set were using the same zone file. This has been fixed. [GL #2603] 5635. [bug] Journal compaction could fail when a journal with invalid transaction headers was not detected at startup. This has been fixed. [GL #2670] 5634. [bug] If "dnssec-policy" was active and a private key file was temporarily offline during a rekey event, named could incorrectly introduce replacement keys and break a signed zone. This has been fixed. [GL #2596] 5633. [doc] The "inline-signing" option was incorrectly described as being inherited from the "options"/"view" levels and was incorrectly accepted at those levels without effect. This has been fixed. [GL #2536] 5632. [func] Add a new built-in KASP, "insecure", which is used to transition a zone from a signed to an unsigned state. The existing built-in KASP "none" should no longer be used to unsign a zone. [GL #2645] 5631. [protocol] Update the implementation of the ZONEMD RR type to match RFC 8976. [GL #2658] 5630. [func] Treat DNSSEC responses containing NSEC3 records with iteration counts greater than 150 as insecure. [GL #2445] 5629. [func] Reduce the maximum supported number of NSEC3 iterations that can be configured for a zone to 150. [GL #2642] 5627. [bug] RRSIG(SOA) RRsets placed anywhere other than at the zone apex were triggering infinite resigning loops. This has been fixed. [GL #2650] 5626. [bug] When generating zone signing keys, KASP now also checks for key ID conflicts among newly created keys, rather than just between new and existing ones. [GL #2628] 5625. [bug] A deadlock could occur when multiple "rndc addzone", "rndc delzone", and/or "rndc modzone" commands were invoked simultaneously for different zones. This has been fixed. [GL #2626] 5622. [cleanup] The lib/samples/ directory has been removed, as export versions of libraries are no longer maintained. [GL !4835] 5619. [protocol] Implement draft-vandijk-dnsop-nsec-ttl, updating the protocol such that NSEC(3) TTL values are set to the minimum of the SOA MINIMUM value or the SOA TTL. [GL #2347] 5618. [bug] Change 5149 introduced some inconsistencies in the way record TTLs were presented in cache dumps. These inconsistencies have been eliminated. [GL #389] [GL #2289]
2021-05-26merge local changes between dhcp-4.4.2 and dhcp-4.4.2-P1christos
2021-05-26Import dhcp-4.4.2-P1:christos
! Corrected a buffer overwrite possible when parsing hexadecimal literals with more than 1024 octets. Reported by Jon Franklin from Dell, and also by Pawel Wieczorkiewicz from Amazon Web Services. [Gitlab #182] CVE: CVE-2021-25217
2021-05-21Add missing call to libdhcp_callbacks_register(). Should stopchristos
dhcrelay() crashing when accessing *libdhcp_callbacks.local_port. (from mrg@)
2021-05-04bind: remove unnecessary CONSTCONDrillig
Lint does not need this anymore, since 2021-01-31.
2021-05-04bind: fix Clang buildrillig
I had already fixed this on 2021-03-27, but the fix was accidentally reverted on 2021-04-29 when updating to bind 9.16.15.
2021-04-29Merge our changes between bind 9.16.12 and 9.16.15christos
2021-04-29Import bind-9.16.15christos
Changes since bind-9.16.12: --- 9.16.15 released --- 5621. [bug] Due to a backporting mistake in change 5609, named binaries built against a Kerberos/GSSAPI library whose header files did not define the GSS_SPNEGO_MECHANISM preprocessor macro were not able to start if their configuration included the "tkey-gssapi-credential" option. This has been fixed. [GL #2634] 5620. [bug] If zone journal files written by BIND 9.16.11 or earlier were present when BIND was upgraded, the zone file for that zone could have been inadvertently rewritten with the current zone contents. This caused the original zone file structure (e.g. comments, $INCLUDE directives) to be lost, although the zone data itself was preserved. This has been fixed. [GL #2623] --- 9.16.14 released --- 5617. [security] A specially crafted GSS-TSIG query could cause a buffer overflow in the ISC implementation of SPNEGO. (CVE-2021-25216) [GL #2604] 5616. [security] named crashed when a DNAME record placed in the ANSWER section during DNAME chasing turned out to be the final answer to a client query. (CVE-2021-25215) [GL #2540] 5615. [security] Insufficient IXFR checks could result in named serving a zone without an SOA record at the apex, leading to a RUNTIME_CHECK assertion failure when the zone was subsequently refreshed. This has been fixed by adding an owner name check for all SOA records which are included in a zone transfer. (CVE-2021-25214) [GL #2467] 5614. [bug] Ensure all resources are properly cleaned up when a call to gss_accept_sec_context() fails. [GL #2620] 5613. [bug] It was possible to write an invalid transaction header in the journal file for a managed-keys database after upgrading. This has been fixed. Invalid headers in existing journal files are detected and named is able to recover from them. [GL #2600] 5611. [func] Set "stale-answer-client-timeout" to "off" by default. [GL #2608] 5610. [bug] Prevent a crash which could happen when a lookup triggered by "stale-answer-client-timeout" was attempted right after recursion for a client query finished. [GL #2594] 5609. [func] The ISC implementation of SPNEGO was removed from BIND 9 source code. It was no longer necessary as all major contemporary Kerberos/GSSAPI libraries include support for SPNEGO. [GL #2607] 5608. [bug] When sending queries over TCP, dig now properly handles "+tries=1 +retry=0" by not retrying the connection when the remote server closes the connection prematurely. [GL #2490] 5607. [bug] As "rndc dnssec -checkds" and "rndc dnssec -rollover" commands may affect the next scheduled key event, reconfiguration of zone keys is now triggered after receiving either of these commands to prevent unnecessary key rollover delays. [GL #2488] 5606. [bug] CDS/CDNSKEY DELETE records are now removed when a zone transitions from a secure to an insecure state. named-checkzone also no longer reports an error when such records are found in an unsigned zone. [GL #2517] 5605. [bug] "dig -u" now uses the CLOCK_REALTIME clock source for more accurate time reporting. [GL #2592] 5603. [bug] Fix a memory leak that occurred when named failed to bind a UDP socket to a network interface. [GL #2575] 5602. [bug] Fix TCPDNS and TLSDNS timers in Network Manager. This makes the "tcp-initial-timeout" and "tcp-idle-timeout" options work correctly again. [GL #2583] 5601. [bug] Zones using KASP could not be thawed after they were frozen using "rndc freeze". This has been fixed. [GL #2523] --- 9.16.13 released --- 5597. [bug] When serve-stale was enabled and starting the recursive resolution process for a query failed, a named instance could crash if it was configured as both a recursive and authoritative server. This problem was introduced by change 5573 and has now been fixed. [GL #2565] 5595. [cleanup] Public header files for BIND 9 libraries no longer directly include third-party library headers. This prevents the need to include paths to third-party header files in CFLAGS whenever BIND 9 public header files are used, which could cause build-time issues on hosts with older versions of BIND 9 installed. [GL #2357] 5594. [bug] Building with --enable-dnsrps --enable-dnsrps-dl failed. [GL #2298] 5593. [bug] Journal files written by older versions of named can now be read when loading zones, so that journal incompatibility does not cause problems on upgrade. Outdated journals are updated to the new format after loading. [GL #2505] 5592. [bug] Prevent hazard pointer table overflows on machines with many cores, by allowing the thread IDs (serving as indices into hazard pointer tables) of finished threads to be reused by those created later. [GL #2396] 5591. [bug] Fix a crash that occurred when "stale-answer-client-timeout" was triggered without any (stale) data available in the cache to answer the query. [GL #2503] 5590. [bug] NSEC3 records were not immediately created for dynamic zones using NSEC3 with "dnssec-policy", resulting in such zones going bogus. Add code to process the NSEC3PARAM queue at zone load time so that NSEC3 records for such zones are created immediately. [GL #2498] 5588. [func] Add a new "purge-keys" option for "dnssec-policy". This option determines the period of time for which key files are retained after they become obsolete. [GL #2408] 5586. [bug] An invalid direction field in a LOC record resulted in an INSIST failure when a zone file containing such a record was loaded. [GL #2499] 5584. [bug] No longer set the IP_DONTFRAG option on UDP sockets, to prevent dropping outgoing packets exceeding "max-udp-size". [GL #2466] 5582. [bug] BIND 9 failed to build when static OpenSSL libraries were used and the pkg-config files for libssl and/or libcrypto were unavailable. This has been fixed by ensuring that the correct linking order for libssl and libcrypto is always used. [GL #2402] 5581. [bug] Fix a memory leak that occurred when inline-signed zones were added to the configuration, followed by a reconfiguration of named. [GL #2041] 5580. [test] The system test framework no longer differentiates between SKIPPED and UNTESTED system test results. Any system test which is not run is now marked as SKIPPED. [GL !4517] 5573. [func] When serve-stale is enabled and stale data is available, named now returns stale answers upon encountering any unexpected error in the query resolution process. However, the "stale-refresh-time" window is still only started upon a timeout. [GL #2434] 5564. [cleanup] Network manager's TLSDNS module was refactored to use libuv and libssl directly instead of a stack of TCP/TLS sockets. [GL #2335]
2021-04-13more GCC 10 fixes.mrg
mDNSResponder: another wrong return local address dhcp: ignore a seemingly impossible stringop overflow hpacel: avoid maybe uninitialised error that is wrong. rsh: avoid impossible malloc(0) udf: cast pointers through (uintptr_t) to fool invalid boundary checks
2021-04-13use -fcommon here too.mrg
2021-04-13use -fcommon.mrg
2021-04-05bind: remove unnecessary local modificationsrillig
No functional change.
2021-04-05bind: remove non-canonical redundant CONSTCOND commentsrillig
Since lint1/tree.c 1.202 from 2021-01-31, lint no longer needs the /*CONSTCOND*/ for do-while-0 "loops". No functional change.
2021-04-05bind: remove unnecessary CONSTCOND commentsrillig
Since lint1/tree.c 1.202 from 2021-01-31, lint no longer needs the /*CONSTCOND*/ for do-while-0 "loops". No functional change.
2021-04-05bind: remove obsolete local modificationsrillig
The duplicate include has been added upstream, further up in the file. Since lint1/tree.c 1.202 from 2021-01-31, lint no longer needs the /*CONSTCOND*/ for do-while-0 "loops".
2021-04-05bind: remove workaround for bugs in lintrillig
The bugs have been fixed in lint1/init.c 1.179 from 2021-03-30.
2021-04-03Don't block signals if we are not bind (because if we are not bind, we don'tchristos
sigwait(2)).