2.6.1

Dnspython 2.6.1 is now available on PyPI. See What’s New for details. This is a bug fix release for 2.6.0 where the “TuDoor” 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. This release addresses the potential DoS issue discussed in the “TuDoor” 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.

Read more →

2.6.0

Dnspython 2.6.0 is now available on PyPI. See What’s New for details. This release addresses the potential DoS issue discussed in the “TuDoor” 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.

Read more →

2.6.0rc1

Dnspython 2.6.0rc1 is now available on PyPI. This is the first release candidate for dnspython 2.6.0. See What’s New for details. This release addresses the potential DoS issue discussed in the “TuDoor” 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.

Read more →

2.5.0

Dnspython 2.5.0 is now available on PyPI. See What’s New for details. 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. Dnspython 2.5.0 requires Python 3.8 or later. Python 3.8 goes into end-of-life state in October of 2024, and dnspython will drop support for it at that time and require 3.9 or later.

2.5.0rc1

Dnspython 2.5.0rc1 is now available on PyPI. This is the first release candidate for dnspython 2.5.0. See What’s New for details. Thank you to all the contributors to this release. Dnspython 2.5.0 requires Python 3.8 or later. Python 3.8 goes into end-of-life state in October of 2024, and dnspython will drop support for it at that time and require 3.9 or later.

2.4.2

Dnspython 2.4.2 is now available on PyPI. This is a bug fix release, see What’s New for the details.

2.4.1

Dnspython 2.4.1 is now available on PyPI. This is a bug fix release, see What’s New for the details.

2.4.0

Dnspython 2.4.0 is now available on PyPI. See What’s New! Thank you to all the contributors to this release. Special thanks to Jakob Schlyter for writing zone signing code and also refactoring the DNSSEC code to allow new algorithms to be added more easily. Dnspython 2.4.0 requires Python 3.8 or later. Also note that this release drops support for curio and requests (DoH is now done exclusively with httpx).

2.4.0rc1

Dnspython 2.4.0rc1 is now available on PyPI. This is the first release candidate for dnspython 2.4.0. See What’s New! Thank you to all the contributors to this release. Special thanks to Jakob Schlyter for writing zone signing code and also refactoring the DNSSEC code to allow new algorithms to be added more easily. Dnspython 2.4.0 requires Python 3.8 or later. Also note that this release drops support for curio and requests (DoH is now done exclusively with httpx).

Read more →

2.3.0

Dnspython 2.3.0 is now available on PyPI. See What’s New for the details! Thank you to all the contributors to this release, and special thanks to Jakob Schlyter for writing code to make DNSSEC signatures and help with DS, CDS, and CDNSKEY management. Dnspython 2.3.0 requires Python 3.7 or later.