summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* try again to make doco builds work again by upgrading the build imageHEADmasterBob Halley2023-05-071-0/+2
|
* try to make doco builds work again by upgrading the build imageBob Halley2023-05-071-1/+3
|
* more requests cleanupBob Halley2023-05-071-3/+0
|
* Deal with "in" changes for enums in python 3.12Bob Halley2023-05-062-13/+4
| | | | | | | | | 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.
* Add support for ruff linter.Bob Halley2023-05-062-0/+6
|
* Fix NSEC3 base32 processing. (#929)Brian Wellington2023-05-066-0/+10
| | | | | | | | | | 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.
* resolve_at() type fixesBob Halley2023-04-192-3/+3
|
* Add make_resolver_at() and resolve_at(). (#926)Bob Halley2023-04-199-4/+227
|
* simplify DDR textBob Halley2023-04-161-1/+1
|
* Remove unnecessary string concatenation.Brian Wellington2023-04-116-11/+7
|
* Note 3.8 as the minimum for 2.4 (3.7 is EOL at the end of June).Bob Halley2023-04-071-0/+2
|
* Add basic DDR support. (#919)Bob Halley2023-04-0713-1/+361
| | | * Add basic DDR support.
* Message get_rrset() needs to pass idna_codec to find_rrset().Bob Halley2023-04-061-2/+9
| | | | Also removes some lint about "section = section" being a no-op.
* run black on enum.pyBob Halley2023-04-061-2/+2
|
* Enum typing (#923)Brian Wellington2023-04-0611-65/+77
| | | | | | | | | | | | | | | | | | | | | | * 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.
* Improve get_rrset/find_rrset API. (#922)Brian Wellington2023-04-062-23/+53
| | | | | | | | | | | * 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.
* Bump readthedocs-sphinx-search from 0.2.0 to 0.3.1 (#920)dependabot[bot]2023-04-021-1/+1
| | | | | | | | | | | | | | | | 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>
* Add some missing resolver doco.Bob Halley2023-04-022-0/+6
|
* run blackBob Halley2023-03-308-11/+13
|
* Clean up the NoDOH exception.Brian Wellington2023-03-282-3/+3
| | | | | | The docstring/default should refer to httpx, not requests, and the callers should use it rather than providing alternate (and different) strings.
* Add server_hostname to DoQNameserver.Bob Halley2023-03-261-1/+10
|
* lintBob Halley2023-03-261-22/+23
|
* Optionally allow server hostname to be checked by QUIC.Bob Halley2023-03-266-9/+22
|
* Update cryptography requirement from >=2.6,<40.0 to >=2.6,<41.0 (#917)dependabot[bot]2023-03-241-1/+1
| | | | | | | | | | | | | | | 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>
* Note DNSSEC zone signing (NSEC) is now available.Bob Halley2023-03-212-0/+5
|
* Zone signer (#911)Jakob Schlyter2023-03-202-1/+351
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* linting + have asyncio HTTP code actually connect to right addressBob Halley2023-03-193-8/+37
|
* re-run blackBob Halley2023-03-1913-35/+27
|
* More curio cleanups.Bob Halley2023-03-192-1/+3
|
* Better DNS-over-HTTPS support. (#908)Bob Halley2023-03-1915-225/+411
| | | | | | | | | | | | 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.
* Add names iteration to transactions via iterate_names(). (#907)Bob Halley2023-03-144-13/+58
| | | | Also make rdataset iteration more obvious by adding an explicit iterate_rdatasets() API.
* Update wheel requirement from ^0.38.1 to ^0.40.0 (#910)dependabot[bot]2023-03-141-1/+1
| | | | | | | | | | | | | | | 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>
* remove a curio reference that missed the first passBob Halley2023-03-121-1/+1
|
* Remove curio support.Bob Halley2023-03-129-202/+8
|
* lintBob Halley2023-03-121-25/+26
|
* add Bitmap.from_rdtypes() (#906)Jakob Schlyter2023-03-101-5/+10
| | | | | | | | | | | * add `Bitmap.from_rdtypes()` and add missing typing * more typing * add missing import * add more typing * fix tok type
* Add dns.resolver.resolve_name(). (#903)Brian Wellington2023-03-104-35/+289
| | | | | | | | | | | | | * 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.
* Remove the DSA signature test, as it can fail in certainBob Halley2023-03-071-8/+2
| | | | | OpenSSL 3 with the FIPS 140-3 module, as the module will not generate keys with a "q" size that is representable in DNSSEC.
* Fix hangs when QUIC connection fails [#899]. (#900)Bob Halley2023-03-023-35/+62
| | | | | 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.
* Make a few nameserver changes that missed getting added to the PR.Bob Halley2023-02-253-10/+16
|
* Resolver "nameserver" object support. (#897)Bob Halley2023-02-2510-149/+566
| | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Fix typos.Brian Wellington2023-02-173-3/+3
|
* Add dns.quic to setup.cfg for legacy setup.py installs [#896]Bob Halley2023-02-111-0/+1
|
* Bump sphinx-rtd-theme from 1.1.1 to 1.2.0 (#894)dependabot[bot]2023-02-081-1/+1
| | | | | | | | | | | | | | | | 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>
* add more minor typehints (#889)Mathias Ertl2023-02-051-15/+17
|
* Update black requirement from ^22.1.0 to ^23.1.0 (#892)dependabot[bot]2023-02-011-1/+1
| | | | | | | | | | | | | | | 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>
* Bump readthedocs-sphinx-search from 0.1.2 to 0.2.0 (#891)dependabot[bot]2023-01-251-1/+1
| | | | | | | | | | | | | | | | | | 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>
* The DS digest_type field is now made a DSDigest instance by the constructor ↵Dennis Værum2023-01-251-1/+1
| | | | | | | | | | (#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
* The DNSKEY flags field is now made a Flag instance by the constructor.Bob Halley2023-01-241-1/+1
|
* More doco updates for 2.4Bob Halley2023-01-182-10/+15
|