Commit Graph

141 Commits

Author SHA1 Message Date
nia f52526086f mk: Allow setting MKDHCPD=no to build base without the ISC DHCP server,
useful for embedded images that don't need to act as one.
2022-05-25 20:44:01 +00:00
rillig a1f9277b31 libdns: suppress a few lint warnings that occur too often 2022-05-14 11:43:25 +00:00
brad 3cdfb747ad Add LINKS and MLINKS to the ddns-confgen Makefile to provide
tsig-keygen.  This helps to allow pkgsrc/security/acmesh to function
and should be provided in all BIND >= 9.13 installs anyway.
2022-05-13 16:39:32 +00:00
christos f407d9293b Merge conflicts between dhcp-4.4.2P1 and dhcp-4.4.3 2022-04-03 01:10:57 +00:00
christos 41e8421f37 Import dhcp-4.4.3
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-04-03 01:08:35 +00:00
christos 4c1242d0cd fix reversed test 2022-03-11 16:24:22 +00:00
christos e125d769e2 Don't try to install compat plugins; they are not useful since we don't
build compat named.
2022-03-11 13:39:01 +00:00
mrg 55bbcc605b comment filter-aaaa.so.debug for now. it's not installed normally
and will need a special rule, left as an exercise to the reader.

make plugins .WAIT on everything else.
2022-03-07 09:23:20 +00:00
mrg 896c379021 fix build when the tree hasn't been built already. LIB wasn't defined
by the time Makefile.inc is included, and the wrong thing happens.
2022-03-07 07:53:08 +00:00
mrg 2bd052e5d8 enter the bind plugins library dir, and also add missing set lists.
fixes building sets for at least vax.
2022-03-07 07:07:55 +00:00
christos aaa1857f42 Makefile for plugins 2022-03-06 17:50:19 +00:00
christos 4793086b69 Add some more debugging to collect information about the sequence of events. 2022-01-30 19:49:30 +00:00
christos 4d912a20e8 Bump the number of "workers" to 2 which effectively bumps the number of
contexts to 8. We seem to need 5 contexts so that should stop the error
checking to hp_retire() from triggering.
2022-01-30 19:47:04 +00:00
christos 2c17dc5941 a bit less verbose 2022-01-30 18:54:52 +00:00
christos 4232aba464 Avoid retiring a thread with a xtid >= isc__hp_max_threads and crashing.
XXX: need to fix the real bug, but this will do for now.
2022-01-30 13:11:46 +00:00
christos d79aa23921 bump the map api 2021-08-20 13:20:28 +00:00
christos aa8201fa1e Adjust for bind-9.16.20 2021-08-19 11:50:56 +00:00
christos 09f4e0c322 Merge changes between bind 9.16.15 and 9.16.20 and restore dns client APIs
needed by dhcpd.
2021-08-19 11:50:14 +00:00
christos b711ab94de Import bind-9.16.20
--- 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-08-19 11:45:12 +00:00
christos 946275102f merge local changes between dhcp-4.4.2 and dhcp-4.4.2-P1 2021-05-26 22:52:31 +00:00
christos 2e8b2e06c5 Import dhcp-4.4.2-P1:
! 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-26 22:48:40 +00:00
christos 2f967ad4a3 Add missing call to libdhcp_callbacks_register(). Should stop
dhcrelay() crashing when accessing *libdhcp_callbacks.local_port.
(from mrg@)
2021-05-21 21:07:37 +00:00
rillig 2ef2b36bb5 bind: remove unnecessary CONSTCOND
Lint does not need this anymore, since 2021-01-31.
2021-05-04 13:40:34 +00:00
rillig b640b0e245 bind: fix Clang build
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-05-04 13:16:06 +00:00
christos 99a1c29847 Merge our changes between bind 9.16.12 and 9.16.15 2021-04-29 17:26:09 +00:00
christos 0c407023b5 Import bind-9.16.15
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-29 16:46:17 +00:00
mrg 97b36aa771 more GCC 10 fixes.
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-13 06:25:48 +00:00
mrg 72ab974e26 use -fcommon here too. 2021-04-13 04:14:46 +00:00
mrg d212f498b1 use -fcommon. 2021-04-13 01:15:57 +00:00
rillig 42b2655873 bind: remove unnecessary local modifications
No functional change.
2021-04-05 11:36:55 +00:00
rillig 9baf44dc24 bind: remove non-canonical redundant CONSTCOND comments
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-05 11:29:49 +00:00
rillig 53cc4e50ec bind: remove unnecessary CONSTCOND comments
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-05 11:26:59 +00:00
rillig 3804823a53 bind: remove obsolete local modifications
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-05 10:54:05 +00:00
rillig a767eed121 bind: remove workaround for bugs in lint
The bugs have been fixed in lint1/init.c 1.179 from 2021-03-30.
2021-04-05 10:19:34 +00:00
christos e2ae7bf227 Don't block signals if we are not bind (because if we are not bind, we don't
sigwait(2)).
2021-04-03 22:44:43 +00:00
christos bf20da46a0 prefixing lwp names with isc- adds no useful information and causes
truncation of the useful part.
2021-04-03 22:20:26 +00:00
christos db01aa907d Add plugin glue (simon@) 2021-03-31 04:37:50 +00:00
rillig c74ec7a475 bind: fix typo in stdatomic to support lint + Clang
Before this fix, lint complained:
> dist/lib/isc/queue.c(203): error: expected undefined [99]

https://gitlab.isc.org/isc-projects/bind9/-/issues/2601
2021-03-27 00:06:27 +00:00
christos adb6523077 Consistently comment out code that lint can't handle (yet?) 2021-03-23 20:59:02 +00:00
christos f089647658 We have _Alignas now 2021-03-23 20:57:10 +00:00
christos 1cab48c7ca remove extra ;'s 2021-03-23 20:56:25 +00:00
rillig 886197979c bind: remove the workaround for a bug in lint for compound literals
This bug has been fixed in init.c 1.111 from a few minutes ago.
2021-03-23 18:46:07 +00:00
rillig 22b59a10f3 bind: fix workaround for bug in lint
The previous attempt resulted in a 'syntax error'.
2021-03-22 15:12:24 +00:00
wiz 2c99edc276 Use standard section names, sort, use more macros. 2021-03-21 21:26:00 +00:00
christos d5f25ae86c revert the unintentional whitespace changes 2021-03-21 16:21:35 +00:00
christos 04e21b4bb6 Remove some obsolete information and add some more recent additions from
the nslookup.1 page in the distribution. Consider replacing this man page
with the one from the distribution, since this manual page describes options
available only in the original implemementation. On the other hand, this
man page is mdoc, not man... (Takahiro Kambe)
2021-03-21 16:12:37 +00:00
christos 51673057e9 Locking protocol changed again, adjust. 2021-02-22 01:31:51 +00:00
christos a10402a4f1 libisc needs libssl now 2021-02-20 01:43:04 +00:00
christos fce770bd40 merge conflicts, adjust build. 2021-02-19 16:42:08 +00:00
christos a111e46cec --- 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]
2021-02-19 16:37:01 +00:00