]> git.ipfire.org Git - thirdparty/dnspython.git/log
thirdparty/dnspython.git
23 months agobump readthedocs-sphinx-search version to 0.3.2 2.4
Bob Halley [Mon, 15 Jan 2024 21:16:16 +0000 (13:16 -0800)] 
bump readthedocs-sphinx-search version to 0.3.2

2 years agoupdate whatsnew for 2.4.2 v2.4.2
Bob Halley [Wed, 9 Aug 2023 13:41:31 +0000 (06:41 -0700)] 
update whatsnew for 2.4.2

2 years agoEnsure async https() requests are bounded in total time
Bob Halley [Tue, 8 Aug 2023 01:16:42 +0000 (18:16 -0700)] 
Ensure async https() requests are bounded in total time
according to the timeout [#978].

Unfortunately we do not currently have a good way to
make this guarantee for sync https() calls.

(cherry picked from commit a22644d7ced90ee796592622eebd9629377b39ba)

2 years agotest inception, expiration, and lifetime when signing
Bob Halley [Sun, 6 Aug 2023 17:46:22 +0000 (10:46 -0700)] 
test inception, expiration, and lifetime when signing

(cherry picked from commit 9d0262a92c0cf105d12f524f4f103abe913458ae)

2 years agoDNSSEC rrsig_expiration calculation (#977)
Shaft Inc [Sun, 6 Aug 2023 17:33:32 +0000 (19:33 +0200)] 
DNSSEC rrsig_expiration calculation (#977)

The 'rrsig_expiration' calculation did not take into account inception date when using 'lifetime' in the '_sign()' function

(cherry picked from commit 4259dd4946661ab406a97fcd7bf7fe86170c273a)

2 years ago2.4.2 prep
Bob Halley [Sun, 6 Aug 2023 01:47:25 +0000 (18:47 -0700)] 
2.4.2 prep

2 years agoFix unintended "wait forever" behavior with zero timeouts [#976].
Bob Halley [Sat, 5 Aug 2023 20:35:29 +0000 (13:35 -0700)] 
Fix unintended "wait forever" behavior with zero timeouts [#976].

In a few places we did "if timeout:" or "if expiration:" when we
really meant "if timeout is not None:".  This meant that in the zero
timeout case we fell into the "wait forever" path instead of
immediately timing out.  In the case of UDP queries, we'd be waiting
on recvfrom() and if a packet was lost, then the code would never wake
up.

(cherry picked from commit 0c183f10c78941a4e72046d4dcb2ecf20083b398)

2 years agoUse HTTP2 when possible in https() [#973].
Bob Halley [Sat, 5 Aug 2023 16:42:44 +0000 (09:42 -0700)] 
Use HTTP2 when possible in https() [#973].

This fixes a regression in 2.4.x where we would only
use HTTP/1.1.

(cherry picked from commit 349545a05151acd389e06f28975b4f3e4f426977)

2 years agorevert dependabot sphinx change as it is too recent for RTD v2.4.1
Bob Halley [Tue, 25 Jul 2023 19:05:35 +0000 (12:05 -0700)] 
revert dependabot sphinx change as it is too recent for RTD

(cherry picked from commit 7e38fc4db7e2f7219dd7f8fd4a5b42647ec456f9)

2 years agoBump sphinx from 4.3.2 to 7.1.0 (#967)
dependabot[bot] [Tue, 25 Jul 2023 18:58:13 +0000 (11:58 -0700)] 
Bump sphinx from 4.3.2 to 7.1.0 (#967)

Bumps [sphinx](https://github.com/sphinx-doc/sphinx) from 4.3.2 to 7.1.0.
- [Release notes](https://github.com/sphinx-doc/sphinx/releases)
- [Changelog](https://github.com/sphinx-doc/sphinx/blob/master/CHANGES)
- [Commits](https://github.com/sphinx-doc/sphinx/compare/v4.3.2...v7.1.0)

---
updated-dependencies:
- dependency-name: sphinx
  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>
(cherry picked from commit eeb141a14cbcfb3500cafa75d1ad859be70888b0)

2 years ago2.4.1 versioning
Bob Halley [Tue, 25 Jul 2023 14:09:32 +0000 (07:09 -0700)] 
2.4.1 versioning

2 years agoprepare 2.4.1 whatsnew
Bob Halley [Tue, 25 Jul 2023 14:07:11 +0000 (07:07 -0700)] 
prepare 2.4.1 whatsnew

2 years agoEnsure candidate DNSKEYs have protocol 3 and the ZONE flag set [#966].
Bob Halley [Tue, 25 Jul 2023 14:04:35 +0000 (07:04 -0700)] 
Ensure candidate DNSKEYs have protocol 3 and the ZONE flag set [#966].

(cherry picked from commit 23238e5a3b23a4a700e0d20c7c96972e7b52b340)

2 years agoDependency cleanups [#963].
Bob Halley [Thu, 20 Jul 2023 20:31:35 +0000 (13:31 -0700)] 
Dependency cleanups [#963].

(cherry picked from commit 063bd7fa084301bd3c232bfdbd375780963b356f)

2 years agowork around windows port binding issues
Bob Halley [Wed, 19 Jul 2023 19:33:22 +0000 (12:33 -0700)] 
work around windows port binding issues

(cherry picked from commit a9634b09c647c58ce6ba049ad6a15b9b397bb6e3)

2 years agoFix more issues with asyncio and timeouts [#962].
Bob Halley [Wed, 19 Jul 2023 15:42:58 +0000 (08:42 -0700)] 
Fix more issues with asyncio and timeouts [#962].

(cherry picked from commit 76eb9e81b33399dcc7e1309fdc0e8dae4b2ca372)

2 years agoUse `Sequence` instead of `List` for nameservers, as List is invariant (#961)
av223119 [Wed, 19 Jul 2023 13:44:09 +0000 (15:44 +0200)] 
Use `Sequence` instead of `List` for nameservers, as List is invariant (#961)

without this, resolver.nameservers = string.split() produces mypy error, see
https://mypy.readthedocs.io/en/stable/common_issues.html#invariance-vs-covariance

(cherry picked from commit 7c78b943529d2004b2b54700363d2cb64d402924)

2 years agodisable test failing due to expired certificate
Bob Halley [Sat, 15 Jul 2023 16:14:20 +0000 (09:14 -0700)] 
disable test failing due to expired certificate

(cherry picked from commit fc62d2f82a9ea1e133557652bc0d8c70a3781362)

2 years agosimplify event set
Bob Halley [Tue, 18 Jul 2023 01:19:50 +0000 (18:19 -0700)] 
simplify event set

(cherry picked from commit 80ce926232abf6fe51f50f111ccd47f522556c65)

2 years agoFix DoQ for asyncio IPv6 [#958].
Bob Halley [Mon, 17 Jul 2023 22:24:59 +0000 (15:24 -0700)] 
Fix DoQ for asyncio IPv6 [#958].

(cherry picked from commit e594c675823571e03ab10a8e3ab24d933056610c)

2 years agoMake importing dns.dnssecalgs work if cryptography is not installed
Bob Halley [Mon, 17 Jul 2023 12:58:50 +0000 (05:58 -0700)] 
Make importing dns.dnssecalgs work if cryptography is not installed
[#957].

(cherry picked from commit e0991157b8773218c33401c90b2715e532c804e7)

2 years ago2.4.0 versioning v2.4.0
Bob Halley [Sat, 15 Jul 2023 15:36:11 +0000 (08:36 -0700)] 
2.4.0 versioning

2 years agoDo all httpx imports before setting _have_httpx.
Bob Halley [Sat, 15 Jul 2023 15:26:21 +0000 (08:26 -0700)] 
Do all httpx imports before setting _have_httpx.

This gives us the expected test skipping when httpx isn't available
or is too old, vs. the test failures that were happening before
this change.

(cherry picked from commit 71a90fc934ef190e6a371f14e136a5a34e27849a)

2 years agoasyncio close could wait forever [#956].
Bob Halley [Fri, 14 Jul 2023 11:50:50 +0000 (04:50 -0700)] 
asyncio close could wait forever [#956].

(cherry picked from commit daddf9d6adc5266db0e89f58592773aee439637f)

2 years agoadd some missing DNSSEC RFCs (#955)
Jakob Schlyter [Thu, 13 Jul 2023 00:06:21 +0000 (02:06 +0200)] 
add some missing DNSSEC RFCs (#955)

(cherry picked from commit ca33645d8401ca6243c31dd2ae6629bf1e82ac5a)

2 years agoFix a number of timeout bugs with QUIC [#954].
Bob Halley [Thu, 13 Jul 2023 00:05:18 +0000 (17:05 -0700)] 
Fix a number of timeout bugs with QUIC [#954].

(cherry picked from commit 60253ac495078b1fdb30515e9d99b0bed017078c)

2 years agoClarify skip test message in test_doq.py (#952)
Scott Kitterman [Sat, 8 Jul 2023 20:02:31 +0000 (16:02 -0400)] 
Clarify skip test message in test_doq.py (#952)

While the current message is technically correct, nanoquic isn't actually what's missing, so it would be clearer to point to the fact that aioquic isn't found, since that's the issue someone can actually do something about.

(cherry picked from commit 000c37b5dc8c2ab9f2c17eb655d547d70c20b5d2)

2 years agolint
Bob Halley [Sat, 8 Jul 2023 20:00:40 +0000 (13:00 -0700)] 
lint

(cherry picked from commit 3b6bfc2cad5107c33ca57841b5a374dbca6f9bf1)

2 years agoTest passing ssl_context to tls query functions.
Bob Halley [Sat, 8 Jul 2023 19:58:12 +0000 (12:58 -0700)] 
Test passing ssl_context to tls query functions.

(cherry picked from commit 6d17824fc423dcb709fc8c38120ccf4d60a1668b)

2 years agoAvoid mypy checking woes by always using new enough httpcore.
Bob Halley [Fri, 7 Jul 2023 14:59:24 +0000 (07:59 -0700)] 
Avoid mypy checking woes by always using new enough httpcore.

(cherry picked from commit 92e76053d618ea8f9e1bff44e172c7e876222fb6)

2 years agoIn async TLS do not ignore a ssl_context given as an argument [#951].
Bob Halley [Fri, 7 Jul 2023 14:29:08 +0000 (07:29 -0700)] 
In async TLS do not ignore a ssl_context given as an argument [#951].

The async TLS code would always fail if given an ssl_context instead
of making one, as it set the passed paramter to None and then called
into the async socket backend, which would make a regular TCP socket
(i.e. no TLS), which would be rejected by the server as it wasn't
using TLS.

(cherry picked from commit 73badd1e27d54f74a3d7815a3edb911f5db394a0)

2 years agocope with missing httpcore type info
Bob Halley [Thu, 6 Jul 2023 14:55:12 +0000 (07:55 -0700)] 
cope with missing httpcore type info

(cherry picked from commit 5aebfa408660df7e122e63028093b085b737ad13)

2 years agoAdd shebang for ecs.py (#950)
Scott Kitterman [Fri, 7 Jul 2023 13:29:39 +0000 (09:29 -0400)] 
Add shebang for ecs.py (#950)

I know this is trivial, but the Debian QA tools get slightly grumpy when there's no shebang for an executable script, so it would make things slightly easier for me if you would add this.

Thanks,

Scott K

(cherry picked from commit b6f026ed9d41aece0ec0028d706be42fbce39ac2)

2 years agoCope with recent versions of httpcore.
Bob Halley [Fri, 7 Jul 2023 14:25:22 +0000 (07:25 -0700)] 
Cope with recent versions of httpcore.

(cherry picked from commit 906a5ef63599fb39dbc3a25b772a3b947efb2cb2)

2 years agoFix build from source in README.md [#948].
Bob Halley [Wed, 5 Jul 2023 12:26:02 +0000 (05:26 -0700)] 
Fix build from source in README.md [#948].

(cherry picked from commit f93e015c62127170edfd9efc061a272d12efc9e4)

2 years agofix missing rc version tags v2.4.0rc1
Bob Halley [Tue, 4 Jul 2023 20:24:33 +0000 (13:24 -0700)] 
fix missing rc version tags

2 years agotry to fix workflow typo
Bob Halley [Tue, 4 Jul 2023 19:29:34 +0000 (12:29 -0700)] 
try to fix workflow typo

2 years agorun CI on 2.4 branch
Bob Halley [Tue, 4 Jul 2023 19:21:49 +0000 (12:21 -0700)] 
run CI on 2.4 branch

2 years agorelease prep
Bob Halley [Tue, 4 Jul 2023 19:16:35 +0000 (12:16 -0700)] 
release prep

2 years ago2.4 prep: new dirs and python 3.7 is EOL
Bob Halley [Tue, 4 Jul 2023 19:02:24 +0000 (12:02 -0700)] 
2.4 prep: new dirs and python 3.7 is EOL

2 years agouse isort
Bob Halley [Sun, 25 Jun 2023 21:18:10 +0000 (14:18 -0700)] 
use isort

2 years agoDeal with pylint being confused.
Bob Halley [Sun, 25 Jun 2023 21:09:22 +0000 (14:09 -0700)] 
Deal with pylint being confused.

2 years agoAdd dnssecalgs.
Bob Halley [Sun, 25 Jun 2023 21:05:02 +0000 (14:05 -0700)] 
Add dnssecalgs.

2 years agoDNSSEC Algorithm Refactor (#944)
Jakob Schlyter [Sun, 25 Jun 2023 21:01:00 +0000 (23:01 +0200)] 
DNSSEC Algorithm Refactor (#944)

* Split DNSSEC algorithms into separate classes with a registration mechanism.
* Add DNSSEC private algorithm support.

2 years agoFix three problems with DNSSEC: (#946)
Bob Halley [Sat, 24 Jun 2023 14:27:25 +0000 (07:27 -0700)] 
Fix three problems with DNSSEC: (#946)

* Fix three problems with DNSSEC:

1) Signing a relative zone didn't quite work.
2) The signer generated the wrong RRSIG labels length for a wild name.
3) The validator failed to detect 2).

* fix issues detected by mypy

2 years agoFix setup race condition in nanoquic.
Bob Halley [Sun, 18 Jun 2023 15:24:29 +0000 (08:24 -0700)] 
Fix setup race condition in nanoquic.

2 years agoBump sphinx-rtd-theme from 1.2.1 to 1.2.2 (#941)
dependabot[bot] [Fri, 9 Jun 2023 21:58:10 +0000 (14:58 -0700)] 
Bump sphinx-rtd-theme from 1.2.1 to 1.2.2 (#941)

Bumps [sphinx-rtd-theme](https://github.com/readthedocs/sphinx_rtd_theme) from 1.2.1 to 1.2.2.
- [Changelog](https://github.com/readthedocs/sphinx_rtd_theme/blob/master/docs/changelog.rst)
- [Commits](https://github.com/readthedocs/sphinx_rtd_theme/compare/1.2.1...1.2.2)

---
updated-dependencies:
- dependency-name: sphinx-rtd-theme
  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>
2 years agoSupport <class> <ttl> <type> in zonefiles [#942].
Bob Halley [Fri, 9 Jun 2023 21:56:29 +0000 (14:56 -0700)] 
Support <class> <ttl> <type> in zonefiles [#942].

2 years agopass policy to rrset_signer (#932)
Jakob Schlyter [Sun, 4 Jun 2023 16:52:37 +0000 (18:52 +0200)] 
pass policy to rrset_signer (#932)

2 years agoUpdate cryptography requirement from >=2.6,<41.0 to >=2.6,<42.0 (#937)
dependabot[bot] [Wed, 31 May 2023 17:06:47 +0000 (10:06 -0700)] 
Update cryptography requirement from >=2.6,<41.0 to >=2.6,<42.0 (#937)

Updates the requirements on [cryptography](https://github.com/pyca/cryptography) to permit the latest version.
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/2.6...41.0.0)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years agoBump sphinx-rtd-theme from 1.2.0 to 1.2.1 (#933)
dependabot[bot] [Sun, 28 May 2023 21:00:32 +0000 (14:00 -0700)] 
Bump sphinx-rtd-theme from 1.2.0 to 1.2.1 (#933)

Bumps [sphinx-rtd-theme](https://github.com/readthedocs/sphinx_rtd_theme) from 1.2.0 to 1.2.1.
- [Changelog](https://github.com/readthedocs/sphinx_rtd_theme/blob/master/docs/changelog.rst)
- [Commits](https://github.com/readthedocs/sphinx_rtd_theme/compare/1.2.0...1.2.1)

---
updated-dependencies:
- dependency-name: sphinx-rtd-theme
  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>
2 years agoHttpx now has a socket_options parameter in its NetworkBackends.
Bob Halley [Sun, 28 May 2023 20:58:27 +0000 (13:58 -0700)] 
Httpx now has a socket_options parameter in its NetworkBackends.

We accept this parameter if it is given, but do not actually do
anything with it.  In theory this shouldn't be a problem as we're
never passing it either in the cases where we use our backends.

2 years agotry again to make doco builds work again by upgrading the build image
Bob Halley [Sun, 7 May 2023 16:33:25 +0000 (09:33 -0700)] 
try again to make doco builds work again by upgrading the build image

2 years agotry to make doco builds work again by upgrading the build image
Bob Halley [Sun, 7 May 2023 16:31:00 +0000 (09:31 -0700)] 
try to make doco builds work again by upgrading the build image

2 years agomore requests cleanup
Bob Halley [Sun, 7 May 2023 16:30:44 +0000 (09:30 -0700)] 
more requests cleanup

2 years agoDeal with "in" changes for enums in python 3.12
Bob Halley [Sat, 6 May 2023 18:21:36 +0000 (11:21 -0700)] 
Deal with "in" changes for enums in python 3.12

In python 3.12, "in" for enums tests values as well, so something
like "12345 in dns.rdatatype.RdataType" will now return True.  This
broke some logic guarding against registering a known-but-unimplmemented
type code point with a class that didn't have the right name.  We now
just give up on this test as it will never be a real problem.  We change
a few related tests to be more sensible.

2 years agoAdd support for ruff linter.
Bob Halley [Sat, 6 May 2023 14:16:32 +0000 (07:16 -0700)] 
Add support for ruff linter.

2 years agoFix NSEC3 base32 processing. (#929)
Brian Wellington [Sat, 6 May 2023 14:15:32 +0000 (07:15 -0700)] 
Fix NSEC3 base32 processing. (#929)

The NSEC3 next name field is defined as base32 with no padding, but the
code was doing base32 decoding with padding.  This wouldn't have any
effect in the normal case, since the only defined NSEC3 hashing
algorithm is SHA1, and that generates a 160 bit hash that doesn't
require padding when encoded in base32.

This change removes generated padding after encode, rejects padded input
on decode, and adds necessary padding for decode.

2 years agoresolve_at() type fixes
Bob Halley [Wed, 19 Apr 2023 15:55:51 +0000 (08:55 -0700)] 
resolve_at() type fixes

2 years agoAdd make_resolver_at() and resolve_at(). (#926)
Bob Halley [Wed, 19 Apr 2023 15:51:16 +0000 (08:51 -0700)] 
Add make_resolver_at() and resolve_at(). (#926)

2 years agosimplify DDR text
Bob Halley [Sun, 9 Apr 2023 18:19:54 +0000 (11:19 -0700)] 
simplify DDR text

2 years agoRemove unnecessary string concatenation.
Brian Wellington [Tue, 11 Apr 2023 18:05:16 +0000 (11:05 -0700)] 
Remove unnecessary string concatenation.

2 years agoNote 3.8 as the minimum for 2.4 (3.7 is EOL at the end of June).
Bob Halley [Fri, 7 Apr 2023 13:51:36 +0000 (06:51 -0700)] 
Note 3.8 as the minimum for 2.4 (3.7 is EOL at the end of June).

2 years agoAdd basic DDR support. (#919)
Bob Halley [Fri, 7 Apr 2023 13:44:22 +0000 (06:44 -0700)] 
Add basic DDR support. (#919)

* Add basic DDR support.

2 years agoMessage get_rrset() needs to pass idna_codec to find_rrset().
Bob Halley [Thu, 6 Apr 2023 13:06:24 +0000 (06:06 -0700)] 
Message get_rrset() needs to pass idna_codec to find_rrset().
Also removes some lint about "section = section" being a no-op.

2 years agorun black on enum.py
Bob Halley [Thu, 6 Apr 2023 13:04:18 +0000 (06:04 -0700)] 
run black on enum.py

2 years agoEnum typing (#923)
Brian Wellington [Thu, 6 Apr 2023 13:03:07 +0000 (06:03 -0700)] 
Enum typing (#923)

* IntEnum improvements.

This changes make() to always return an instance of the subclass,
creating one on the fly if the value is not known, and updates the typ
registration code to deal with this.  It also adds typing annotations to
make().

* Add missing int check.

Some older versions of python weren't rejecting non-int values.

* Fix int check.

Raise TypeError for non-int, not ValueError, to make tests happy.

* Annotate to_text/from_text.

* Remove many the_ prefixed variables.

These were needed in the past to work around typing issues.

2 years agoImprove get_rrset/find_rrset API. (#922)
Brian Wellington [Thu, 6 Apr 2023 13:01:59 +0000 (06:01 -0700)] 
Improve get_rrset/find_rrset API. (#922)

* Improve get_rrset/find_rrset API.

This allows most of the parameters to be specified as strings, matching
the interface for dns.message.make_query().

* Remove unneeded "the_section".

There's no need to use a separate internal variable for the section;
mypy doesn't complain about reuse.

2 years agoBump readthedocs-sphinx-search from 0.2.0 to 0.3.1 (#920)
dependabot[bot] [Sun, 2 Apr 2023 15:41:47 +0000 (08:41 -0700)] 
Bump readthedocs-sphinx-search from 0.2.0 to 0.3.1 (#920)

Bumps [readthedocs-sphinx-search](https://github.com/readthedocs/readthedocs-sphinx-search) from 0.2.0 to 0.3.1.
- [Release notes](https://github.com/readthedocs/readthedocs-sphinx-search/releases)
- [Changelog](https://github.com/readthedocs/readthedocs-sphinx-search/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/readthedocs/readthedocs-sphinx-search/commits)

---
updated-dependencies:
- dependency-name: readthedocs-sphinx-search
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years agoAdd some missing resolver doco.
Bob Halley [Sun, 2 Apr 2023 15:41:23 +0000 (08:41 -0700)] 
Add some missing resolver doco.

2 years agorun black
Bob Halley [Thu, 30 Mar 2023 13:29:20 +0000 (06:29 -0700)] 
run black

2 years agoClean up the NoDOH exception.
Brian Wellington [Tue, 28 Mar 2023 17:53:18 +0000 (10:53 -0700)] 
Clean up the NoDOH exception.

The docstring/default should refer to httpx, not requests, and the
callers should use it rather than providing alternate (and different)
strings.

2 years agoAdd server_hostname to DoQNameserver.
Bob Halley [Sun, 26 Mar 2023 19:34:32 +0000 (12:34 -0700)] 
Add server_hostname to DoQNameserver.

2 years agolint
Bob Halley [Sun, 26 Mar 2023 19:29:51 +0000 (12:29 -0700)] 
lint

2 years agoOptionally allow server hostname to be checked by QUIC.
Bob Halley [Sun, 26 Mar 2023 19:28:02 +0000 (12:28 -0700)] 
Optionally allow server hostname to be checked by QUIC.

2 years agoUpdate cryptography requirement from >=2.6,<40.0 to >=2.6,<41.0 (#917)
dependabot[bot] [Fri, 24 Mar 2023 17:58:39 +0000 (10:58 -0700)] 
Update cryptography requirement from >=2.6,<40.0 to >=2.6,<41.0 (#917)

Updates the requirements on [cryptography](https://github.com/pyca/cryptography) to permit the latest version.
- [Release notes](https://github.com/pyca/cryptography/releases)
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/2.6...40.0.0)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years agoNote DNSSEC zone signing (NSEC) is now available.
Bob Halley [Tue, 21 Mar 2023 21:04:16 +0000 (14:04 -0700)] 
Note DNSSEC zone signing (NSEC) is now available.

2 years agoZone signer (#911)
Jakob Schlyter [Tue, 21 Mar 2023 01:14:59 +0000 (02:14 +0100)] 
Zone signer (#911)

* first cut at NSEC support

* use transactions, fix delegations

* rename to add_nsec_to_zone

* optimize NSEC generation

* split out function to get all secure names (could be useful for NSEC3 later)

* add `Bitmap.from_rdtypes()` and add missing typing

* more typing

* add missing import

* add more typing

* fix tok type

* remove _get_secure_names, optimize

* better zone testing (compare as text)
add test example with delegation below other delegation

* include NSEC itself in the bitmap

* lint

* Add names iteration to transactions via iterate_names().

Also make rdataset iteration more obvious by adding an
explicit iterate_rdatasets() API.

* use iterate_names()

* typo

* black

* use single iteration

* better type fix

* add optional transaction to add_nsec_to_zone

* idea for zone signer

* do not sign RRSIGs

* fix signer

* correctly sign DS

* simplify

* simplify by passing rrset to signer

* fix typing

* nit

* add DS

* add more test

* rewrite zone signer

* compact

* simplify

* make easier to read

* bring back rrset_signer

* move default RRset signer

* more

* more

* prettier context handling (mypy issue pending)

* make NSEC zone signer less complex

* update

* fix txn, sign as defined by SEP

* docs

* add back missing dnskey_include

* rename dnskey_include to add_dnskey

* check KSK/ZSK key tags in signed zone

---------

Co-authored-by: Bob Halley <halley@dnspython.org>
2 years agolinting + have asyncio HTTP code actually connect to right address
Bob Halley [Sun, 19 Mar 2023 16:49:25 +0000 (09:49 -0700)] 
linting + have asyncio HTTP code actually connect to right address

2 years agore-run black
Bob Halley [Sun, 19 Mar 2023 16:31:03 +0000 (09:31 -0700)] 
re-run black

2 years agoMore curio cleanups.
Bob Halley [Sun, 19 Mar 2023 16:26:33 +0000 (09:26 -0700)] 
More curio cleanups.

2 years agoBetter DNS-over-HTTPS support. (#908)
Bob Halley [Sun, 19 Mar 2023 16:24:32 +0000 (09:24 -0700)] 
Better DNS-over-HTTPS support. (#908)

This change:

Allows resolution hostnames in URLs using dnspython's resolver
or via a bootstrap address, without rewriting URLs.

Adds full support for source addresses and ports to
httpx, except for asyncio I/O where only the source address
can be specified.

Removes support for requests.

2 years agoAdd names iteration to transactions via iterate_names(). (#907)
Bob Halley [Tue, 14 Mar 2023 20:26:51 +0000 (13:26 -0700)] 
Add names iteration to transactions via iterate_names(). (#907)

Also make rdataset iteration more obvious by adding an
explicit iterate_rdatasets() API.

2 years agoUpdate wheel requirement from ^0.38.1 to ^0.40.0 (#910)
dependabot[bot] [Tue, 14 Mar 2023 20:26:35 +0000 (13:26 -0700)] 
Update wheel requirement from ^0.38.1 to ^0.40.0 (#910)

Updates the requirements on [wheel](https://github.com/pypa/wheel) to permit the latest version.
- [Release notes](https://github.com/pypa/wheel/releases)
- [Changelog](https://github.com/pypa/wheel/blob/main/docs/news.rst)
- [Commits](https://github.com/pypa/wheel/compare/0.38.1...0.40.0)

---
updated-dependencies:
- dependency-name: wheel
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years agoremove a curio reference that missed the first pass
Bob Halley [Sun, 12 Mar 2023 19:14:19 +0000 (12:14 -0700)] 
remove a curio reference that missed the first pass

2 years agoRemove curio support.
Bob Halley [Sun, 12 Mar 2023 17:03:11 +0000 (10:03 -0700)] 
Remove curio support.

2 years agolint
Bob Halley [Sun, 12 Mar 2023 15:06:46 +0000 (08:06 -0700)] 
lint

2 years agoadd Bitmap.from_rdtypes() (#906)
Jakob Schlyter [Sat, 11 Mar 2023 02:13:51 +0000 (03:13 +0100)] 
add Bitmap.from_rdtypes() (#906)

* add `Bitmap.from_rdtypes()` and add missing typing

* more typing

* add missing import

* add more typing

* fix tok type

2 years agoAdd dns.resolver.resolve_name(). (#903)
Brian Wellington [Sat, 11 Mar 2023 02:12:02 +0000 (18:12 -0800)] 
Add dns.resolver.resolve_name(). (#903)

* Add dns.resolver.resolve_name().

* Add missing type annotations.

* Add async resolve_name().

* Replace List[Answer] with HostAnswers.

* Switch addresses_and_families() tuple order

* Fix comment.

2 years agoRemove the DSA signature test, as it can fail in certain
Bob Halley [Tue, 7 Mar 2023 15:20:46 +0000 (07:20 -0800)] 
Remove the DSA signature test, as it can fail in certain
OpenSSL 3 with the FIPS 140-3 module, as the module will not
generate keys with a "q" size that is representable in DNSSEC.

2 years agoFix hangs when QUIC connection fails [#899]. (#900)
Bob Halley [Thu, 2 Mar 2023 15:51:50 +0000 (07:51 -0800)] 
Fix hangs when QUIC connection fails [#899]. (#900)

This also fixes problems with computing the wait_for() timeout for
the sync and asyncio ports, and fixes delivery of the timeout for
the sync port.

2 years agoMake a few nameserver changes that missed getting added to the PR.
Bob Halley [Sat, 25 Feb 2023 20:01:03 +0000 (12:01 -0800)] 
Make a few nameserver changes that missed getting added to the PR.

2 years agoResolver "nameserver" object support. (#897)
Bob Halley [Sat, 25 Feb 2023 19:43:26 +0000 (11:43 -0800)] 
Resolver "nameserver" object support. (#897)

* Resolver "nameserver" object support.

This turns the list of nameserver strings in the resolver into a tuple
of nameserver objects, which abstract away making queries to a
nameserver of a given type.

The resolver's legacy nameserver list is "enriched" into a tuple of
nameserver objects whenever it is set.  Note that you cannot mutate
the object other than by setting,
e.g. res.nameservers.append("1.2.3.4") will not work.

Error message accumulation has been updated to refer to the
nameservers using a descriptive text form.

* doco fix

* more doco fixes

* do enrichment at Resolution time

* require a later mypy, fix type issues

* add nameserver doc

2 years agoFix typos.
Brian Wellington [Fri, 17 Feb 2023 19:17:04 +0000 (11:17 -0800)] 
Fix typos.

2 years agoAdd dns.quic to setup.cfg for legacy setup.py installs [#896]
Bob Halley [Sat, 11 Feb 2023 23:17:27 +0000 (15:17 -0800)] 
Add dns.quic to setup.cfg for legacy setup.py installs [#896]

2 years agoBump sphinx-rtd-theme from 1.1.1 to 1.2.0 (#894)
dependabot[bot] [Wed, 8 Feb 2023 16:23:55 +0000 (08:23 -0800)] 
Bump sphinx-rtd-theme from 1.1.1 to 1.2.0 (#894)

Bumps [sphinx-rtd-theme](https://github.com/readthedocs/sphinx_rtd_theme) from 1.1.1 to 1.2.0.
- [Release notes](https://github.com/readthedocs/sphinx_rtd_theme/releases)
- [Changelog](https://github.com/readthedocs/sphinx_rtd_theme/blob/master/docs/changelog.rst)
- [Commits](https://github.com/readthedocs/sphinx_rtd_theme/compare/1.1.1...1.2.0)

---
updated-dependencies:
- dependency-name: sphinx-rtd-theme
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years agoadd more minor typehints (#889)
Mathias Ertl [Mon, 6 Feb 2023 00:33:59 +0000 (01:33 +0100)] 
add more minor typehints (#889)

2 years agoUpdate black requirement from ^22.1.0 to ^23.1.0 (#892)
dependabot[bot] [Wed, 1 Feb 2023 16:27:14 +0000 (08:27 -0800)] 
Update black requirement from ^22.1.0 to ^23.1.0 (#892)

Updates the requirements on [black](https://github.com/psf/black) to permit the latest version.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](https://github.com/psf/black/compare/22.1.0...23.1.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years agoBump readthedocs-sphinx-search from 0.1.2 to 0.2.0 (#891)
dependabot[bot] [Wed, 25 Jan 2023 17:07:51 +0000 (09:07 -0800)] 
Bump readthedocs-sphinx-search from 0.1.2 to 0.2.0 (#891)

Bumps [readthedocs-sphinx-search](https://github.com/readthedocs/readthedocs-sphinx-search) from 0.1.2 to 0.2.0.
- [Release notes](https://github.com/readthedocs/readthedocs-sphinx-search/releases)
- [Changelog](https://github.com/readthedocs/readthedocs-sphinx-search/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/readthedocs/readthedocs-sphinx-search/commits)

---
updated-dependencies:
- dependency-name: readthedocs-sphinx-search
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years agoThe DS digest_type field is now made a DSDigest instance by the constructor (#890)
Dennis Værum [Wed, 25 Jan 2023 17:06:49 +0000 (18:06 +0100)] 
The DS digest_type field is now made a DSDigest instance by the constructor (#890)

Hey @rthalley

I found another place in the code there, you may have gotten "distracted" 😉 as you phrased it in
https://github.com/rthalley/dnspython/issues/888#issuecomment-1402198449

So, I just made a pull request this time