Update dnspython to 2.6.1 across 11 directories
Bumps the pip group with 1 update in the /front/admin_ui directory: [dnspython](https://github.com/rthalley/dnspython).
Bumps the pip group with 1 update in the /jobs/cache_maintenance directory: [dnspython](https://github.com/rthalley/dnspython).
Bumps the pip group with 1 update in the /jobs/mongodb_migration directory: [dnspython](https://github.com/rthalley/dnspython).
Bumps the pip group with 1 update in the /libs/libapi directory: [dnspython](https://github.com/rthalley/dnspython).
Bumps the pip group with 1 update in the /libs/libcommon directory: [dnspython](https://github.com/rthalley/dnspython).
Bumps the pip group with 1 update in the /services/admin directory: [dnspython](https://github.com/rthalley/dnspython).
Bumps the pip group with 1 update in the /services/api directory: [dnspython](https://github.com/rthalley/dnspython).
Bumps the pip group with 1 update in the /services/rows directory: [dnspython](https://github.com/rthalley/dnspython).
Bumps the pip group with 1 update in the /services/search directory: [dnspython](https://github.com/rthalley/dnspython).
Bumps the pip group with 1 update in the /services/sse-api directory: [dnspython](https://github.com/rthalley/dnspython).
Bumps the pip group with 1 update in the /services/worker directory: [dnspython](https://github.com/rthalley/dnspython).

Updates `dnspython` from 1.16.0 to 2.6.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/releases">dnspython's releases</a>.</em></p>
<blockquote>
<h2>dnspython 2.6.1</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This is a bug fix release for 2.6.0 where the &quot;TuDoor&quot; fix erroneously
suppressed legitimate Truncated exceptions.  This caused the stub
resolver to timeout instead of failing over to TCP when a legitimate
truncated response was received over UDP.</p>
<p>This release addresses the potential DoS issue discussed in the
&quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is
vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a
legitimate one on the UDP port dnspython is using for that query.  In
this situation, dnspython might switch to querying another resolver or
give up entirely, possibly denying service for that resolution.  This
release addresses the issue by adopting the recommended mitigation,
which is ignoring the bad packets and continuing to listen for a
legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual,
thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian
Wellington.</p>
<h2>dnspython 2.6.0</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This release addresses the potential DoS issue discussed in the &quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the right address and port forged by an attacker arrives before a legitimate one on the UDP port dnspython is using for that query.  In this situation, dnspython might switch to querying another resolver or give up entirely, possibly denying service for that resolution.  This release addresses the issue by adopting the recommended mitigation, which is ignoring the bad packets and continuing to listen for a legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.5.0</h2>
<p>See the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page for a summary of this release.</p>
<p>Thanks to all the contributors, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.4.2</h2>
<p>This is a bug fix release, see the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page in the documentation for a summary.</p>
<p>Thanks to the people who reported the bugs and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/blob/main/doc/whatsnew.rst">dnspython's changelog</a>.</em></p>
<blockquote>
<h2>2.6.1</h2>
<ul>
<li>The Tudoor fix ate legitimate Truncated exceptions, preventing the resolver from
failing over to TCP and causing the query to timeout <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a>.</li>
</ul>
<h2>2.6.0</h2>
<ul>
<li>
<p>As mentioned in the &quot;TuDoor&quot; paper and the associated CVE-2023-29483, the dnspython
stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a legitimate one on the
UDP port dnspython is using for that query.</p>
<p>This release addresses the issue by adopting the recommended mitigation, which is
ignoring the bad packets and continuing to listen for a legitimate response until
the timeout for the query has expired.</p>
</li>
<li>
<p>Added support for the NSID EDNS option.</p>
</li>
<li>
<p>Dnspython now looks for version metadata for optional packages and will not
use them if they are too old.  This prevents possible exceptions when a
feature like DoH is not desired in dnspython, but an old httpx is installed
along with dnspython for some other purpose.</p>
</li>
<li>
<p>The DoHNameserver class now allows GET to be used instead of the default POST,
and also passes source and source_port correctly to the underlying query
methods.</p>
</li>
</ul>
<h2>2.5.0</h2>
<ul>
<li>
<p>Dnspython now uses hatchling for builds.</p>
</li>
<li>
<p>Asynchronous destinationless sockets now work on Windows.</p>
</li>
<li>
<p>Cython is no longer supported due to various typing issues.</p>
</li>
<li>
<p>Dnspython now explicitly canonicalizes IPv4 and IPv6 addresses.
Previously it was possible for non-canonical IPv6 forms to be stored
in a AAAA address, which would work correctly but possibly cause
problmes if the address were used as a key in a dictionary.</p>
</li>
<li>
<p>The number of messages in a section can be retrieved with
section_count().</p>
</li>
<li>
<p>Truncation preferences for messages can be specified.</p>
</li>
<li>
<p>The length of a message can be automatically prepended when
rendering.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/rthalley/dnspython/commit/0a742b9658977175663dc30da902342a8c2bacac"><code>0a742b9</code></a> update CI</li>
<li><a href="https://github.com/rthalley/dnspython/commit/0ea5ad0a4583e1f519b9bcc67cfac381230d9cf2"><code>0ea5ad0</code></a> The Tudoor fix should not eat valid Truncated exceptions <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a> (<a href="https://redirect.github.com/rthalley/dnspython/issues/1054">#1054</a>)</li>
<li><a href="https://github.com/rthalley/dnspython/commit/f12d398a6991dfaad94d7fefaf7e2f55d1fda3cb"><code>f12d398</code></a> 2.6.1 version prep</li>
<li><a href="https://github.com/rthalley/dnspython/commit/cecb8534f61de16aaa1a1a84eaaeb14dfdf67448"><code>cecb853</code></a> Further improve CVE fix coverage to 100% for sync and async.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/7952e311d47f6b34f5dc050681001fd34ab60d01"><code>7952e31</code></a> test IgnoreErrors</li>
<li><a href="https://github.com/rthalley/dnspython/commit/e093299a49967696b1c58b68e4767de5031a3e46"><code>e093299</code></a> For the Tudoor fix, we also need the UDP nameserver to ignore_unexpected.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/3af9f78142084fff8523bc96b5f8cfd2b909dc18"><code>3af9f78</code></a> 2.6.0 versioning</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ca63d95143e81975fc3fff4dff87b366dc661371"><code>ca63d95</code></a> Require cryptography &gt;=41 instead of 42.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/902cbf3fcb11ddfd8625b4a071fe9f592f6fc753"><code>902cbf3</code></a> Create CODE_OF_CONDUCT.md</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ed9795fa9b39c4a12f5a1a9e0eeea4240d1efb07"><code>ed9795f</code></a> github contributing and pull request template</li>
<li>Additional commits viewable in <a href="https://github.com/rthalley/dnspython/compare/v1.16.0...v2.6.1">compare view</a></li>
</ul>
</details>
<br />

Updates `dnspython` from 1.16.0 to 2.6.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/releases">dnspython's releases</a>.</em></p>
<blockquote>
<h2>dnspython 2.6.1</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This is a bug fix release for 2.6.0 where the &quot;TuDoor&quot; fix erroneously
suppressed legitimate Truncated exceptions.  This caused the stub
resolver to timeout instead of failing over to TCP when a legitimate
truncated response was received over UDP.</p>
<p>This release addresses the potential DoS issue discussed in the
&quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is
vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a
legitimate one on the UDP port dnspython is using for that query.  In
this situation, dnspython might switch to querying another resolver or
give up entirely, possibly denying service for that resolution.  This
release addresses the issue by adopting the recommended mitigation,
which is ignoring the bad packets and continuing to listen for a
legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual,
thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian
Wellington.</p>
<h2>dnspython 2.6.0</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This release addresses the potential DoS issue discussed in the &quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the right address and port forged by an attacker arrives before a legitimate one on the UDP port dnspython is using for that query.  In this situation, dnspython might switch to querying another resolver or give up entirely, possibly denying service for that resolution.  This release addresses the issue by adopting the recommended mitigation, which is ignoring the bad packets and continuing to listen for a legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.5.0</h2>
<p>See the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page for a summary of this release.</p>
<p>Thanks to all the contributors, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.4.2</h2>
<p>This is a bug fix release, see the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page in the documentation for a summary.</p>
<p>Thanks to the people who reported the bugs and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/blob/main/doc/whatsnew.rst">dnspython's changelog</a>.</em></p>
<blockquote>
<h2>2.6.1</h2>
<ul>
<li>The Tudoor fix ate legitimate Truncated exceptions, preventing the resolver from
failing over to TCP and causing the query to timeout <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a>.</li>
</ul>
<h2>2.6.0</h2>
<ul>
<li>
<p>As mentioned in the &quot;TuDoor&quot; paper and the associated CVE-2023-29483, the dnspython
stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a legitimate one on the
UDP port dnspython is using for that query.</p>
<p>This release addresses the issue by adopting the recommended mitigation, which is
ignoring the bad packets and continuing to listen for a legitimate response until
the timeout for the query has expired.</p>
</li>
<li>
<p>Added support for the NSID EDNS option.</p>
</li>
<li>
<p>Dnspython now looks for version metadata for optional packages and will not
use them if they are too old.  This prevents possible exceptions when a
feature like DoH is not desired in dnspython, but an old httpx is installed
along with dnspython for some other purpose.</p>
</li>
<li>
<p>The DoHNameserver class now allows GET to be used instead of the default POST,
and also passes source and source_port correctly to the underlying query
methods.</p>
</li>
</ul>
<h2>2.5.0</h2>
<ul>
<li>
<p>Dnspython now uses hatchling for builds.</p>
</li>
<li>
<p>Asynchronous destinationless sockets now work on Windows.</p>
</li>
<li>
<p>Cython is no longer supported due to various typing issues.</p>
</li>
<li>
<p>Dnspython now explicitly canonicalizes IPv4 and IPv6 addresses.
Previously it was possible for non-canonical IPv6 forms to be stored
in a AAAA address, which would work correctly but possibly cause
problmes if the address were used as a key in a dictionary.</p>
</li>
<li>
<p>The number of messages in a section can be retrieved with
section_count().</p>
</li>
<li>
<p>Truncation preferences for messages can be specified.</p>
</li>
<li>
<p>The length of a message can be automatically prepended when
rendering.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/rthalley/dnspython/commit/0a742b9658977175663dc30da902342a8c2bacac"><code>0a742b9</code></a> update CI</li>
<li><a href="https://github.com/rthalley/dnspython/commit/0ea5ad0a4583e1f519b9bcc67cfac381230d9cf2"><code>0ea5ad0</code></a> The Tudoor fix should not eat valid Truncated exceptions <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a> (<a href="https://redirect.github.com/rthalley/dnspython/issues/1054">#1054</a>)</li>
<li><a href="https://github.com/rthalley/dnspython/commit/f12d398a6991dfaad94d7fefaf7e2f55d1fda3cb"><code>f12d398</code></a> 2.6.1 version prep</li>
<li><a href="https://github.com/rthalley/dnspython/commit/cecb8534f61de16aaa1a1a84eaaeb14dfdf67448"><code>cecb853</code></a> Further improve CVE fix coverage to 100% for sync and async.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/7952e311d47f6b34f5dc050681001fd34ab60d01"><code>7952e31</code></a> test IgnoreErrors</li>
<li><a href="https://github.com/rthalley/dnspython/commit/e093299a49967696b1c58b68e4767de5031a3e46"><code>e093299</code></a> For the Tudoor fix, we also need the UDP nameserver to ignore_unexpected.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/3af9f78142084fff8523bc96b5f8cfd2b909dc18"><code>3af9f78</code></a> 2.6.0 versioning</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ca63d95143e81975fc3fff4dff87b366dc661371"><code>ca63d95</code></a> Require cryptography &gt;=41 instead of 42.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/902cbf3fcb11ddfd8625b4a071fe9f592f6fc753"><code>902cbf3</code></a> Create CODE_OF_CONDUCT.md</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ed9795fa9b39c4a12f5a1a9e0eeea4240d1efb07"><code>ed9795f</code></a> github contributing and pull request template</li>
<li>Additional commits viewable in <a href="https://github.com/rthalley/dnspython/compare/v1.16.0...v2.6.1">compare view</a></li>
</ul>
</details>
<br />

Updates `dnspython` from 1.16.0 to 2.6.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/releases">dnspython's releases</a>.</em></p>
<blockquote>
<h2>dnspython 2.6.1</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This is a bug fix release for 2.6.0 where the &quot;TuDoor&quot; fix erroneously
suppressed legitimate Truncated exceptions.  This caused the stub
resolver to timeout instead of failing over to TCP when a legitimate
truncated response was received over UDP.</p>
<p>This release addresses the potential DoS issue discussed in the
&quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is
vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a
legitimate one on the UDP port dnspython is using for that query.  In
this situation, dnspython might switch to querying another resolver or
give up entirely, possibly denying service for that resolution.  This
release addresses the issue by adopting the recommended mitigation,
which is ignoring the bad packets and continuing to listen for a
legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual,
thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian
Wellington.</p>
<h2>dnspython 2.6.0</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This release addresses the potential DoS issue discussed in the &quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the right address and port forged by an attacker arrives before a legitimate one on the UDP port dnspython is using for that query.  In this situation, dnspython might switch to querying another resolver or give up entirely, possibly denying service for that resolution.  This release addresses the issue by adopting the recommended mitigation, which is ignoring the bad packets and continuing to listen for a legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.5.0</h2>
<p>See the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page for a summary of this release.</p>
<p>Thanks to all the contributors, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.4.2</h2>
<p>This is a bug fix release, see the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page in the documentation for a summary.</p>
<p>Thanks to the people who reported the bugs and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/blob/main/doc/whatsnew.rst">dnspython's changelog</a>.</em></p>
<blockquote>
<h2>2.6.1</h2>
<ul>
<li>The Tudoor fix ate legitimate Truncated exceptions, preventing the resolver from
failing over to TCP and causing the query to timeout <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a>.</li>
</ul>
<h2>2.6.0</h2>
<ul>
<li>
<p>As mentioned in the &quot;TuDoor&quot; paper and the associated CVE-2023-29483, the dnspython
stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a legitimate one on the
UDP port dnspython is using for that query.</p>
<p>This release addresses the issue by adopting the recommended mitigation, which is
ignoring the bad packets and continuing to listen for a legitimate response until
the timeout for the query has expired.</p>
</li>
<li>
<p>Added support for the NSID EDNS option.</p>
</li>
<li>
<p>Dnspython now looks for version metadata for optional packages and will not
use them if they are too old.  This prevents possible exceptions when a
feature like DoH is not desired in dnspython, but an old httpx is installed
along with dnspython for some other purpose.</p>
</li>
<li>
<p>The DoHNameserver class now allows GET to be used instead of the default POST,
and also passes source and source_port correctly to the underlying query
methods.</p>
</li>
</ul>
<h2>2.5.0</h2>
<ul>
<li>
<p>Dnspython now uses hatchling for builds.</p>
</li>
<li>
<p>Asynchronous destinationless sockets now work on Windows.</p>
</li>
<li>
<p>Cython is no longer supported due to various typing issues.</p>
</li>
<li>
<p>Dnspython now explicitly canonicalizes IPv4 and IPv6 addresses.
Previously it was possible for non-canonical IPv6 forms to be stored
in a AAAA address, which would work correctly but possibly cause
problmes if the address were used as a key in a dictionary.</p>
</li>
<li>
<p>The number of messages in a section can be retrieved with
section_count().</p>
</li>
<li>
<p>Truncation preferences for messages can be specified.</p>
</li>
<li>
<p>The length of a message can be automatically prepended when
rendering.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/rthalley/dnspython/commit/0a742b9658977175663dc30da902342a8c2bacac"><code>0a742b9</code></a> update CI</li>
<li><a href="https://github.com/rthalley/dnspython/commit/0ea5ad0a4583e1f519b9bcc67cfac381230d9cf2"><code>0ea5ad0</code></a> The Tudoor fix should not eat valid Truncated exceptions <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a> (<a href="https://redirect.github.com/rthalley/dnspython/issues/1054">#1054</a>)</li>
<li><a href="https://github.com/rthalley/dnspython/commit/f12d398a6991dfaad94d7fefaf7e2f55d1fda3cb"><code>f12d398</code></a> 2.6.1 version prep</li>
<li><a href="https://github.com/rthalley/dnspython/commit/cecb8534f61de16aaa1a1a84eaaeb14dfdf67448"><code>cecb853</code></a> Further improve CVE fix coverage to 100% for sync and async.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/7952e311d47f6b34f5dc050681001fd34ab60d01"><code>7952e31</code></a> test IgnoreErrors</li>
<li><a href="https://github.com/rthalley/dnspython/commit/e093299a49967696b1c58b68e4767de5031a3e46"><code>e093299</code></a> For the Tudoor fix, we also need the UDP nameserver to ignore_unexpected.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/3af9f78142084fff8523bc96b5f8cfd2b909dc18"><code>3af9f78</code></a> 2.6.0 versioning</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ca63d95143e81975fc3fff4dff87b366dc661371"><code>ca63d95</code></a> Require cryptography &gt;=41 instead of 42.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/902cbf3fcb11ddfd8625b4a071fe9f592f6fc753"><code>902cbf3</code></a> Create CODE_OF_CONDUCT.md</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ed9795fa9b39c4a12f5a1a9e0eeea4240d1efb07"><code>ed9795f</code></a> github contributing and pull request template</li>
<li>Additional commits viewable in <a href="https://github.com/rthalley/dnspython/compare/v1.16.0...v2.6.1">compare view</a></li>
</ul>
</details>
<br />

Updates `dnspython` from 2.4.2 to 2.6.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/releases">dnspython's releases</a>.</em></p>
<blockquote>
<h2>dnspython 2.6.1</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This is a bug fix release for 2.6.0 where the &quot;TuDoor&quot; fix erroneously
suppressed legitimate Truncated exceptions.  This caused the stub
resolver to timeout instead of failing over to TCP when a legitimate
truncated response was received over UDP.</p>
<p>This release addresses the potential DoS issue discussed in the
&quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is
vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a
legitimate one on the UDP port dnspython is using for that query.  In
this situation, dnspython might switch to querying another resolver or
give up entirely, possibly denying service for that resolution.  This
release addresses the issue by adopting the recommended mitigation,
which is ignoring the bad packets and continuing to listen for a
legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual,
thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian
Wellington.</p>
<h2>dnspython 2.6.0</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This release addresses the potential DoS issue discussed in the &quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the right address and port forged by an attacker arrives before a legitimate one on the UDP port dnspython is using for that query.  In this situation, dnspython might switch to querying another resolver or give up entirely, possibly denying service for that resolution.  This release addresses the issue by adopting the recommended mitigation, which is ignoring the bad packets and continuing to listen for a legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.5.0</h2>
<p>See the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page for a summary of this release.</p>
<p>Thanks to all the contributors, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.4.2</h2>
<p>This is a bug fix release, see the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page in the documentation for a summary.</p>
<p>Thanks to the people who reported the bugs and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/blob/main/doc/whatsnew.rst">dnspython's changelog</a>.</em></p>
<blockquote>
<h2>2.6.1</h2>
<ul>
<li>The Tudoor fix ate legitimate Truncated exceptions, preventing the resolver from
failing over to TCP and causing the query to timeout <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a>.</li>
</ul>
<h2>2.6.0</h2>
<ul>
<li>
<p>As mentioned in the &quot;TuDoor&quot; paper and the associated CVE-2023-29483, the dnspython
stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a legitimate one on the
UDP port dnspython is using for that query.</p>
<p>This release addresses the issue by adopting the recommended mitigation, which is
ignoring the bad packets and continuing to listen for a legitimate response until
the timeout for the query has expired.</p>
</li>
<li>
<p>Added support for the NSID EDNS option.</p>
</li>
<li>
<p>Dnspython now looks for version metadata for optional packages and will not
use them if they are too old.  This prevents possible exceptions when a
feature like DoH is not desired in dnspython, but an old httpx is installed
along with dnspython for some other purpose.</p>
</li>
<li>
<p>The DoHNameserver class now allows GET to be used instead of the default POST,
and also passes source and source_port correctly to the underlying query
methods.</p>
</li>
</ul>
<h2>2.5.0</h2>
<ul>
<li>
<p>Dnspython now uses hatchling for builds.</p>
</li>
<li>
<p>Asynchronous destinationless sockets now work on Windows.</p>
</li>
<li>
<p>Cython is no longer supported due to various typing issues.</p>
</li>
<li>
<p>Dnspython now explicitly canonicalizes IPv4 and IPv6 addresses.
Previously it was possible for non-canonical IPv6 forms to be stored
in a AAAA address, which would work correctly but possibly cause
problmes if the address were used as a key in a dictionary.</p>
</li>
<li>
<p>The number of messages in a section can be retrieved with
section_count().</p>
</li>
<li>
<p>Truncation preferences for messages can be specified.</p>
</li>
<li>
<p>The length of a message can be automatically prepended when
rendering.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/rthalley/dnspython/commit/0a742b9658977175663dc30da902342a8c2bacac"><code>0a742b9</code></a> update CI</li>
<li><a href="https://github.com/rthalley/dnspython/commit/0ea5ad0a4583e1f519b9bcc67cfac381230d9cf2"><code>0ea5ad0</code></a> The Tudoor fix should not eat valid Truncated exceptions <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a> (<a href="https://redirect.github.com/rthalley/dnspython/issues/1054">#1054</a>)</li>
<li><a href="https://github.com/rthalley/dnspython/commit/f12d398a6991dfaad94d7fefaf7e2f55d1fda3cb"><code>f12d398</code></a> 2.6.1 version prep</li>
<li><a href="https://github.com/rthalley/dnspython/commit/cecb8534f61de16aaa1a1a84eaaeb14dfdf67448"><code>cecb853</code></a> Further improve CVE fix coverage to 100% for sync and async.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/7952e311d47f6b34f5dc050681001fd34ab60d01"><code>7952e31</code></a> test IgnoreErrors</li>
<li><a href="https://github.com/rthalley/dnspython/commit/e093299a49967696b1c58b68e4767de5031a3e46"><code>e093299</code></a> For the Tudoor fix, we also need the UDP nameserver to ignore_unexpected.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/3af9f78142084fff8523bc96b5f8cfd2b909dc18"><code>3af9f78</code></a> 2.6.0 versioning</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ca63d95143e81975fc3fff4dff87b366dc661371"><code>ca63d95</code></a> Require cryptography &gt;=41 instead of 42.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/902cbf3fcb11ddfd8625b4a071fe9f592f6fc753"><code>902cbf3</code></a> Create CODE_OF_CONDUCT.md</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ed9795fa9b39c4a12f5a1a9e0eeea4240d1efb07"><code>ed9795f</code></a> github contributing and pull request template</li>
<li>Additional commits viewable in <a href="https://github.com/rthalley/dnspython/compare/v1.16.0...v2.6.1">compare view</a></li>
</ul>
</details>
<br />

Updates `dnspython` from 1.16.0 to 2.6.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/releases">dnspython's releases</a>.</em></p>
<blockquote>
<h2>dnspython 2.6.1</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This is a bug fix release for 2.6.0 where the &quot;TuDoor&quot; fix erroneously
suppressed legitimate Truncated exceptions.  This caused the stub
resolver to timeout instead of failing over to TCP when a legitimate
truncated response was received over UDP.</p>
<p>This release addresses the potential DoS issue discussed in the
&quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is
vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a
legitimate one on the UDP port dnspython is using for that query.  In
this situation, dnspython might switch to querying another resolver or
give up entirely, possibly denying service for that resolution.  This
release addresses the issue by adopting the recommended mitigation,
which is ignoring the bad packets and continuing to listen for a
legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual,
thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian
Wellington.</p>
<h2>dnspython 2.6.0</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This release addresses the potential DoS issue discussed in the &quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the right address and port forged by an attacker arrives before a legitimate one on the UDP port dnspython is using for that query.  In this situation, dnspython might switch to querying another resolver or give up entirely, possibly denying service for that resolution.  This release addresses the issue by adopting the recommended mitigation, which is ignoring the bad packets and continuing to listen for a legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.5.0</h2>
<p>See the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page for a summary of this release.</p>
<p>Thanks to all the contributors, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.4.2</h2>
<p>This is a bug fix release, see the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page in the documentation for a summary.</p>
<p>Thanks to the people who reported the bugs and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/blob/main/doc/whatsnew.rst">dnspython's changelog</a>.</em></p>
<blockquote>
<h2>2.6.1</h2>
<ul>
<li>The Tudoor fix ate legitimate Truncated exceptions, preventing the resolver from
failing over to TCP and causing the query to timeout <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a>.</li>
</ul>
<h2>2.6.0</h2>
<ul>
<li>
<p>As mentioned in the &quot;TuDoor&quot; paper and the associated CVE-2023-29483, the dnspython
stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a legitimate one on the
UDP port dnspython is using for that query.</p>
<p>This release addresses the issue by adopting the recommended mitigation, which is
ignoring the bad packets and continuing to listen for a legitimate response until
the timeout for the query has expired.</p>
</li>
<li>
<p>Added support for the NSID EDNS option.</p>
</li>
<li>
<p>Dnspython now looks for version metadata for optional packages and will not
use them if they are too old.  This prevents possible exceptions when a
feature like DoH is not desired in dnspython, but an old httpx is installed
along with dnspython for some other purpose.</p>
</li>
<li>
<p>The DoHNameserver class now allows GET to be used instead of the default POST,
and also passes source and source_port correctly to the underlying query
methods.</p>
</li>
</ul>
<h2>2.5.0</h2>
<ul>
<li>
<p>Dnspython now uses hatchling for builds.</p>
</li>
<li>
<p>Asynchronous destinationless sockets now work on Windows.</p>
</li>
<li>
<p>Cython is no longer supported due to various typing issues.</p>
</li>
<li>
<p>Dnspython now explicitly canonicalizes IPv4 and IPv6 addresses.
Previously it was possible for non-canonical IPv6 forms to be stored
in a AAAA address, which would work correctly but possibly cause
problmes if the address were used as a key in a dictionary.</p>
</li>
<li>
<p>The number of messages in a section can be retrieved with
section_count().</p>
</li>
<li>
<p>Truncation preferences for messages can be specified.</p>
</li>
<li>
<p>The length of a message can be automatically prepended when
rendering.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/rthalley/dnspython/commit/0a742b9658977175663dc30da902342a8c2bacac"><code>0a742b9</code></a> update CI</li>
<li><a href="https://github.com/rthalley/dnspython/commit/0ea5ad0a4583e1f519b9bcc67cfac381230d9cf2"><code>0ea5ad0</code></a> The Tudoor fix should not eat valid Truncated exceptions <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a> (<a href="https://redirect.github.com/rthalley/dnspython/issues/1054">#1054</a>)</li>
<li><a href="https://github.com/rthalley/dnspython/commit/f12d398a6991dfaad94d7fefaf7e2f55d1fda3cb"><code>f12d398</code></a> 2.6.1 version prep</li>
<li><a href="https://github.com/rthalley/dnspython/commit/cecb8534f61de16aaa1a1a84eaaeb14dfdf67448"><code>cecb853</code></a> Further improve CVE fix coverage to 100% for sync and async.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/7952e311d47f6b34f5dc050681001fd34ab60d01"><code>7952e31</code></a> test IgnoreErrors</li>
<li><a href="https://github.com/rthalley/dnspython/commit/e093299a49967696b1c58b68e4767de5031a3e46"><code>e093299</code></a> For the Tudoor fix, we also need the UDP nameserver to ignore_unexpected.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/3af9f78142084fff8523bc96b5f8cfd2b909dc18"><code>3af9f78</code></a> 2.6.0 versioning</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ca63d95143e81975fc3fff4dff87b366dc661371"><code>ca63d95</code></a> Require cryptography &gt;=41 instead of 42.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/902cbf3fcb11ddfd8625b4a071fe9f592f6fc753"><code>902cbf3</code></a> Create CODE_OF_CONDUCT.md</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ed9795fa9b39c4a12f5a1a9e0eeea4240d1efb07"><code>ed9795f</code></a> github contributing and pull request template</li>
<li>Additional commits viewable in <a href="https://github.com/rthalley/dnspython/compare/v1.16.0...v2.6.1">compare view</a></li>
</ul>
</details>
<br />

Updates `dnspython` from 1.16.0 to 2.6.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/releases">dnspython's releases</a>.</em></p>
<blockquote>
<h2>dnspython 2.6.1</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This is a bug fix release for 2.6.0 where the &quot;TuDoor&quot; fix erroneously
suppressed legitimate Truncated exceptions.  This caused the stub
resolver to timeout instead of failing over to TCP when a legitimate
truncated response was received over UDP.</p>
<p>This release addresses the potential DoS issue discussed in the
&quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is
vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a
legitimate one on the UDP port dnspython is using for that query.  In
this situation, dnspython might switch to querying another resolver or
give up entirely, possibly denying service for that resolution.  This
release addresses the issue by adopting the recommended mitigation,
which is ignoring the bad packets and continuing to listen for a
legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual,
thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian
Wellington.</p>
<h2>dnspython 2.6.0</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This release addresses the potential DoS issue discussed in the &quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the right address and port forged by an attacker arrives before a legitimate one on the UDP port dnspython is using for that query.  In this situation, dnspython might switch to querying another resolver or give up entirely, possibly denying service for that resolution.  This release addresses the issue by adopting the recommended mitigation, which is ignoring the bad packets and continuing to listen for a legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.5.0</h2>
<p>See the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page for a summary of this release.</p>
<p>Thanks to all the contributors, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.4.2</h2>
<p>This is a bug fix release, see the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page in the documentation for a summary.</p>
<p>Thanks to the people who reported the bugs and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/blob/main/doc/whatsnew.rst">dnspython's changelog</a>.</em></p>
<blockquote>
<h2>2.6.1</h2>
<ul>
<li>The Tudoor fix ate legitimate Truncated exceptions, preventing the resolver from
failing over to TCP and causing the query to timeout <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a>.</li>
</ul>
<h2>2.6.0</h2>
<ul>
<li>
<p>As mentioned in the &quot;TuDoor&quot; paper and the associated CVE-2023-29483, the dnspython
stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a legitimate one on the
UDP port dnspython is using for that query.</p>
<p>This release addresses the issue by adopting the recommended mitigation, which is
ignoring the bad packets and continuing to listen for a legitimate response until
the timeout for the query has expired.</p>
</li>
<li>
<p>Added support for the NSID EDNS option.</p>
</li>
<li>
<p>Dnspython now looks for version metadata for optional packages and will not
use them if they are too old.  This prevents possible exceptions when a
feature like DoH is not desired in dnspython, but an old httpx is installed
along with dnspython for some other purpose.</p>
</li>
<li>
<p>The DoHNameserver class now allows GET to be used instead of the default POST,
and also passes source and source_port correctly to the underlying query
methods.</p>
</li>
</ul>
<h2>2.5.0</h2>
<ul>
<li>
<p>Dnspython now uses hatchling for builds.</p>
</li>
<li>
<p>Asynchronous destinationless sockets now work on Windows.</p>
</li>
<li>
<p>Cython is no longer supported due to various typing issues.</p>
</li>
<li>
<p>Dnspython now explicitly canonicalizes IPv4 and IPv6 addresses.
Previously it was possible for non-canonical IPv6 forms to be stored
in a AAAA address, which would work correctly but possibly cause
problmes if the address were used as a key in a dictionary.</p>
</li>
<li>
<p>The number of messages in a section can be retrieved with
section_count().</p>
</li>
<li>
<p>Truncation preferences for messages can be specified.</p>
</li>
<li>
<p>The length of a message can be automatically prepended when
rendering.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/rthalley/dnspython/commit/0a742b9658977175663dc30da902342a8c2bacac"><code>0a742b9</code></a> update CI</li>
<li><a href="https://github.com/rthalley/dnspython/commit/0ea5ad0a4583e1f519b9bcc67cfac381230d9cf2"><code>0ea5ad0</code></a> The Tudoor fix should not eat valid Truncated exceptions <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a> (<a href="https://redirect.github.com/rthalley/dnspython/issues/1054">#1054</a>)</li>
<li><a href="https://github.com/rthalley/dnspython/commit/f12d398a6991dfaad94d7fefaf7e2f55d1fda3cb"><code>f12d398</code></a> 2.6.1 version prep</li>
<li><a href="https://github.com/rthalley/dnspython/commit/cecb8534f61de16aaa1a1a84eaaeb14dfdf67448"><code>cecb853</code></a> Further improve CVE fix coverage to 100% for sync and async.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/7952e311d47f6b34f5dc050681001fd34ab60d01"><code>7952e31</code></a> test IgnoreErrors</li>
<li><a href="https://github.com/rthalley/dnspython/commit/e093299a49967696b1c58b68e4767de5031a3e46"><code>e093299</code></a> For the Tudoor fix, we also need the UDP nameserver to ignore_unexpected.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/3af9f78142084fff8523bc96b5f8cfd2b909dc18"><code>3af9f78</code></a> 2.6.0 versioning</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ca63d95143e81975fc3fff4dff87b366dc661371"><code>ca63d95</code></a> Require cryptography &gt;=41 instead of 42.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/902cbf3fcb11ddfd8625b4a071fe9f592f6fc753"><code>902cbf3</code></a> Create CODE_OF_CONDUCT.md</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ed9795fa9b39c4a12f5a1a9e0eeea4240d1efb07"><code>ed9795f</code></a> github contributing and pull request template</li>
<li>Additional commits viewable in <a href="https://github.com/rthalley/dnspython/compare/v1.16.0...v2.6.1">compare view</a></li>
</ul>
</details>
<br />

Updates `dnspython` from 1.16.0 to 2.6.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/releases">dnspython's releases</a>.</em></p>
<blockquote>
<h2>dnspython 2.6.1</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This is a bug fix release for 2.6.0 where the &quot;TuDoor&quot; fix erroneously
suppressed legitimate Truncated exceptions.  This caused the stub
resolver to timeout instead of failing over to TCP when a legitimate
truncated response was received over UDP.</p>
<p>This release addresses the potential DoS issue discussed in the
&quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is
vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a
legitimate one on the UDP port dnspython is using for that query.  In
this situation, dnspython might switch to querying another resolver or
give up entirely, possibly denying service for that resolution.  This
release addresses the issue by adopting the recommended mitigation,
which is ignoring the bad packets and continuing to listen for a
legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual,
thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian
Wellington.</p>
<h2>dnspython 2.6.0</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This release addresses the potential DoS issue discussed in the &quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the right address and port forged by an attacker arrives before a legitimate one on the UDP port dnspython is using for that query.  In this situation, dnspython might switch to querying another resolver or give up entirely, possibly denying service for that resolution.  This release addresses the issue by adopting the recommended mitigation, which is ignoring the bad packets and continuing to listen for a legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.5.0</h2>
<p>See the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page for a summary of this release.</p>
<p>Thanks to all the contributors, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.4.2</h2>
<p>This is a bug fix release, see the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page in the documentation for a summary.</p>
<p>Thanks to the people who reported the bugs and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/blob/main/doc/whatsnew.rst">dnspython's changelog</a>.</em></p>
<blockquote>
<h2>2.6.1</h2>
<ul>
<li>The Tudoor fix ate legitimate Truncated exceptions, preventing the resolver from
failing over to TCP and causing the query to timeout <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a>.</li>
</ul>
<h2>2.6.0</h2>
<ul>
<li>
<p>As mentioned in the &quot;TuDoor&quot; paper and the associated CVE-2023-29483, the dnspython
stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a legitimate one on the
UDP port dnspython is using for that query.</p>
<p>This release addresses the issue by adopting the recommended mitigation, which is
ignoring the bad packets and continuing to listen for a legitimate response until
the timeout for the query has expired.</p>
</li>
<li>
<p>Added support for the NSID EDNS option.</p>
</li>
<li>
<p>Dnspython now looks for version metadata for optional packages and will not
use them if they are too old.  This prevents possible exceptions when a
feature like DoH is not desired in dnspython, but an old httpx is installed
along with dnspython for some other purpose.</p>
</li>
<li>
<p>The DoHNameserver class now allows GET to be used instead of the default POST,
and also passes source and source_port correctly to the underlying query
methods.</p>
</li>
</ul>
<h2>2.5.0</h2>
<ul>
<li>
<p>Dnspython now uses hatchling for builds.</p>
</li>
<li>
<p>Asynchronous destinationless sockets now work on Windows.</p>
</li>
<li>
<p>Cython is no longer supported due to various typing issues.</p>
</li>
<li>
<p>Dnspython now explicitly canonicalizes IPv4 and IPv6 addresses.
Previously it was possible for non-canonical IPv6 forms to be stored
in a AAAA address, which would work correctly but possibly cause
problmes if the address were used as a key in a dictionary.</p>
</li>
<li>
<p>The number of messages in a section can be retrieved with
section_count().</p>
</li>
<li>
<p>Truncation preferences for messages can be specified.</p>
</li>
<li>
<p>The length of a message can be automatically prepended when
rendering.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/rthalley/dnspython/commit/0a742b9658977175663dc30da902342a8c2bacac"><code>0a742b9</code></a> update CI</li>
<li><a href="https://github.com/rthalley/dnspython/commit/0ea5ad0a4583e1f519b9bcc67cfac381230d9cf2"><code>0ea5ad0</code></a> The Tudoor fix should not eat valid Truncated exceptions <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a> (<a href="https://redirect.github.com/rthalley/dnspython/issues/1054">#1054</a>)</li>
<li><a href="https://github.com/rthalley/dnspython/commit/f12d398a6991dfaad94d7fefaf7e2f55d1fda3cb"><code>f12d398</code></a> 2.6.1 version prep</li>
<li><a href="https://github.com/rthalley/dnspython/commit/cecb8534f61de16aaa1a1a84eaaeb14dfdf67448"><code>cecb853</code></a> Further improve CVE fix coverage to 100% for sync and async.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/7952e311d47f6b34f5dc050681001fd34ab60d01"><code>7952e31</code></a> test IgnoreErrors</li>
<li><a href="https://github.com/rthalley/dnspython/commit/e093299a49967696b1c58b68e4767de5031a3e46"><code>e093299</code></a> For the Tudoor fix, we also need the UDP nameserver to ignore_unexpected.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/3af9f78142084fff8523bc96b5f8cfd2b909dc18"><code>3af9f78</code></a> 2.6.0 versioning</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ca63d95143e81975fc3fff4dff87b366dc661371"><code>ca63d95</code></a> Require cryptography &gt;=41 instead of 42.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/902cbf3fcb11ddfd8625b4a071fe9f592f6fc753"><code>902cbf3</code></a> Create CODE_OF_CONDUCT.md</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ed9795fa9b39c4a12f5a1a9e0eeea4240d1efb07"><code>ed9795f</code></a> github contributing and pull request template</li>
<li>Additional commits viewable in <a href="https://github.com/rthalley/dnspython/compare/v1.16.0...v2.6.1">compare view</a></li>
</ul>
</details>
<br />

Updates `dnspython` from 1.16.0 to 2.6.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/releases">dnspython's releases</a>.</em></p>
<blockquote>
<h2>dnspython 2.6.1</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This is a bug fix release for 2.6.0 where the &quot;TuDoor&quot; fix erroneously
suppressed legitimate Truncated exceptions.  This caused the stub
resolver to timeout instead of failing over to TCP when a legitimate
truncated response was received over UDP.</p>
<p>This release addresses the potential DoS issue discussed in the
&quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is
vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a
legitimate one on the UDP port dnspython is using for that query.  In
this situation, dnspython might switch to querying another resolver or
give up entirely, possibly denying service for that resolution.  This
release addresses the issue by adopting the recommended mitigation,
which is ignoring the bad packets and continuing to listen for a
legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual,
thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian
Wellington.</p>
<h2>dnspython 2.6.0</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This release addresses the potential DoS issue discussed in the &quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the right address and port forged by an attacker arrives before a legitimate one on the UDP port dnspython is using for that query.  In this situation, dnspython might switch to querying another resolver or give up entirely, possibly denying service for that resolution.  This release addresses the issue by adopting the recommended mitigation, which is ignoring the bad packets and continuing to listen for a legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.5.0</h2>
<p>See the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page for a summary of this release.</p>
<p>Thanks to all the contributors, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.4.2</h2>
<p>This is a bug fix release, see the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page in the documentation for a summary.</p>
<p>Thanks to the people who reported the bugs and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/blob/main/doc/whatsnew.rst">dnspython's changelog</a>.</em></p>
<blockquote>
<h2>2.6.1</h2>
<ul>
<li>The Tudoor fix ate legitimate Truncated exceptions, preventing the resolver from
failing over to TCP and causing the query to timeout <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a>.</li>
</ul>
<h2>2.6.0</h2>
<ul>
<li>
<p>As mentioned in the &quot;TuDoor&quot; paper and the associated CVE-2023-29483, the dnspython
stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a legitimate one on the
UDP port dnspython is using for that query.</p>
<p>This release addresses the issue by adopting the recommended mitigation, which is
ignoring the bad packets and continuing to listen for a legitimate response until
the timeout for the query has expired.</p>
</li>
<li>
<p>Added support for the NSID EDNS option.</p>
</li>
<li>
<p>Dnspython now looks for version metadata for optional packages and will not
use them if they are too old.  This prevents possible exceptions when a
feature like DoH is not desired in dnspython, but an old httpx is installed
along with dnspython for some other purpose.</p>
</li>
<li>
<p>The DoHNameserver class now allows GET to be used instead of the default POST,
and also passes source and source_port correctly to the underlying query
methods.</p>
</li>
</ul>
<h2>2.5.0</h2>
<ul>
<li>
<p>Dnspython now uses hatchling for builds.</p>
</li>
<li>
<p>Asynchronous destinationless sockets now work on Windows.</p>
</li>
<li>
<p>Cython is no longer supported due to various typing issues.</p>
</li>
<li>
<p>Dnspython now explicitly canonicalizes IPv4 and IPv6 addresses.
Previously it was possible for non-canonical IPv6 forms to be stored
in a AAAA address, which would work correctly but possibly cause
problmes if the address were used as a key in a dictionary.</p>
</li>
<li>
<p>The number of messages in a section can be retrieved with
section_count().</p>
</li>
<li>
<p>Truncation preferences for messages can be specified.</p>
</li>
<li>
<p>The length of a message can be automatically prepended when
rendering.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/rthalley/dnspython/commit/0a742b9658977175663dc30da902342a8c2bacac"><code>0a742b9</code></a> update CI</li>
<li><a href="https://github.com/rthalley/dnspython/commit/0ea5ad0a4583e1f519b9bcc67cfac381230d9cf2"><code>0ea5ad0</code></a> The Tudoor fix should not eat valid Truncated exceptions <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a> (<a href="https://redirect.github.com/rthalley/dnspython/issues/1054">#1054</a>)</li>
<li><a href="https://github.com/rthalley/dnspython/commit/f12d398a6991dfaad94d7fefaf7e2f55d1fda3cb"><code>f12d398</code></a> 2.6.1 version prep</li>
<li><a href="https://github.com/rthalley/dnspython/commit/cecb8534f61de16aaa1a1a84eaaeb14dfdf67448"><code>cecb853</code></a> Further improve CVE fix coverage to 100% for sync and async.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/7952e311d47f6b34f5dc050681001fd34ab60d01"><code>7952e31</code></a> test IgnoreErrors</li>
<li><a href="https://github.com/rthalley/dnspython/commit/e093299a49967696b1c58b68e4767de5031a3e46"><code>e093299</code></a> For the Tudoor fix, we also need the UDP nameserver to ignore_unexpected.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/3af9f78142084fff8523bc96b5f8cfd2b909dc18"><code>3af9f78</code></a> 2.6.0 versioning</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ca63d95143e81975fc3fff4dff87b366dc661371"><code>ca63d95</code></a> Require cryptography &gt;=41 instead of 42.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/902cbf3fcb11ddfd8625b4a071fe9f592f6fc753"><code>902cbf3</code></a> Create CODE_OF_CONDUCT.md</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ed9795fa9b39c4a12f5a1a9e0eeea4240d1efb07"><code>ed9795f</code></a> github contributing and pull request template</li>
<li>Additional commits viewable in <a href="https://github.com/rthalley/dnspython/compare/v1.16.0...v2.6.1">compare view</a></li>
</ul>
</details>
<br />

Updates `dnspython` from 1.16.0 to 2.6.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/releases">dnspython's releases</a>.</em></p>
<blockquote>
<h2>dnspython 2.6.1</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This is a bug fix release for 2.6.0 where the &quot;TuDoor&quot; fix erroneously
suppressed legitimate Truncated exceptions.  This caused the stub
resolver to timeout instead of failing over to TCP when a legitimate
truncated response was received over UDP.</p>
<p>This release addresses the potential DoS issue discussed in the
&quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is
vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a
legitimate one on the UDP port dnspython is using for that query.  In
this situation, dnspython might switch to querying another resolver or
give up entirely, possibly denying service for that resolution.  This
release addresses the issue by adopting the recommended mitigation,
which is ignoring the bad packets and continuing to listen for a
legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual,
thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian
Wellington.</p>
<h2>dnspython 2.6.0</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This release addresses the potential DoS issue discussed in the &quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the right address and port forged by an attacker arrives before a legitimate one on the UDP port dnspython is using for that query.  In this situation, dnspython might switch to querying another resolver or give up entirely, possibly denying service for that resolution.  This release addresses the issue by adopting the recommended mitigation, which is ignoring the bad packets and continuing to listen for a legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.5.0</h2>
<p>See the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page for a summary of this release.</p>
<p>Thanks to all the contributors, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.4.2</h2>
<p>This is a bug fix release, see the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page in the documentation for a summary.</p>
<p>Thanks to the people who reported the bugs and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/blob/main/doc/whatsnew.rst">dnspython's changelog</a>.</em></p>
<blockquote>
<h2>2.6.1</h2>
<ul>
<li>The Tudoor fix ate legitimate Truncated exceptions, preventing the resolver from
failing over to TCP and causing the query to timeout <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a>.</li>
</ul>
<h2>2.6.0</h2>
<ul>
<li>
<p>As mentioned in the &quot;TuDoor&quot; paper and the associated CVE-2023-29483, the dnspython
stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a legitimate one on the
UDP port dnspython is using for that query.</p>
<p>This release addresses the issue by adopting the recommended mitigation, which is
ignoring the bad packets and continuing to listen for a legitimate response until
the timeout for the query has expired.</p>
</li>
<li>
<p>Added support for the NSID EDNS option.</p>
</li>
<li>
<p>Dnspython now looks for version metadata for optional packages and will not
use them if they are too old.  This prevents possible exceptions when a
feature like DoH is not desired in dnspython, but an old httpx is installed
along with dnspython for some other purpose.</p>
</li>
<li>
<p>The DoHNameserver class now allows GET to be used instead of the default POST,
and also passes source and source_port correctly to the underlying query
methods.</p>
</li>
</ul>
<h2>...

_Description has been truncated_
Update dnspython to 2.6.1 across 11 directories: Bumps the pip group with 1 update in the /front/admin_ui directory: [dnspython](https://github.com/rthalley/dnspython).
Bumps the pip group with 1 update in the /jobs/cache_maintenance directory: [dnspython](https://github.com/rthalley/dnspython).
Bumps the pip group with 1 update in the /jobs/mongodb_migration directory: [dnspython](https://github.com/rthalley/dnspython).
Bumps the pip group with 1 update in the /libs/libapi directory: [dnspython](https://github.com/rthalley/dnspython).
Bumps the pip group with 1 update in the /libs/libcommon directory: [dnspython](https://github.com/rthalley/dnspython).
Bumps the pip group with 1 update in the /services/admin directory: [dnspython](https://github.com/rthalley/dnspython).
Bumps the pip group with 1 update in the /services/api directory: [dnspython](https://github.com/rthalley/dnspython).
Bumps the pip group with 1 update in the /services/rows directory: [dnspython](https://github.com/rthalley/dnspython).
Bumps the pip group with 1 update in the /services/search directory: [dnspython](https://github.com/rthalley/dnspython).
Bumps the pip group with 1 update in the /services/sse-api directory: [dnspython](https://github.com/rthalley/dnspython).
Bumps the pip group with 1 update in the /services/worker directory: [dnspython](https://github.com/rthalley/dnspython).

Updates `dnspython` from 1.16.0 to 2.6.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/releases">dnspython's releases</a>.</em></p>
<blockquote>
<h2>dnspython 2.6.1</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This is a bug fix release for 2.6.0 where the &quot;TuDoor&quot; fix erroneously
suppressed legitimate Truncated exceptions.  This caused the stub
resolver to timeout instead of failing over to TCP when a legitimate
truncated response was received over UDP.</p>
<p>This release addresses the potential DoS issue discussed in the
&quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is
vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a
legitimate one on the UDP port dnspython is using for that query.  In
this situation, dnspython might switch to querying another resolver or
give up entirely, possibly denying service for that resolution.  This
release addresses the issue by adopting the recommended mitigation,
which is ignoring the bad packets and continuing to listen for a
legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual,
thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian
Wellington.</p>
<h2>dnspython 2.6.0</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This release addresses the potential DoS issue discussed in the &quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the right address and port forged by an attacker arrives before a legitimate one on the UDP port dnspython is using for that query.  In this situation, dnspython might switch to querying another resolver or give up entirely, possibly denying service for that resolution.  This release addresses the issue by adopting the recommended mitigation, which is ignoring the bad packets and continuing to listen for a legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.5.0</h2>
<p>See the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page for a summary of this release.</p>
<p>Thanks to all the contributors, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.4.2</h2>
<p>This is a bug fix release, see the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page in the documentation for a summary.</p>
<p>Thanks to the people who reported the bugs and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/blob/main/doc/whatsnew.rst">dnspython's changelog</a>.</em></p>
<blockquote>
<h2>2.6.1</h2>
<ul>
<li>The Tudoor fix ate legitimate Truncated exceptions, preventing the resolver from
failing over to TCP and causing the query to timeout <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a>.</li>
</ul>
<h2>2.6.0</h2>
<ul>
<li>
<p>As mentioned in the &quot;TuDoor&quot; paper and the associated CVE-2023-29483, the dnspython
stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a legitimate one on the
UDP port dnspython is using for that query.</p>
<p>This release addresses the issue by adopting the recommended mitigation, which is
ignoring the bad packets and continuing to listen for a legitimate response until
the timeout for the query has expired.</p>
</li>
<li>
<p>Added support for the NSID EDNS option.</p>
</li>
<li>
<p>Dnspython now looks for version metadata for optional packages and will not
use them if they are too old.  This prevents possible exceptions when a
feature like DoH is not desired in dnspython, but an old httpx is installed
along with dnspython for some other purpose.</p>
</li>
<li>
<p>The DoHNameserver class now allows GET to be used instead of the default POST,
and also passes source and source_port correctly to the underlying query
methods.</p>
</li>
</ul>
<h2>2.5.0</h2>
<ul>
<li>
<p>Dnspython now uses hatchling for builds.</p>
</li>
<li>
<p>Asynchronous destinationless sockets now work on Windows.</p>
</li>
<li>
<p>Cython is no longer supported due to various typing issues.</p>
</li>
<li>
<p>Dnspython now explicitly canonicalizes IPv4 and IPv6 addresses.
Previously it was possible for non-canonical IPv6 forms to be stored
in a AAAA address, which would work correctly but possibly cause
problmes if the address were used as a key in a dictionary.</p>
</li>
<li>
<p>The number of messages in a section can be retrieved with
section_count().</p>
</li>
<li>
<p>Truncation preferences for messages can be specified.</p>
</li>
<li>
<p>The length of a message can be automatically prepended when
rendering.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/rthalley/dnspython/commit/0a742b9658977175663dc30da902342a8c2bacac"><code>0a742b9</code></a> update CI</li>
<li><a href="https://github.com/rthalley/dnspython/commit/0ea5ad0a4583e1f519b9bcc67cfac381230d9cf2"><code>0ea5ad0</code></a> The Tudoor fix should not eat valid Truncated exceptions <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a> (<a href="https://redirect.github.com/rthalley/dnspython/issues/1054">#1054</a>)</li>
<li><a href="https://github.com/rthalley/dnspython/commit/f12d398a6991dfaad94d7fefaf7e2f55d1fda3cb"><code>f12d398</code></a> 2.6.1 version prep</li>
<li><a href="https://github.com/rthalley/dnspython/commit/cecb8534f61de16aaa1a1a84eaaeb14dfdf67448"><code>cecb853</code></a> Further improve CVE fix coverage to 100% for sync and async.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/7952e311d47f6b34f5dc050681001fd34ab60d01"><code>7952e31</code></a> test IgnoreErrors</li>
<li><a href="https://github.com/rthalley/dnspython/commit/e093299a49967696b1c58b68e4767de5031a3e46"><code>e093299</code></a> For the Tudoor fix, we also need the UDP nameserver to ignore_unexpected.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/3af9f78142084fff8523bc96b5f8cfd2b909dc18"><code>3af9f78</code></a> 2.6.0 versioning</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ca63d95143e81975fc3fff4dff87b366dc661371"><code>ca63d95</code></a> Require cryptography &gt;=41 instead of 42.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/902cbf3fcb11ddfd8625b4a071fe9f592f6fc753"><code>902cbf3</code></a> Create CODE_OF_CONDUCT.md</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ed9795fa9b39c4a12f5a1a9e0eeea4240d1efb07"><code>ed9795f</code></a> github contributing and pull request template</li>
<li>Additional commits viewable in <a href="https://github.com/rthalley/dnspython/compare/v1.16.0...v2.6.1">compare view</a></li>
</ul>
</details>
<br />

Updates `dnspython` from 1.16.0 to 2.6.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/releases">dnspython's releases</a>.</em></p>
<blockquote>
<h2>dnspython 2.6.1</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This is a bug fix release for 2.6.0 where the &quot;TuDoor&quot; fix erroneously
suppressed legitimate Truncated exceptions.  This caused the stub
resolver to timeout instead of failing over to TCP when a legitimate
truncated response was received over UDP.</p>
<p>This release addresses the potential DoS issue discussed in the
&quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is
vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a
legitimate one on the UDP port dnspython is using for that query.  In
this situation, dnspython might switch to querying another resolver or
give up entirely, possibly denying service for that resolution.  This
release addresses the issue by adopting the recommended mitigation,
which is ignoring the bad packets and continuing to listen for a
legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual,
thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian
Wellington.</p>
<h2>dnspython 2.6.0</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This release addresses the potential DoS issue discussed in the &quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the right address and port forged by an attacker arrives before a legitimate one on the UDP port dnspython is using for that query.  In this situation, dnspython might switch to querying another resolver or give up entirely, possibly denying service for that resolution.  This release addresses the issue by adopting the recommended mitigation, which is ignoring the bad packets and continuing to listen for a legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.5.0</h2>
<p>See the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page for a summary of this release.</p>
<p>Thanks to all the contributors, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.4.2</h2>
<p>This is a bug fix release, see the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page in the documentation for a summary.</p>
<p>Thanks to the people who reported the bugs and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/blob/main/doc/whatsnew.rst">dnspython's changelog</a>.</em></p>
<blockquote>
<h2>2.6.1</h2>
<ul>
<li>The Tudoor fix ate legitimate Truncated exceptions, preventing the resolver from
failing over to TCP and causing the query to timeout <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a>.</li>
</ul>
<h2>2.6.0</h2>
<ul>
<li>
<p>As mentioned in the &quot;TuDoor&quot; paper and the associated CVE-2023-29483, the dnspython
stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a legitimate one on the
UDP port dnspython is using for that query.</p>
<p>This release addresses the issue by adopting the recommended mitigation, which is
ignoring the bad packets and continuing to listen for a legitimate response until
the timeout for the query has expired.</p>
</li>
<li>
<p>Added support for the NSID EDNS option.</p>
</li>
<li>
<p>Dnspython now looks for version metadata for optional packages and will not
use them if they are too old.  This prevents possible exceptions when a
feature like DoH is not desired in dnspython, but an old httpx is installed
along with dnspython for some other purpose.</p>
</li>
<li>
<p>The DoHNameserver class now allows GET to be used instead of the default POST,
and also passes source and source_port correctly to the underlying query
methods.</p>
</li>
</ul>
<h2>2.5.0</h2>
<ul>
<li>
<p>Dnspython now uses hatchling for builds.</p>
</li>
<li>
<p>Asynchronous destinationless sockets now work on Windows.</p>
</li>
<li>
<p>Cython is no longer supported due to various typing issues.</p>
</li>
<li>
<p>Dnspython now explicitly canonicalizes IPv4 and IPv6 addresses.
Previously it was possible for non-canonical IPv6 forms to be stored
in a AAAA address, which would work correctly but possibly cause
problmes if the address were used as a key in a dictionary.</p>
</li>
<li>
<p>The number of messages in a section can be retrieved with
section_count().</p>
</li>
<li>
<p>Truncation preferences for messages can be specified.</p>
</li>
<li>
<p>The length of a message can be automatically prepended when
rendering.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/rthalley/dnspython/commit/0a742b9658977175663dc30da902342a8c2bacac"><code>0a742b9</code></a> update CI</li>
<li><a href="https://github.com/rthalley/dnspython/commit/0ea5ad0a4583e1f519b9bcc67cfac381230d9cf2"><code>0ea5ad0</code></a> The Tudoor fix should not eat valid Truncated exceptions <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a> (<a href="https://redirect.github.com/rthalley/dnspython/issues/1054">#1054</a>)</li>
<li><a href="https://github.com/rthalley/dnspython/commit/f12d398a6991dfaad94d7fefaf7e2f55d1fda3cb"><code>f12d398</code></a> 2.6.1 version prep</li>
<li><a href="https://github.com/rthalley/dnspython/commit/cecb8534f61de16aaa1a1a84eaaeb14dfdf67448"><code>cecb853</code></a> Further improve CVE fix coverage to 100% for sync and async.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/7952e311d47f6b34f5dc050681001fd34ab60d01"><code>7952e31</code></a> test IgnoreErrors</li>
<li><a href="https://github.com/rthalley/dnspython/commit/e093299a49967696b1c58b68e4767de5031a3e46"><code>e093299</code></a> For the Tudoor fix, we also need the UDP nameserver to ignore_unexpected.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/3af9f78142084fff8523bc96b5f8cfd2b909dc18"><code>3af9f78</code></a> 2.6.0 versioning</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ca63d95143e81975fc3fff4dff87b366dc661371"><code>ca63d95</code></a> Require cryptography &gt;=41 instead of 42.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/902cbf3fcb11ddfd8625b4a071fe9f592f6fc753"><code>902cbf3</code></a> Create CODE_OF_CONDUCT.md</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ed9795fa9b39c4a12f5a1a9e0eeea4240d1efb07"><code>ed9795f</code></a> github contributing and pull request template</li>
<li>Additional commits viewable in <a href="https://github.com/rthalley/dnspython/compare/v1.16.0...v2.6.1">compare view</a></li>
</ul>
</details>
<br />

Updates `dnspython` from 1.16.0 to 2.6.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/releases">dnspython's releases</a>.</em></p>
<blockquote>
<h2>dnspython 2.6.1</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This is a bug fix release for 2.6.0 where the &quot;TuDoor&quot; fix erroneously
suppressed legitimate Truncated exceptions.  This caused the stub
resolver to timeout instead of failing over to TCP when a legitimate
truncated response was received over UDP.</p>
<p>This release addresses the potential DoS issue discussed in the
&quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is
vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a
legitimate one on the UDP port dnspython is using for that query.  In
this situation, dnspython might switch to querying another resolver or
give up entirely, possibly denying service for that resolution.  This
release addresses the issue by adopting the recommended mitigation,
which is ignoring the bad packets and continuing to listen for a
legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual,
thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian
Wellington.</p>
<h2>dnspython 2.6.0</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This release addresses the potential DoS issue discussed in the &quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the right address and port forged by an attacker arrives before a legitimate one on the UDP port dnspython is using for that query.  In this situation, dnspython might switch to querying another resolver or give up entirely, possibly denying service for that resolution.  This release addresses the issue by adopting the recommended mitigation, which is ignoring the bad packets and continuing to listen for a legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.5.0</h2>
<p>See the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page for a summary of this release.</p>
<p>Thanks to all the contributors, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.4.2</h2>
<p>This is a bug fix release, see the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page in the documentation for a summary.</p>
<p>Thanks to the people who reported the bugs and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/blob/main/doc/whatsnew.rst">dnspython's changelog</a>.</em></p>
<blockquote>
<h2>2.6.1</h2>
<ul>
<li>The Tudoor fix ate legitimate Truncated exceptions, preventing the resolver from
failing over to TCP and causing the query to timeout <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a>.</li>
</ul>
<h2>2.6.0</h2>
<ul>
<li>
<p>As mentioned in the &quot;TuDoor&quot; paper and the associated CVE-2023-29483, the dnspython
stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a legitimate one on the
UDP port dnspython is using for that query.</p>
<p>This release addresses the issue by adopting the recommended mitigation, which is
ignoring the bad packets and continuing to listen for a legitimate response until
the timeout for the query has expired.</p>
</li>
<li>
<p>Added support for the NSID EDNS option.</p>
</li>
<li>
<p>Dnspython now looks for version metadata for optional packages and will not
use them if they are too old.  This prevents possible exceptions when a
feature like DoH is not desired in dnspython, but an old httpx is installed
along with dnspython for some other purpose.</p>
</li>
<li>
<p>The DoHNameserver class now allows GET to be used instead of the default POST,
and also passes source and source_port correctly to the underlying query
methods.</p>
</li>
</ul>
<h2>2.5.0</h2>
<ul>
<li>
<p>Dnspython now uses hatchling for builds.</p>
</li>
<li>
<p>Asynchronous destinationless sockets now work on Windows.</p>
</li>
<li>
<p>Cython is no longer supported due to various typing issues.</p>
</li>
<li>
<p>Dnspython now explicitly canonicalizes IPv4 and IPv6 addresses.
Previously it was possible for non-canonical IPv6 forms to be stored
in a AAAA address, which would work correctly but possibly cause
problmes if the address were used as a key in a dictionary.</p>
</li>
<li>
<p>The number of messages in a section can be retrieved with
section_count().</p>
</li>
<li>
<p>Truncation preferences for messages can be specified.</p>
</li>
<li>
<p>The length of a message can be automatically prepended when
rendering.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/rthalley/dnspython/commit/0a742b9658977175663dc30da902342a8c2bacac"><code>0a742b9</code></a> update CI</li>
<li><a href="https://github.com/rthalley/dnspython/commit/0ea5ad0a4583e1f519b9bcc67cfac381230d9cf2"><code>0ea5ad0</code></a> The Tudoor fix should not eat valid Truncated exceptions <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a> (<a href="https://redirect.github.com/rthalley/dnspython/issues/1054">#1054</a>)</li>
<li><a href="https://github.com/rthalley/dnspython/commit/f12d398a6991dfaad94d7fefaf7e2f55d1fda3cb"><code>f12d398</code></a> 2.6.1 version prep</li>
<li><a href="https://github.com/rthalley/dnspython/commit/cecb8534f61de16aaa1a1a84eaaeb14dfdf67448"><code>cecb853</code></a> Further improve CVE fix coverage to 100% for sync and async.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/7952e311d47f6b34f5dc050681001fd34ab60d01"><code>7952e31</code></a> test IgnoreErrors</li>
<li><a href="https://github.com/rthalley/dnspython/commit/e093299a49967696b1c58b68e4767de5031a3e46"><code>e093299</code></a> For the Tudoor fix, we also need the UDP nameserver to ignore_unexpected.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/3af9f78142084fff8523bc96b5f8cfd2b909dc18"><code>3af9f78</code></a> 2.6.0 versioning</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ca63d95143e81975fc3fff4dff87b366dc661371"><code>ca63d95</code></a> Require cryptography &gt;=41 instead of 42.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/902cbf3fcb11ddfd8625b4a071fe9f592f6fc753"><code>902cbf3</code></a> Create CODE_OF_CONDUCT.md</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ed9795fa9b39c4a12f5a1a9e0eeea4240d1efb07"><code>ed9795f</code></a> github contributing and pull request template</li>
<li>Additional commits viewable in <a href="https://github.com/rthalley/dnspython/compare/v1.16.0...v2.6.1">compare view</a></li>
</ul>
</details>
<br />

Updates `dnspython` from 2.4.2 to 2.6.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/releases">dnspython's releases</a>.</em></p>
<blockquote>
<h2>dnspython 2.6.1</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This is a bug fix release for 2.6.0 where the &quot;TuDoor&quot; fix erroneously
suppressed legitimate Truncated exceptions.  This caused the stub
resolver to timeout instead of failing over to TCP when a legitimate
truncated response was received over UDP.</p>
<p>This release addresses the potential DoS issue discussed in the
&quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is
vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a
legitimate one on the UDP port dnspython is using for that query.  In
this situation, dnspython might switch to querying another resolver or
give up entirely, possibly denying service for that resolution.  This
release addresses the issue by adopting the recommended mitigation,
which is ignoring the bad packets and continuing to listen for a
legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual,
thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian
Wellington.</p>
<h2>dnspython 2.6.0</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This release addresses the potential DoS issue discussed in the &quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the right address and port forged by an attacker arrives before a legitimate one on the UDP port dnspython is using for that query.  In this situation, dnspython might switch to querying another resolver or give up entirely, possibly denying service for that resolution.  This release addresses the issue by adopting the recommended mitigation, which is ignoring the bad packets and continuing to listen for a legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.5.0</h2>
<p>See the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page for a summary of this release.</p>
<p>Thanks to all the contributors, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.4.2</h2>
<p>This is a bug fix release, see the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page in the documentation for a summary.</p>
<p>Thanks to the people who reported the bugs and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/blob/main/doc/whatsnew.rst">dnspython's changelog</a>.</em></p>
<blockquote>
<h2>2.6.1</h2>
<ul>
<li>The Tudoor fix ate legitimate Truncated exceptions, preventing the resolver from
failing over to TCP and causing the query to timeout <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a>.</li>
</ul>
<h2>2.6.0</h2>
<ul>
<li>
<p>As mentioned in the &quot;TuDoor&quot; paper and the associated CVE-2023-29483, the dnspython
stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a legitimate one on the
UDP port dnspython is using for that query.</p>
<p>This release addresses the issue by adopting the recommended mitigation, which is
ignoring the bad packets and continuing to listen for a legitimate response until
the timeout for the query has expired.</p>
</li>
<li>
<p>Added support for the NSID EDNS option.</p>
</li>
<li>
<p>Dnspython now looks for version metadata for optional packages and will not
use them if they are too old.  This prevents possible exceptions when a
feature like DoH is not desired in dnspython, but an old httpx is installed
along with dnspython for some other purpose.</p>
</li>
<li>
<p>The DoHNameserver class now allows GET to be used instead of the default POST,
and also passes source and source_port correctly to the underlying query
methods.</p>
</li>
</ul>
<h2>2.5.0</h2>
<ul>
<li>
<p>Dnspython now uses hatchling for builds.</p>
</li>
<li>
<p>Asynchronous destinationless sockets now work on Windows.</p>
</li>
<li>
<p>Cython is no longer supported due to various typing issues.</p>
</li>
<li>
<p>Dnspython now explicitly canonicalizes IPv4 and IPv6 addresses.
Previously it was possible for non-canonical IPv6 forms to be stored
in a AAAA address, which would work correctly but possibly cause
problmes if the address were used as a key in a dictionary.</p>
</li>
<li>
<p>The number of messages in a section can be retrieved with
section_count().</p>
</li>
<li>
<p>Truncation preferences for messages can be specified.</p>
</li>
<li>
<p>The length of a message can be automatically prepended when
rendering.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/rthalley/dnspython/commit/0a742b9658977175663dc30da902342a8c2bacac"><code>0a742b9</code></a> update CI</li>
<li><a href="https://github.com/rthalley/dnspython/commit/0ea5ad0a4583e1f519b9bcc67cfac381230d9cf2"><code>0ea5ad0</code></a> The Tudoor fix should not eat valid Truncated exceptions <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a> (<a href="https://redirect.github.com/rthalley/dnspython/issues/1054">#1054</a>)</li>
<li><a href="https://github.com/rthalley/dnspython/commit/f12d398a6991dfaad94d7fefaf7e2f55d1fda3cb"><code>f12d398</code></a> 2.6.1 version prep</li>
<li><a href="https://github.com/rthalley/dnspython/commit/cecb8534f61de16aaa1a1a84eaaeb14dfdf67448"><code>cecb853</code></a> Further improve CVE fix coverage to 100% for sync and async.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/7952e311d47f6b34f5dc050681001fd34ab60d01"><code>7952e31</code></a> test IgnoreErrors</li>
<li><a href="https://github.com/rthalley/dnspython/commit/e093299a49967696b1c58b68e4767de5031a3e46"><code>e093299</code></a> For the Tudoor fix, we also need the UDP nameserver to ignore_unexpected.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/3af9f78142084fff8523bc96b5f8cfd2b909dc18"><code>3af9f78</code></a> 2.6.0 versioning</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ca63d95143e81975fc3fff4dff87b366dc661371"><code>ca63d95</code></a> Require cryptography &gt;=41 instead of 42.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/902cbf3fcb11ddfd8625b4a071fe9f592f6fc753"><code>902cbf3</code></a> Create CODE_OF_CONDUCT.md</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ed9795fa9b39c4a12f5a1a9e0eeea4240d1efb07"><code>ed9795f</code></a> github contributing and pull request template</li>
<li>Additional commits viewable in <a href="https://github.com/rthalley/dnspython/compare/v1.16.0...v2.6.1">compare view</a></li>
</ul>
</details>
<br />

Updates `dnspython` from 1.16.0 to 2.6.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/releases">dnspython's releases</a>.</em></p>
<blockquote>
<h2>dnspython 2.6.1</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This is a bug fix release for 2.6.0 where the &quot;TuDoor&quot; fix erroneously
suppressed legitimate Truncated exceptions.  This caused the stub
resolver to timeout instead of failing over to TCP when a legitimate
truncated response was received over UDP.</p>
<p>This release addresses the potential DoS issue discussed in the
&quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is
vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a
legitimate one on the UDP port dnspython is using for that query.  In
this situation, dnspython might switch to querying another resolver or
give up entirely, possibly denying service for that resolution.  This
release addresses the issue by adopting the recommended mitigation,
which is ignoring the bad packets and continuing to listen for a
legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual,
thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian
Wellington.</p>
<h2>dnspython 2.6.0</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This release addresses the potential DoS issue discussed in the &quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the right address and port forged by an attacker arrives before a legitimate one on the UDP port dnspython is using for that query.  In this situation, dnspython might switch to querying another resolver or give up entirely, possibly denying service for that resolution.  This release addresses the issue by adopting the recommended mitigation, which is ignoring the bad packets and continuing to listen for a legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.5.0</h2>
<p>See the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page for a summary of this release.</p>
<p>Thanks to all the contributors, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.4.2</h2>
<p>This is a bug fix release, see the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page in the documentation for a summary.</p>
<p>Thanks to the people who reported the bugs and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/blob/main/doc/whatsnew.rst">dnspython's changelog</a>.</em></p>
<blockquote>
<h2>2.6.1</h2>
<ul>
<li>The Tudoor fix ate legitimate Truncated exceptions, preventing the resolver from
failing over to TCP and causing the query to timeout <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a>.</li>
</ul>
<h2>2.6.0</h2>
<ul>
<li>
<p>As mentioned in the &quot;TuDoor&quot; paper and the associated CVE-2023-29483, the dnspython
stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a legitimate one on the
UDP port dnspython is using for that query.</p>
<p>This release addresses the issue by adopting the recommended mitigation, which is
ignoring the bad packets and continuing to listen for a legitimate response until
the timeout for the query has expired.</p>
</li>
<li>
<p>Added support for the NSID EDNS option.</p>
</li>
<li>
<p>Dnspython now looks for version metadata for optional packages and will not
use them if they are too old.  This prevents possible exceptions when a
feature like DoH is not desired in dnspython, but an old httpx is installed
along with dnspython for some other purpose.</p>
</li>
<li>
<p>The DoHNameserver class now allows GET to be used instead of the default POST,
and also passes source and source_port correctly to the underlying query
methods.</p>
</li>
</ul>
<h2>2.5.0</h2>
<ul>
<li>
<p>Dnspython now uses hatchling for builds.</p>
</li>
<li>
<p>Asynchronous destinationless sockets now work on Windows.</p>
</li>
<li>
<p>Cython is no longer supported due to various typing issues.</p>
</li>
<li>
<p>Dnspython now explicitly canonicalizes IPv4 and IPv6 addresses.
Previously it was possible for non-canonical IPv6 forms to be stored
in a AAAA address, which would work correctly but possibly cause
problmes if the address were used as a key in a dictionary.</p>
</li>
<li>
<p>The number of messages in a section can be retrieved with
section_count().</p>
</li>
<li>
<p>Truncation preferences for messages can be specified.</p>
</li>
<li>
<p>The length of a message can be automatically prepended when
rendering.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/rthalley/dnspython/commit/0a742b9658977175663dc30da902342a8c2bacac"><code>0a742b9</code></a> update CI</li>
<li><a href="https://github.com/rthalley/dnspython/commit/0ea5ad0a4583e1f519b9bcc67cfac381230d9cf2"><code>0ea5ad0</code></a> The Tudoor fix should not eat valid Truncated exceptions <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a> (<a href="https://redirect.github.com/rthalley/dnspython/issues/1054">#1054</a>)</li>
<li><a href="https://github.com/rthalley/dnspython/commit/f12d398a6991dfaad94d7fefaf7e2f55d1fda3cb"><code>f12d398</code></a> 2.6.1 version prep</li>
<li><a href="https://github.com/rthalley/dnspython/commit/cecb8534f61de16aaa1a1a84eaaeb14dfdf67448"><code>cecb853</code></a> Further improve CVE fix coverage to 100% for sync and async.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/7952e311d47f6b34f5dc050681001fd34ab60d01"><code>7952e31</code></a> test IgnoreErrors</li>
<li><a href="https://github.com/rthalley/dnspython/commit/e093299a49967696b1c58b68e4767de5031a3e46"><code>e093299</code></a> For the Tudoor fix, we also need the UDP nameserver to ignore_unexpected.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/3af9f78142084fff8523bc96b5f8cfd2b909dc18"><code>3af9f78</code></a> 2.6.0 versioning</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ca63d95143e81975fc3fff4dff87b366dc661371"><code>ca63d95</code></a> Require cryptography &gt;=41 instead of 42.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/902cbf3fcb11ddfd8625b4a071fe9f592f6fc753"><code>902cbf3</code></a> Create CODE_OF_CONDUCT.md</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ed9795fa9b39c4a12f5a1a9e0eeea4240d1efb07"><code>ed9795f</code></a> github contributing and pull request template</li>
<li>Additional commits viewable in <a href="https://github.com/rthalley/dnspython/compare/v1.16.0...v2.6.1">compare view</a></li>
</ul>
</details>
<br />

Updates `dnspython` from 1.16.0 to 2.6.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/releases">dnspython's releases</a>.</em></p>
<blockquote>
<h2>dnspython 2.6.1</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This is a bug fix release for 2.6.0 where the &quot;TuDoor&quot; fix erroneously
suppressed legitimate Truncated exceptions.  This caused the stub
resolver to timeout instead of failing over to TCP when a legitimate
truncated response was received over UDP.</p>
<p>This release addresses the potential DoS issue discussed in the
&quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is
vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a
legitimate one on the UDP port dnspython is using for that query.  In
this situation, dnspython might switch to querying another resolver or
give up entirely, possibly denying service for that resolution.  This
release addresses the issue by adopting the recommended mitigation,
which is ignoring the bad packets and continuing to listen for a
legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual,
thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian
Wellington.</p>
<h2>dnspython 2.6.0</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This release addresses the potential DoS issue discussed in the &quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the right address and port forged by an attacker arrives before a legitimate one on the UDP port dnspython is using for that query.  In this situation, dnspython might switch to querying another resolver or give up entirely, possibly denying service for that resolution.  This release addresses the issue by adopting the recommended mitigation, which is ignoring the bad packets and continuing to listen for a legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.5.0</h2>
<p>See the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page for a summary of this release.</p>
<p>Thanks to all the contributors, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.4.2</h2>
<p>This is a bug fix release, see the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page in the documentation for a summary.</p>
<p>Thanks to the people who reported the bugs and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/blob/main/doc/whatsnew.rst">dnspython's changelog</a>.</em></p>
<blockquote>
<h2>2.6.1</h2>
<ul>
<li>The Tudoor fix ate legitimate Truncated exceptions, preventing the resolver from
failing over to TCP and causing the query to timeout <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a>.</li>
</ul>
<h2>2.6.0</h2>
<ul>
<li>
<p>As mentioned in the &quot;TuDoor&quot; paper and the associated CVE-2023-29483, the dnspython
stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a legitimate one on the
UDP port dnspython is using for that query.</p>
<p>This release addresses the issue by adopting the recommended mitigation, which is
ignoring the bad packets and continuing to listen for a legitimate response until
the timeout for the query has expired.</p>
</li>
<li>
<p>Added support for the NSID EDNS option.</p>
</li>
<li>
<p>Dnspython now looks for version metadata for optional packages and will not
use them if they are too old.  This prevents possible exceptions when a
feature like DoH is not desired in dnspython, but an old httpx is installed
along with dnspython for some other purpose.</p>
</li>
<li>
<p>The DoHNameserver class now allows GET to be used instead of the default POST,
and also passes source and source_port correctly to the underlying query
methods.</p>
</li>
</ul>
<h2>2.5.0</h2>
<ul>
<li>
<p>Dnspython now uses hatchling for builds.</p>
</li>
<li>
<p>Asynchronous destinationless sockets now work on Windows.</p>
</li>
<li>
<p>Cython is no longer supported due to various typing issues.</p>
</li>
<li>
<p>Dnspython now explicitly canonicalizes IPv4 and IPv6 addresses.
Previously it was possible for non-canonical IPv6 forms to be stored
in a AAAA address, which would work correctly but possibly cause
problmes if the address were used as a key in a dictionary.</p>
</li>
<li>
<p>The number of messages in a section can be retrieved with
section_count().</p>
</li>
<li>
<p>Truncation preferences for messages can be specified.</p>
</li>
<li>
<p>The length of a message can be automatically prepended when
rendering.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/rthalley/dnspython/commit/0a742b9658977175663dc30da902342a8c2bacac"><code>0a742b9</code></a> update CI</li>
<li><a href="https://github.com/rthalley/dnspython/commit/0ea5ad0a4583e1f519b9bcc67cfac381230d9cf2"><code>0ea5ad0</code></a> The Tudoor fix should not eat valid Truncated exceptions <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a> (<a href="https://redirect.github.com/rthalley/dnspython/issues/1054">#1054</a>)</li>
<li><a href="https://github.com/rthalley/dnspython/commit/f12d398a6991dfaad94d7fefaf7e2f55d1fda3cb"><code>f12d398</code></a> 2.6.1 version prep</li>
<li><a href="https://github.com/rthalley/dnspython/commit/cecb8534f61de16aaa1a1a84eaaeb14dfdf67448"><code>cecb853</code></a> Further improve CVE fix coverage to 100% for sync and async.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/7952e311d47f6b34f5dc050681001fd34ab60d01"><code>7952e31</code></a> test IgnoreErrors</li>
<li><a href="https://github.com/rthalley/dnspython/commit/e093299a49967696b1c58b68e4767de5031a3e46"><code>e093299</code></a> For the Tudoor fix, we also need the UDP nameserver to ignore_unexpected.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/3af9f78142084fff8523bc96b5f8cfd2b909dc18"><code>3af9f78</code></a> 2.6.0 versioning</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ca63d95143e81975fc3fff4dff87b366dc661371"><code>ca63d95</code></a> Require cryptography &gt;=41 instead of 42.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/902cbf3fcb11ddfd8625b4a071fe9f592f6fc753"><code>902cbf3</code></a> Create CODE_OF_CONDUCT.md</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ed9795fa9b39c4a12f5a1a9e0eeea4240d1efb07"><code>ed9795f</code></a> github contributing and pull request template</li>
<li>Additional commits viewable in <a href="https://github.com/rthalley/dnspython/compare/v1.16.0...v2.6.1">compare view</a></li>
</ul>
</details>
<br />

Updates `dnspython` from 1.16.0 to 2.6.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/releases">dnspython's releases</a>.</em></p>
<blockquote>
<h2>dnspython 2.6.1</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This is a bug fix release for 2.6.0 where the &quot;TuDoor&quot; fix erroneously
suppressed legitimate Truncated exceptions.  This caused the stub
resolver to timeout instead of failing over to TCP when a legitimate
truncated response was received over UDP.</p>
<p>This release addresses the potential DoS issue discussed in the
&quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is
vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a
legitimate one on the UDP port dnspython is using for that query.  In
this situation, dnspython might switch to querying another resolver or
give up entirely, possibly denying service for that resolution.  This
release addresses the issue by adopting the recommended mitigation,
which is ignoring the bad packets and continuing to listen for a
legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual,
thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian
Wellington.</p>
<h2>dnspython 2.6.0</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This release addresses the potential DoS issue discussed in the &quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the right address and port forged by an attacker arrives before a legitimate one on the UDP port dnspython is using for that query.  In this situation, dnspython might switch to querying another resolver or give up entirely, possibly denying service for that resolution.  This release addresses the issue by adopting the recommended mitigation, which is ignoring the bad packets and continuing to listen for a legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.5.0</h2>
<p>See the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page for a summary of this release.</p>
<p>Thanks to all the contributors, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.4.2</h2>
<p>This is a bug fix release, see the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page in the documentation for a summary.</p>
<p>Thanks to the people who reported the bugs and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/blob/main/doc/whatsnew.rst">dnspython's changelog</a>.</em></p>
<blockquote>
<h2>2.6.1</h2>
<ul>
<li>The Tudoor fix ate legitimate Truncated exceptions, preventing the resolver from
failing over to TCP and causing the query to timeout <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a>.</li>
</ul>
<h2>2.6.0</h2>
<ul>
<li>
<p>As mentioned in the &quot;TuDoor&quot; paper and the associated CVE-2023-29483, the dnspython
stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a legitimate one on the
UDP port dnspython is using for that query.</p>
<p>This release addresses the issue by adopting the recommended mitigation, which is
ignoring the bad packets and continuing to listen for a legitimate response until
the timeout for the query has expired.</p>
</li>
<li>
<p>Added support for the NSID EDNS option.</p>
</li>
<li>
<p>Dnspython now looks for version metadata for optional packages and will not
use them if they are too old.  This prevents possible exceptions when a
feature like DoH is not desired in dnspython, but an old httpx is installed
along with dnspython for some other purpose.</p>
</li>
<li>
<p>The DoHNameserver class now allows GET to be used instead of the default POST,
and also passes source and source_port correctly to the underlying query
methods.</p>
</li>
</ul>
<h2>2.5.0</h2>
<ul>
<li>
<p>Dnspython now uses hatchling for builds.</p>
</li>
<li>
<p>Asynchronous destinationless sockets now work on Windows.</p>
</li>
<li>
<p>Cython is no longer supported due to various typing issues.</p>
</li>
<li>
<p>Dnspython now explicitly canonicalizes IPv4 and IPv6 addresses.
Previously it was possible for non-canonical IPv6 forms to be stored
in a AAAA address, which would work correctly but possibly cause
problmes if the address were used as a key in a dictionary.</p>
</li>
<li>
<p>The number of messages in a section can be retrieved with
section_count().</p>
</li>
<li>
<p>Truncation preferences for messages can be specified.</p>
</li>
<li>
<p>The length of a message can be automatically prepended when
rendering.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/rthalley/dnspython/commit/0a742b9658977175663dc30da902342a8c2bacac"><code>0a742b9</code></a> update CI</li>
<li><a href="https://github.com/rthalley/dnspython/commit/0ea5ad0a4583e1f519b9bcc67cfac381230d9cf2"><code>0ea5ad0</code></a> The Tudoor fix should not eat valid Truncated exceptions <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a> (<a href="https://redirect.github.com/rthalley/dnspython/issues/1054">#1054</a>)</li>
<li><a href="https://github.com/rthalley/dnspython/commit/f12d398a6991dfaad94d7fefaf7e2f55d1fda3cb"><code>f12d398</code></a> 2.6.1 version prep</li>
<li><a href="https://github.com/rthalley/dnspython/commit/cecb8534f61de16aaa1a1a84eaaeb14dfdf67448"><code>cecb853</code></a> Further improve CVE fix coverage to 100% for sync and async.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/7952e311d47f6b34f5dc050681001fd34ab60d01"><code>7952e31</code></a> test IgnoreErrors</li>
<li><a href="https://github.com/rthalley/dnspython/commit/e093299a49967696b1c58b68e4767de5031a3e46"><code>e093299</code></a> For the Tudoor fix, we also need the UDP nameserver to ignore_unexpected.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/3af9f78142084fff8523bc96b5f8cfd2b909dc18"><code>3af9f78</code></a> 2.6.0 versioning</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ca63d95143e81975fc3fff4dff87b366dc661371"><code>ca63d95</code></a> Require cryptography &gt;=41 instead of 42.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/902cbf3fcb11ddfd8625b4a071fe9f592f6fc753"><code>902cbf3</code></a> Create CODE_OF_CONDUCT.md</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ed9795fa9b39c4a12f5a1a9e0eeea4240d1efb07"><code>ed9795f</code></a> github contributing and pull request template</li>
<li>Additional commits viewable in <a href="https://github.com/rthalley/dnspython/compare/v1.16.0...v2.6.1">compare view</a></li>
</ul>
</details>
<br />

Updates `dnspython` from 1.16.0 to 2.6.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/releases">dnspython's releases</a>.</em></p>
<blockquote>
<h2>dnspython 2.6.1</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This is a bug fix release for 2.6.0 where the &quot;TuDoor&quot; fix erroneously
suppressed legitimate Truncated exceptions.  This caused the stub
resolver to timeout instead of failing over to TCP when a legitimate
truncated response was received over UDP.</p>
<p>This release addresses the potential DoS issue discussed in the
&quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is
vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a
legitimate one on the UDP port dnspython is using for that query.  In
this situation, dnspython might switch to querying another resolver or
give up entirely, possibly denying service for that resolution.  This
release addresses the issue by adopting the recommended mitigation,
which is ignoring the bad packets and continuing to listen for a
legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual,
thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian
Wellington.</p>
<h2>dnspython 2.6.0</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This release addresses the potential DoS issue discussed in the &quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the right address and port forged by an attacker arrives before a legitimate one on the UDP port dnspython is using for that query.  In this situation, dnspython might switch to querying another resolver or give up entirely, possibly denying service for that resolution.  This release addresses the issue by adopting the recommended mitigation, which is ignoring the bad packets and continuing to listen for a legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.5.0</h2>
<p>See the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page for a summary of this release.</p>
<p>Thanks to all the contributors, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.4.2</h2>
<p>This is a bug fix release, see the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page in the documentation for a summary.</p>
<p>Thanks to the people who reported the bugs and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/blob/main/doc/whatsnew.rst">dnspython's changelog</a>.</em></p>
<blockquote>
<h2>2.6.1</h2>
<ul>
<li>The Tudoor fix ate legitimate Truncated exceptions, preventing the resolver from
failing over to TCP and causing the query to timeout <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a>.</li>
</ul>
<h2>2.6.0</h2>
<ul>
<li>
<p>As mentioned in the &quot;TuDoor&quot; paper and the associated CVE-2023-29483, the dnspython
stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a legitimate one on the
UDP port dnspython is using for that query.</p>
<p>This release addresses the issue by adopting the recommended mitigation, which is
ignoring the bad packets and continuing to listen for a legitimate response until
the timeout for the query has expired.</p>
</li>
<li>
<p>Added support for the NSID EDNS option.</p>
</li>
<li>
<p>Dnspython now looks for version metadata for optional packages and will not
use them if they are too old.  This prevents possible exceptions when a
feature like DoH is not desired in dnspython, but an old httpx is installed
along with dnspython for some other purpose.</p>
</li>
<li>
<p>The DoHNameserver class now allows GET to be used instead of the default POST,
and also passes source and source_port correctly to the underlying query
methods.</p>
</li>
</ul>
<h2>2.5.0</h2>
<ul>
<li>
<p>Dnspython now uses hatchling for builds.</p>
</li>
<li>
<p>Asynchronous destinationless sockets now work on Windows.</p>
</li>
<li>
<p>Cython is no longer supported due to various typing issues.</p>
</li>
<li>
<p>Dnspython now explicitly canonicalizes IPv4 and IPv6 addresses.
Previously it was possible for non-canonical IPv6 forms to be stored
in a AAAA address, which would work correctly but possibly cause
problmes if the address were used as a key in a dictionary.</p>
</li>
<li>
<p>The number of messages in a section can be retrieved with
section_count().</p>
</li>
<li>
<p>Truncation preferences for messages can be specified.</p>
</li>
<li>
<p>The length of a message can be automatically prepended when
rendering.</p>
</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/rthalley/dnspython/commit/0a742b9658977175663dc30da902342a8c2bacac"><code>0a742b9</code></a> update CI</li>
<li><a href="https://github.com/rthalley/dnspython/commit/0ea5ad0a4583e1f519b9bcc67cfac381230d9cf2"><code>0ea5ad0</code></a> The Tudoor fix should not eat valid Truncated exceptions <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a> (<a href="https://redirect.github.com/rthalley/dnspython/issues/1054">#1054</a>)</li>
<li><a href="https://github.com/rthalley/dnspython/commit/f12d398a6991dfaad94d7fefaf7e2f55d1fda3cb"><code>f12d398</code></a> 2.6.1 version prep</li>
<li><a href="https://github.com/rthalley/dnspython/commit/cecb8534f61de16aaa1a1a84eaaeb14dfdf67448"><code>cecb853</code></a> Further improve CVE fix coverage to 100% for sync and async.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/7952e311d47f6b34f5dc050681001fd34ab60d01"><code>7952e31</code></a> test IgnoreErrors</li>
<li><a href="https://github.com/rthalley/dnspython/commit/e093299a49967696b1c58b68e4767de5031a3e46"><code>e093299</code></a> For the Tudoor fix, we also need the UDP nameserver to ignore_unexpected.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/3af9f78142084fff8523bc96b5f8cfd2b909dc18"><code>3af9f78</code></a> 2.6.0 versioning</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ca63d95143e81975fc3fff4dff87b366dc661371"><code>ca63d95</code></a> Require cryptography &gt;=41 instead of 42.</li>
<li><a href="https://github.com/rthalley/dnspython/commit/902cbf3fcb11ddfd8625b4a071fe9f592f6fc753"><code>902cbf3</code></a> Create CODE_OF_CONDUCT.md</li>
<li><a href="https://github.com/rthalley/dnspython/commit/ed9795fa9b39c4a12f5a1a9e0eeea4240d1efb07"><code>ed9795f</code></a> github contributing and pull request template</li>
<li>Additional commits viewable in <a href="https://github.com/rthalley/dnspython/compare/v1.16.0...v2.6.1">compare view</a></li>
</ul>
</details>
<br />

Updates `dnspython` from 1.16.0 to 2.6.1
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/releases">dnspython's releases</a>.</em></p>
<blockquote>
<h2>dnspython 2.6.1</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This is a bug fix release for 2.6.0 where the &quot;TuDoor&quot; fix erroneously
suppressed legitimate Truncated exceptions.  This caused the stub
resolver to timeout instead of failing over to TCP when a legitimate
truncated response was received over UDP.</p>
<p>This release addresses the potential DoS issue discussed in the
&quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is
vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a
legitimate one on the UDP port dnspython is using for that query.  In
this situation, dnspython might switch to querying another resolver or
give up entirely, possibly denying service for that resolution.  This
release addresses the issue by adopting the recommended mitigation,
which is ignoring the bad packets and continuing to listen for a
legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual,
thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian
Wellington.</p>
<h2>dnspython 2.6.0</h2>
<p>See <a href="https://dnspython.readthedocs.io/en/latest/whatsnew.html">What's New</a> for details.</p>
<p>This release addresses the potential DoS issue discussed in the &quot;TuDoor&quot; paper (CVE-2023-29483).  The dnspython stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the right address and port forged by an attacker arrives before a legitimate one on the UDP port dnspython is using for that query.  In this situation, dnspython might switch to querying another resolver or give up entirely, possibly denying service for that resolution.  This release addresses the issue by adopting the recommended mitigation, which is ignoring the bad packets and continuing to listen for a legitimate response until the timeout for the query has expired.</p>
<p>Thank you to all the contributors to this release, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.5.0</h2>
<p>See the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page for a summary of this release.</p>
<p>Thanks to all the contributors, and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
<h2>dnspython 2.4.2</h2>
<p>This is a bug fix release, see the <a href="https://dnspython.readthedocs.io/en/stable/whatsnew.html">What's New</a> page in the documentation for a summary.</p>
<p>Thanks to the people who reported the bugs and, as usual, thanks to my co-maintainers: Tomáš Křížek, Petr Špaček, and Brian Wellington.</p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/rthalley/dnspython/blob/main/doc/whatsnew.rst">dnspython's changelog</a>.</em></p>
<blockquote>
<h2>2.6.1</h2>
<ul>
<li>The Tudoor fix ate legitimate Truncated exceptions, preventing the resolver from
failing over to TCP and causing the query to timeout <a href="https://redirect.github.com/rthalley/dnspython/issues/1053">#1053</a>.</li>
</ul>
<h2>2.6.0</h2>
<ul>
<li>
<p>As mentioned in the &quot;TuDoor&quot; paper and the associated CVE-2023-29483, the dnspython
stub resolver is vulnerable to a potential DoS if a bad-in-some-way response from the
right address and port forged by an attacker arrives before a legitimate one on the
UDP port dnspython is using for that query.</p>
<p>This release addresses the issue by adopting the recommended mitigation, which is
ignoring the bad packets and continuing to listen for a legitimate response until
the timeout for the query has expired.</p>
</li>
<li>
<p>Added support for the NSID EDNS option.</p>
</li>
<li>
<p>Dnspython now looks for version metadata for optional packages and will not
use them if they are too old.  This prevents possible exceptions when a
feature like DoH is not desired in dnspython, but an old httpx is installed
along with dnspython for some other purpose.</p>
</li>
<li>
<p>The DoHNameserver class now allows GET to be used instead of the default POST,
and also passes source and source_port correctly to the underlying query
methods.</p>
</li>
</ul>
<h2>...

_Description has been truncated_