From da12e7ee2090f3ebc1d8416ec239e977bc890477 Mon Sep 17 00:00:00 2001 From: Andoni Duarte Pintado Date: Fri, 7 Feb 2025 20:34:21 +0100 Subject: [PATCH 1/3] Generate changelog for BIND 9.18.34 --- doc/arm/changelog.rst | 2 + doc/changelog/changelog-9.18.34-S1.rst | 11 +++ doc/changelog/changelog-9.18.34.rst | 112 +++++++++++++++++++++++++ 3 files changed, 125 insertions(+) create mode 100644 doc/changelog/changelog-9.18.34-S1.rst create mode 100644 doc/changelog/changelog-9.18.34.rst diff --git a/doc/arm/changelog.rst b/doc/arm/changelog.rst index ea3deaa75d..3f9ee056c0 100644 --- a/doc/arm/changelog.rst +++ b/doc/arm/changelog.rst @@ -18,6 +18,8 @@ Changelog development. Regular users should refer to :ref:`Release Notes ` for changes relevant to them. +.. include:: ../changelog/changelog-9.18.34-S1.rst +.. include:: ../changelog/changelog-9.18.34.rst .. include:: ../changelog/changelog-9.18.33-S1.rst .. include:: ../changelog/changelog-9.18.33.rst .. include:: ../changelog/changelog-9.18.32-S1.rst diff --git a/doc/changelog/changelog-9.18.34-S1.rst b/doc/changelog/changelog-9.18.34-S1.rst new file mode 100644 index 0000000000..ba871808a1 --- /dev/null +++ b/doc/changelog/changelog-9.18.34-S1.rst @@ -0,0 +1,11 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. This Source Code Form is subject to the terms of the Mozilla Public +.. License, v. 2.0. If a copy of the MPL was not distributed with this +.. file, you can obtain one at https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + diff --git a/doc/changelog/changelog-9.18.34.rst b/doc/changelog/changelog-9.18.34.rst new file mode 100644 index 0000000000..fcc9bb6f8b --- /dev/null +++ b/doc/changelog/changelog-9.18.34.rst @@ -0,0 +1,112 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. This Source Code Form is subject to the terms of the Mozilla Public +.. License, v. 2.0. If a copy of the MPL was not distributed with this +.. file, you can obtain one at https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + +BIND 9.18.34 +------------ + +New Features +~~~~~~~~~~~~ + +- Print the expiration time of the stale records. ``f04168545d1`` + + Print the expiration time of the stale RRsets in the cache dump. + :gl:`!10062` + +Removed Features +~~~~~~~~~~~~~~~~ + +- Remove --with-tuning=small/large configuration option. ``327b666c6d0`` + + The configuration option --with-tuning has been removed as it is no + longer required or desired. :gl:`!9959` + +Feature Changes +~~~~~~~~~~~~~~~ + +- Reduce memory sizes of common structures. ``008e5201098`` + + * Reduce `sizeof(isc_sockaddr_t)` from 152 to 48 bytes * Reduce + `sizeof(struct isc__nm_uvreq)` from 1560 to 560 bytes + + Partial backport of !8299 :gl:`!9953` + +- Refactor reference counting in RBTDB. ``fd9a85addc4`` + + Clean up the pattern in the newref() and decref() functions in RBTDB + databases. + + Related to #5134 :gl:`!10036` + +- Shutdown the fetch context after canceling the last fetch. + ``57187b2c4f4`` + + Shutdown the fetch context immediately after the last fetch has been + canceled from that particular fetch context. :gl:`!9960` + +Bug Fixes +~~~~~~~~~ + +- Fix "rndc flushname" for longer name server names. ``b7383e50484`` + + :option:`rndc flushname` did not work for name server names longer + than 16 bytes. This has been fixed. :gl:`#3885` :gl:`!10025` + +- Recently expired records could be returned with timestamp in future. + ``4c49d99d560`` + + Under rare circumstances, the RRSet that expired at the time of the + query could be returned with TTL far in the future. This has been + fixed. + + As a side-effect, the expiration time of expired RRSets are no longer + printed out in the cache dump. :gl:`#5094` :gl:`!10060` + +- Yaml string not terminated in negative response in delv. + ``132947c0bad`` + + :gl:`#5098` :gl:`!9980` + +- Apply the memory limit only to ADB database items. ``7c90bd5bb3d`` + + Resolver under heavy-load could exhaust the memory available for + storing the information in the Address Database (ADB) effectively + evicting already stored information in the ADB. The memory used to + retrieve and provide information from the ADB is now not a subject of + the same memory limits that are applied for storing the information in + the Address Database. :gl:`#5127` :gl:`!9976` + +- Avoid unnecessary locking in the zone/cache database. ``43c77d95f1d`` + + Prevent lock contention among many worker threads referring to the + same database node at the same time. This would improve zone and cache + database performance for the heavily contended database nodes. + :gl:`#5130` :gl:`!9965` + +- Fix the cache findzonecut() implementation. ``368315b3c7e`` + + The search for the deepest known zone cut in the cache could + improperly reject a node if it contained any stale data, regardless of + whether it was the NS RRset that was stale. :gl:`#5155` :gl:`!10051` + +- Improve the resolver performance under attack. ``2c667bc9c61`` + + A remote client can force the DNS resolver component to consume the + memory faster than cleaning up the resources for the canceled resolver + fetches due to `recursive-clients` limit. If the such traffic pattern + is sustained for a long period of time, the DNS server might + eventually run out of the available memory. This has been fixed. + + It should be noted that when under such heavy attack for BIND 9 + version both with and without the fix, no outgoing DNS queries will be + successful as the generated traffic pattern will consume all the + available slots for the recursive clients. :gl:`!9961` + + From 5dbb9de0717a888ef30993b304e3434e8f8cf674 Mon Sep 17 00:00:00 2001 From: Andoni Duarte Pintado Date: Fri, 7 Feb 2025 20:38:48 +0100 Subject: [PATCH 2/3] Prepare release notes for BIND 9.18.34 --- doc/arm/notes.rst | 1 + doc/notes/notes-9.18.34.rst | 80 +++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 doc/notes/notes-9.18.34.rst diff --git a/doc/arm/notes.rst b/doc/arm/notes.rst index 49cd4e9415..3cbb9ae138 100644 --- a/doc/arm/notes.rst +++ b/doc/arm/notes.rst @@ -45,6 +45,7 @@ The list of known issues affecting the latest version in the 9.18 branch can be found at https://gitlab.isc.org/isc-projects/bind9/-/wikis/Known-Issues-in-BIND-9.18 +.. include:: ../notes/notes-9.18.34.rst .. include:: ../notes/notes-9.18.33.rst .. include:: ../notes/notes-9.18.32.rst .. include:: ../notes/notes-9.18.31.rst diff --git a/doc/notes/notes-9.18.34.rst b/doc/notes/notes-9.18.34.rst new file mode 100644 index 0000000000..70213941d7 --- /dev/null +++ b/doc/notes/notes-9.18.34.rst @@ -0,0 +1,80 @@ +.. Copyright (C) Internet Systems Consortium, Inc. ("ISC") +.. +.. SPDX-License-Identifier: MPL-2.0 +.. +.. This Source Code Form is subject to the terms of the Mozilla Public +.. License, v. 2.0. If a copy of the MPL was not distributed with this +.. file, you can obtain one at https://mozilla.org/MPL/2.0/. +.. +.. See the COPYRIGHT file distributed with this work for additional +.. information regarding copyright ownership. + +Notes for BIND 9.18.34 +---------------------- + +New Features +~~~~~~~~~~~~ + +- Print the expiration time of the stale records. + + Print the expiration time of the stale RRsets in the cache dump. + +Removed Features +~~~~~~~~~~~~~~~~ + +- Remove `--with-tuning=small/large` configuration option. + + The configuration option `--with-tuning` has been removed as it is no + longer required or desired. + +Bug Fixes +~~~~~~~~~ + +- Fix :iscman:`rndc flushname` for longer name server names. + + :option:`rndc flushname` did not work for name server names longer + than 16 bytes. This has been fixed. :gl:`#3885` + +- Recently expired records could be returned with timestamp in future. + + Under rare circumstances, the RRSet that expired at the time of the + query could be returned with TTL far in the future. This has been + fixed. + + As a side-effect, the expiration time of expired RRSets are no longer + printed out in the cache dump. :gl:`#5094` + +- Yaml string not terminated in negative response in delv. + + :gl:`#5098` + +- Apply the memory limit only to ADB database items. + + The resolver under heavy-load could exhaust the memory available for + storing the information in the Address Database (ADB) effectively + evicting already stored information in the ADB. The memory used to + retrieve and provide information from the ADB is now not a subject of + the same memory limits that are applied for storing the information in + the Address Database. :gl:`#5127` + +- Avoid unnecessary locking in the zone/cache database. + + Prevent lock contention among many worker threads referring to the + same database node at the same time. This improves zone and cache + database performance for the heavily contended database nodes. + :gl:`#5130` + +- Improve the resolver performance under attack. + + A remote client can force the DNS resolver component to consume the + memory faster than cleaning up the resources for the canceled resolver + fetches due to `recursive-clients` limit. If the such traffic pattern + is sustained for a long period of time, the DNS server might + eventually run out of the available memory. This has been fixed. + + It should be noted that when under such heavy attack for a BIND 9 + version both with and without the fix, no outgoing DNS queries will be + successful as the generated traffic pattern will consume all the + available slots for the recursive clients. + + From 8a40344aa297bccef511c63c59c1d5ec4f140105 Mon Sep 17 00:00:00 2001 From: Andoni Duarte Pintado Date: Fri, 7 Feb 2025 20:41:12 +0100 Subject: [PATCH 3/3] Tweak and reword release notes --- doc/changelog/changelog-9.18.34.rst | 4 +-- doc/notes/notes-9.18.34.rst | 46 ++++++++++++++--------------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/doc/changelog/changelog-9.18.34.rst b/doc/changelog/changelog-9.18.34.rst index fcc9bb6f8b..a0fa3f82d9 100644 --- a/doc/changelog/changelog-9.18.34.rst +++ b/doc/changelog/changelog-9.18.34.rst @@ -33,8 +33,8 @@ Feature Changes - Reduce memory sizes of common structures. ``008e5201098`` - * Reduce `sizeof(isc_sockaddr_t)` from 152 to 48 bytes * Reduce - `sizeof(struct isc__nm_uvreq)` from 1560 to 560 bytes + * Reduce `sizeof(isc_sockaddr_t)` from 152 to 48 bytes + * Reduce `sizeof(struct isc__nm_uvreq)` from 1560 to 560 bytes Partial backport of !8299 :gl:`!9953` diff --git a/doc/notes/notes-9.18.34.rst b/doc/notes/notes-9.18.34.rst index 70213941d7..d04ea60e8b 100644 --- a/doc/notes/notes-9.18.34.rst +++ b/doc/notes/notes-9.18.34.rst @@ -30,51 +30,51 @@ Removed Features Bug Fixes ~~~~~~~~~ -- Fix :iscman:`rndc flushname` for longer name server names. +- Fix :option:`rndc flushname` for longer name server names. :option:`rndc flushname` did not work for name server names longer than 16 bytes. This has been fixed. :gl:`#3885` -- Recently expired records could be returned with timestamp in future. +- Recently expired records could be returned with a timestamp in future. - Under rare circumstances, the RRSet that expired at the time of the - query could be returned with TTL far in the future. This has been - fixed. + Under rare circumstances, an RRSet that expired at the time of the + query could be returned with a TTL in the future. This has been fixed. - As a side-effect, the expiration time of expired RRSets are no longer - printed out in the cache dump. :gl:`#5094` + As a side effect, the expiration time of expired RRSets is no longer + returned in a cache dump. :gl:`#5094` -- Yaml string not terminated in negative response in delv. +- YAML string not terminated in negative response in delv. :gl:`#5098` - Apply the memory limit only to ADB database items. - The resolver under heavy-load could exhaust the memory available for - storing the information in the Address Database (ADB) effectively - evicting already stored information in the ADB. The memory used to - retrieve and provide information from the ADB is now not a subject of - the same memory limits that are applied for storing the information in + Under heavy load, a resolver could exhaust the memory available for + storing the information in the Address Database (ADB), effectively + discarding previously stored information in the ADB. The memory used to + retrieve and provide information from the ADB is no longer subject to + the same memory limits that are applied to + + the Address Database. :gl:`#5127` - Avoid unnecessary locking in the zone/cache database. - Prevent lock contention among many worker threads referring to the - same database node at the same time. This improves zone and cache - database performance for the heavily contended database nodes. + Lock contention among many worker threads referring to the + same database node at the same time is now prevented. This improves zone and + cache database performance for any heavily contended database nodes. :gl:`#5130` - Improve the resolver performance under attack. - A remote client can force the DNS resolver component to consume the - memory faster than cleaning up the resources for the canceled resolver - fetches due to `recursive-clients` limit. If the such traffic pattern - is sustained for a long period of time, the DNS server might + Previously, a remote client could force the DNS resolver component to consume + memory faster than resources were cleaned up for the canceled resolver + fetches, due to the `recursive-clients` limit. If such a traffic pattern + was sustained for a long period of time, the DNS server might eventually run out of the available memory. This has been fixed. - It should be noted that when under such heavy attack for a BIND 9 - version both with and without the fix, no outgoing DNS queries will be - successful as the generated traffic pattern will consume all the + It should be noted that, under such a heavy attack, no outgoing DNS queries will be successful in BIND 9 + versions both with and without the fix, as the generated traffic pattern will consume all the available slots for the recursive clients.