]>
git.ipfire.org Git - thirdparty/dnspython.git/log
Brian Wellington [Fri, 29 Mar 2024 21:58:50 +0000 (14:58 -0700)]
Adds support for the SVCB/HTTPS ohttp parameter. (#1072)
Bob Halley [Wed, 27 Mar 2024 02:25:14 +0000 (19:25 -0700)]
Make 3.8 happy by removing newer type constructs in tests/doq.py.
Bob Halley [Wed, 27 Mar 2024 02:08:42 +0000 (19:08 -0700)]
Overhaul nanonameserver, adding DoT, DoH, DoH3, and DoQ support.
Co-authored-by: bwelling@xbill.org
Bob Halley [Mon, 25 Mar 2024 19:44:36 +0000 (12:44 -0700)]
Properly fix asyncio QUIC shutdown races [#1069].
There were two basic issues:
1) We did not wake up the sender thread to do work in some cases, and could
sleep for a long time.
2) asyncio.wait_for() does not instantly run the function, it just schedules
it, and our guards against lost wakeups were thus in the wrong place.
Bob Halley [Sat, 23 Mar 2024 12:42:20 +0000 (05:42 -0700)]
Fix more races around long waits.
Brian Wellington [Thu, 21 Mar 2024 12:20:46 +0000 (05:20 -0700)]
Replace h3 parameter with http_version. (#1068)
This allows more flexibility; clients can specify which http version
they want, or use the default.
Brian Wellington [Wed, 20 Mar 2024 19:25:13 +0000 (12:25 -0700)]
Fix DoH3 queries sent to a literal address. (#1067)
* Fix DoH3 queries sent to a literal address.
* Add test for async.
Bob Halley [Tue, 12 Mar 2024 19:51:28 +0000 (12:51 -0700)]
Require aioquic>=1.0.0 [#1032].
Bob Halley [Tue, 12 Mar 2024 13:27:35 +0000 (06:27 -0700)]
We were not calling check_delete_rdataset() in one delete path.
This commit adds comprehensive testing of checks, and also
plugs a few other coverage gaps.
Bob Halley [Mon, 11 Mar 2024 15:32:12 +0000 (08:32 -0700)]
Add a simple tsig example.
Bob Halley [Thu, 7 Mar 2024 13:15:34 +0000 (05:15 -0800)]
Close QUIC sync and trio sockets when done.
Bob Halley [Thu, 7 Mar 2024 13:15:00 +0000 (05:15 -0800)]
black lint
Brian Wellington [Tue, 5 Mar 2024 22:45:59 +0000 (14:45 -0800)]
Add support for saving quic tokens. (#1065)
This caches tokens in the manager, so that they can be used for address
validation in future connections.
Bob Halley [Tue, 5 Mar 2024 13:58:28 +0000 (05:58 -0800)]
Set license to a TOML table to avoid PEP 639 metadata for now.
Bob Halley [Mon, 4 Mar 2024 21:54:06 +0000 (13:54 -0800)]
Update Set docstring [#1063].
Bob Halley [Fri, 1 Mar 2024 13:32:13 +0000 (05:32 -0800)]
more coverage lint
Bob Halley [Fri, 1 Mar 2024 13:03:11 +0000 (05:03 -0800)]
Bump timeout on UDP with fallback.
Bob Halley [Fri, 1 Mar 2024 12:51:43 +0000 (04:51 -0800)]
Bump timeout on UDP with fallback.
Bob Halley [Fri, 1 Mar 2024 12:46:27 +0000 (04:46 -0800)]
Update ruff invocation for ruff 0.3.0.
Bob Halley [Thu, 29 Feb 2024 23:31:28 +0000 (15:31 -0800)]
Fix CI badge.
Bob Halley [Thu, 29 Feb 2024 23:28:49 +0000 (15:28 -0800)]
black lint
Bob Halley [Thu, 29 Feb 2024 23:27:58 +0000 (15:27 -0800)]
Fix some pylint lint for xfr refactor.
Brian Wellington [Thu, 29 Feb 2024 23:19:58 +0000 (15:19 -0800)]
Implement xfr() in terms of inbound_xfr(). (#1062)
This moves the implementation of inbound_xfr() to an internal generator
function, and implements both inbound_xfr() and xfr() using it.
Bob Halley [Sat, 24 Feb 2024 13:33:57 +0000 (05:33 -0800)]
DNS-over-HTTP3 (#1048)
* Implement DNS-over-HTTP3 using aioquic directly.
* Add h3 support for DoHNameserver.
Bob Halley [Fri, 23 Feb 2024 02:33:00 +0000 (18:33 -0800)]
Add RESINFO type.
Thomas Steen Rasmussen [Wed, 21 Feb 2024 13:30:03 +0000 (14:30 +0100)]
add an overridable socket_factory to dns.quic._sync for #1059 (#1060)
Bob Halley [Tue, 20 Feb 2024 22:01:51 +0000 (14:01 -0800)]
Message from_wire() now stores the original wire format, (#1057)
and to_wire() records its rendered output (minus any length prefix).
Bob Halley [Tue, 20 Feb 2024 22:01:39 +0000 (14:01 -0800)]
Add EDE retrieval helper [#969] and a get_options() helper. (#1056)
Bob Halley [Sun, 18 Feb 2024 18:42:51 +0000 (10:42 -0800)]
sync whatsnew with 2.6.1 release
Bob Halley [Sun, 18 Feb 2024 18:27:43 +0000 (10:27 -0800)]
The Tudoor fix should not eat valid Truncated exceptions [#1053] (#1054)
* The Tudoor fix should not eat valid Truncated exceptions [##1053]
* Make logic more readable
Bob Halley [Sat, 17 Feb 2024 14:57:40 +0000 (06:57 -0800)]
update for branch renaming
Bob Halley [Fri, 16 Feb 2024 16:46:24 +0000 (08:46 -0800)]
Further improve CVE fix coverage to 100% for sync and async.
Bob Halley [Fri, 16 Feb 2024 15:14:49 +0000 (07:14 -0800)]
test IgnoreErrors
Bob Halley [Fri, 16 Feb 2024 13:47:35 +0000 (05:47 -0800)]
For the Tudoor fix, we also need the UDP nameserver to ignore_unexpected.
Brian Wellington [Mon, 12 Feb 2024 23:12:25 +0000 (15:12 -0800)]
Remove customizable selectors. (#1046)
The customization predates the selectors now, and presumably was
present to work around something broken long ago. Any such logic should
be in the selectors module, and if there is some platform for which
selectors.DefaultSelector doesn't work, that can be overridden.
Bob Halley [Mon, 12 Feb 2024 18:40:49 +0000 (10:40 -0800)]
update pull request template
Bob Halley [Fri, 9 Feb 2024 22:14:29 +0000 (14:14 -0800)]
Create CODE_OF_CONDUCT.md
Bob Halley [Fri, 9 Feb 2024 22:12:59 +0000 (14:12 -0800)]
github contributing and pull request template
Bob Halley [Fri, 9 Feb 2024 21:54:37 +0000 (13:54 -0800)]
The DoHNameserver now supports using GET instead of POST
if desired, and passes source and source_port to the
underlying query methods.
Bob Halley [Fri, 9 Feb 2024 21:45:58 +0000 (13:45 -0800)]
2.6.0 prep
Bob Halley [Fri, 9 Feb 2024 21:38:24 +0000 (13:38 -0800)]
minor (but pervasive!) black 2024 stable style changes
Bob Halley [Fri, 9 Feb 2024 21:36:44 +0000 (13:36 -0800)]
lint
Bob Halley [Fri, 9 Feb 2024 21:27:52 +0000 (13:27 -0800)]
update for 2.6.0
Bob Halley [Fri, 9 Feb 2024 19:22:52 +0000 (11:22 -0800)]
Address DoS via the Tudoor mechanism (CVE-2023-29483) (#1044)
Bob Halley [Fri, 9 Feb 2024 19:15:03 +0000 (11:15 -0800)]
update for 2.6.0
Bob Halley [Fri, 9 Feb 2024 13:09:31 +0000 (05:09 -0800)]
dns.dnssecalgs.base is safe to import without cryptography,
and should be imported! [#1043]
Brian Wellington [Fri, 9 Feb 2024 02:02:39 +0000 (18:02 -0800)]
Include the text description of an EDE. (#1042)
* Include the text description of an EDE.
For known EDEs, add the description of the code in the output.
* Update test.
Bob Halley [Fri, 9 Feb 2024 02:01:41 +0000 (18:01 -0800)]
Test for recent-enough versions of optional packages. (#1041)
Bob Halley [Wed, 7 Feb 2024 00:08:01 +0000 (16:08 -0800)]
Add EDNS NSID option.
Bob Halley [Tue, 6 Feb 2024 15:56:58 +0000 (07:56 -0800)]
add accidentally omitted license field to [project]
Bob Halley [Sun, 4 Feb 2024 21:41:09 +0000 (13:41 -0800)]
The EDNS Option base class should have a NotImplemented to_text().
Bob Halley [Fri, 2 Feb 2024 20:58:18 +0000 (12:58 -0800)]
update ruff config to non-deprecated syntax
Bob Halley [Thu, 1 Feb 2024 20:43:16 +0000 (12:43 -0800)]
switch to codecov-action@v4 take 2
Bob Halley [Thu, 1 Feb 2024 20:42:22 +0000 (12:42 -0800)]
switch to codecov-action@v4
Bob Halley [Sat, 27 Jan 2024 20:38:03 +0000 (12:38 -0800)]
In tests, work around musl libc and docker issues.
Specifically: musl libc's getaddrinfo behavior always returns
a canonical name.
Docker's resolver proxy doesn't do dangling CNAMEs correctly
and also answers NXDOMAIN in some cases where it should say
no error, no data.
Bob Halley [Sat, 27 Jan 2024 13:45:35 +0000 (05:45 -0800)]
Fix elliptic curve test deprecation warning from cryptography 42.
We were passing a curve class as the curve parameter in
testSignatureECDSAP256SHA256 and testSignatureECDSAP384SHA384,
not an instance of the curve class. The official API has
always been to pass an instance, but it tolerated passing a class.
Starting with Cryptogrphy 42, passing a class is deprecated.
Bob Halley [Fri, 26 Jan 2024 01:14:15 +0000 (17:14 -0800)]
update requirements
Bob Halley [Mon, 15 Jan 2024 21:21:07 +0000 (13:21 -0800)]
actions cleanup
dependabot[bot] [Mon, 15 Jan 2024 20:54:43 +0000 (12:54 -0800)]
Bump readthedocs-sphinx-search from 0.3.1 to 0.3.2 (#1033)
Bumps [readthedocs-sphinx-search](https://github.com/readthedocs/readthedocs-sphinx-search) from 0.3.1 to 0.3.2.
- [Changelog](https://github.com/readthedocs/readthedocs-sphinx-search/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/readthedocs/readthedocs-sphinx-search/commits/0.3.2)
---
updated-dependencies:
- dependency-name: readthedocs-sphinx-search
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bob Halley [Fri, 12 Jan 2024 22:26:44 +0000 (14:26 -0800)]
bump hatchling minimum version for official 3.12 support
Bob Halley [Sat, 6 Jan 2024 17:18:38 +0000 (09:18 -0800)]
update SECURITY.md supported status
Bob Halley [Sat, 6 Jan 2024 16:24:34 +0000 (08:24 -0800)]
increment development version
Bob Halley [Sat, 6 Jan 2024 16:09:53 +0000 (08:09 -0800)]
GSS-TSIG doco updates
Bob Halley [Thu, 28 Dec 2023 19:19:37 +0000 (11:19 -0800)]
formatting lint
Bob Halley [Thu, 28 Dec 2023 19:12:40 +0000 (11:12 -0800)]
lint
Bob Halley [Tue, 26 Dec 2023 19:13:39 +0000 (11:13 -0800)]
update whatsnew for 2.5.0
Bob Halley [Thu, 28 Dec 2023 18:47:44 +0000 (10:47 -0800)]
Uniform TLS verify argument support. (#1027)
* Uniform TLS verify argument support.
* async TLS should get verify too
Bob Halley [Tue, 26 Dec 2023 19:12:39 +0000 (11:12 -0800)]
Pad if needed when making a response. (#1026)
Bob Halley [Sun, 24 Dec 2023 17:04:24 +0000 (09:04 -0800)]
use self._section_enum in a few places we missed
Brian Wellington [Wed, 20 Dec 2023 22:59:32 +0000 (14:59 -0800)]
Add Message.section_count(). (#1024)
Adds a method to return a count of the number of records in each
section.
Brian Wellington [Wed, 20 Dec 2023 22:09:34 +0000 (14:09 -0800)]
Add prefer_truncation to Message.to_wire(). (#1023)
If a caller passes prefer_truncation=True, the message will be truncated
if it would otherwise exceed the maximum length. If the truncation
occurs before the additional section, the TC bit will be set.
This behavior matches what a name server would do when generating a
response.
Bob Halley [Sun, 17 Dec 2023 01:51:01 +0000 (17:51 -0800)]
Add next_name() method to NSEC3 [#1022].
Bob Halley [Fri, 15 Dec 2023 15:49:12 +0000 (07:49 -0800)]
Fix NSEC3 next field documentation [#1022].
Bob Halley [Fri, 15 Dec 2023 02:04:39 +0000 (18:04 -0800)]
Ensure asyncio datagram sockets on windows have had a bind() before
recvfrom().
The fix for [#637] erroneously concluded that that windows asyncio
needed connected datagram sockets, but subsequent further
investation showed that the actual problem was that windows wants
an unconnected datagram socket to be bound before recvfrom is called.
Linux autobinds in this case to the wildcard address and port, so
that's why we didn't see any problems there. We now ensure that
the source is bound.
dependabot[bot] [Wed, 13 Dec 2023 16:25:04 +0000 (08:25 -0800)]
Bump github/codeql-action from 2 to 3 (#1021)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v3)
---
updated-dependencies:
- dependency-name: github/codeql-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bob Halley [Thu, 7 Dec 2023 18:07:07 +0000 (10:07 -0800)]
remove ALPN debugging prints
Brian Wellington [Thu, 7 Dec 2023 18:02:00 +0000 (10:02 -0800)]
NotImplementError -> NotImplementedError
Brian Wellington [Thu, 7 Dec 2023 17:59:08 +0000 (09:59 -0800)]
Fix setting source for sync/trio quic queries.
The sync code called connect() before bind(), which meant that any
attempt to specify a source resulted in an exception. This switches the
order.
The trio code called a nonexistent method in the wrong place, so didn't
work at all. This fixes the call and puts it in the right place.
The asyncio code worked, so no changes were needed.
dependabot[bot] [Wed, 6 Dec 2023 16:20:38 +0000 (08:20 -0800)]
Bump actions/setup-python from 4 to 5 (#1020)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4 to 5.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4...v5)
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bob Halley [Mon, 4 Dec 2023 16:52:43 +0000 (08:52 -0800)]
Update RFC doco with HTTPS/SVCB RFC
Bob Halley [Wed, 29 Nov 2023 13:30:03 +0000 (05:30 -0800)]
Allow Zones with different map types. (#1015)
* Allow Zones with different map types.
* Backwards compatibility for python 3.8.
URenko [Wed, 29 Nov 2023 13:29:17 +0000 (13:29 +0000)]
Fix the ignored bootstrap_address for DoHNameserver in async query (#1018)
Bob Halley [Tue, 28 Nov 2023 19:17:09 +0000 (11:17 -0800)]
update sphinx and sphinx_rtd_theme
Bob Halley [Tue, 28 Nov 2023 19:16:26 +0000 (11:16 -0800)]
fix doco typo in to_wire()
Bob Halley [Mon, 27 Nov 2023 22:41:31 +0000 (14:41 -0800)]
Add RFC 8499 to the RFC list.
Bob Halley [Fri, 24 Nov 2023 23:39:44 +0000 (15:39 -0800)]
The documentation for txn delete methods erroneously said a class was needed.
Bob Halley [Fri, 24 Nov 2023 23:39:05 +0000 (15:39 -0800)]
Fix coverage breakage by hatch branch merge.
Bob Halley [Thu, 23 Nov 2023 00:50:47 +0000 (16:50 -0800)]
Hatch support and general build cleanups. (#1014)
* Hatch support and general build cleanups.
Bob Halley [Thu, 16 Nov 2023 00:47:52 +0000 (16:47 -0800)]
Canonicalize IPV4 and IPv6 address text form in rdata. (#1013)
Bob Halley [Mon, 6 Nov 2023 14:04:36 +0000 (06:04 -0800)]
move example to the right place
Petr Špaček [Mon, 6 Nov 2023 13:13:52 +0000 (14:13 +0100)]
add example how to send NOTIFY message (#1007)
Bob Halley [Mon, 6 Nov 2023 13:10:04 +0000 (05:10 -0800)]
Fix a type issue with dns.zone.from_file() that mypy misses but
Cython notices. [#998]
Bob Halley [Sat, 4 Nov 2023 23:22:34 +0000 (16:22 -0700)]
Add support for RFC 4471 predecessor() and successor() methods. (#1002)
dependabot[bot] [Fri, 3 Nov 2023 19:30:23 +0000 (12:30 -0700)]
Update trio requirement from >=0.14,<0.23 to >=0.14,<0.24 (#1003)
Updates the requirements on [trio](https://github.com/python-trio/trio) to permit the latest version.
- [Release notes](https://github.com/python-trio/trio/releases)
- [Commits](https://github.com/python-trio/trio/compare/v0.14.0...v0.23.0)
---
updated-dependencies:
- dependency-name: trio
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Brian Wellington [Fri, 3 Nov 2023 15:12:37 +0000 (08:12 -0700)]
Add prepend_length to Message.to_wire(). (#1001)
If a caller passes prepend_length=True, the wire format will include the
2 byte encoded message length before the message itself. This is useful
for callers planning to send the message over TCP, DoT, and DoQ.
noopbug [Wed, 1 Nov 2023 21:20:29 +0000 (16:20 -0500)]
When scanning interfaces with WMI, include networks without a domain. (#999)
* When scanning interfaces with WMI, include networks without a domain.
* Ignore networks found via wmi that have no nameservers
---------
Co-authored-by: Me <me@shiranpuri.com>
Bob Halley [Sat, 28 Oct 2023 16:08:00 +0000 (09:08 -0700)]
Add QUIC TLS session ticket support.
Bob Halley [Fri, 27 Oct 2023 15:55:10 +0000 (08:55 -0700)]
Fix a race condition in trio quic shutdown.
It was possible to have a "lost wakeup" situation where we had stuff to
send but the trio worker was blocked indefinitely in the receive.
There is no test for this as the race is very race-y and I can't reproduce it
reliably in the test suite, though I was able to do reliable replication a different
way when debugging.
I also reordered event processing to happen after timer handling but before sending
in the trio and sync quic code. The async code already worked this way due to its
different struture and needed no changes.
Bob Halley [Fri, 27 Oct 2023 02:23:27 +0000 (19:23 -0700)]
The asyncio quic code did not close politely in clean exit cases.
Bob Halley [Fri, 27 Oct 2023 01:41:36 +0000 (18:41 -0700)]
The "address" passed to QUIC receive_datagram() should be a low-level tuple.
Previously we sent just the address part, i.e. lltuple[0], but the
aioquic code intends for the value to be the whole tuple. This did
not break anything for dnspython as we were consistently wrong and
aioquic is flexible enough with its notion of NetworkAddress for our
purposes that dnspython's mistake had no effect.