<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/dnspython.git/tests, branch master</title>
<subtitle>github.com: rthalley/dnspython.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/dnspython.git/'/>
<entry>
<title>Deal with "in" changes for enums in python 3.12</title>
<updated>2023-05-06T18:21:36+00:00</updated>
<author>
<name>Bob Halley</name>
<email>halley@dnspython.org</email>
</author>
<published>2023-05-06T18:21:36+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/dnspython.git/commit/?id=83670766f84189c30450d8beed6a896bf9207fe1'/>
<id>83670766f84189c30450d8beed6a896bf9207fe1</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix NSEC3 base32 processing. (#929)</title>
<updated>2023-05-06T14:15:32+00:00</updated>
<author>
<name>Brian Wellington</name>
<email>bwelling@xbill.org</email>
</author>
<published>2023-05-06T14:15:32+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/dnspython.git/commit/?id=bf8deda6da437ec5fdaaf5261b8674deb8e6d31c'/>
<id>bf8deda6da437ec5fdaaf5261b8674deb8e6d31c</id>
<content type='text'>
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.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.</pre>
</div>
</content>
</entry>
<entry>
<title>Add make_resolver_at() and resolve_at(). (#926)</title>
<updated>2023-04-19T15:51:16+00:00</updated>
<author>
<name>Bob Halley</name>
<email>halley@dnspython.org</email>
</author>
<published>2023-04-19T15:51:16+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/dnspython.git/commit/?id=6daff0efc931aca94b75fadf57fcfa95da9fce1b'/>
<id>6daff0efc931aca94b75fadf57fcfa95da9fce1b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add basic DDR support. (#919)</title>
<updated>2023-04-07T13:44:22+00:00</updated>
<author>
<name>Bob Halley</name>
<email>halley@dnspython.org</email>
</author>
<published>2023-04-07T13:44:22+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/dnspython.git/commit/?id=7017bb55565df81aec30a5e9f86b2b193b0315e4'/>
<id>7017bb55565df81aec30a5e9f86b2b193b0315e4</id>
<content type='text'>
* Add basic DDR support.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add basic DDR support.</pre>
</div>
</content>
</entry>
<entry>
<title>Improve get_rrset/find_rrset API. (#922)</title>
<updated>2023-04-06T13:01:59+00:00</updated>
<author>
<name>Brian Wellington</name>
<email>bwelling@xbill.org</email>
</author>
<published>2023-04-06T13:01:59+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/dnspython.git/commit/?id=c7613943d93986ac23cccff7350c42a32fa5b3bd'/>
<id>c7613943d93986ac23cccff7350c42a32fa5b3bd</id>
<content type='text'>
* 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.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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.</pre>
</div>
</content>
</entry>
<entry>
<title>Zone signer (#911)</title>
<updated>2023-03-21T01:14:59+00:00</updated>
<author>
<name>Jakob Schlyter</name>
<email>jakob@kirei.se</email>
</author>
<published>2023-03-21T01:14:59+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/dnspython.git/commit/?id=454d21c232b1531a0a4565a66f6def25e5cfd95a'/>
<id>454d21c232b1531a0a4565a66f6def25e5cfd95a</id>
<content type='text'>
* 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 &lt;halley@dnspython.org&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 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 &lt;halley@dnspython.org&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>re-run black</title>
<updated>2023-03-19T16:31:03+00:00</updated>
<author>
<name>Bob Halley</name>
<email>halley@dnspython.org</email>
</author>
<published>2023-03-19T16:31:03+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/dnspython.git/commit/?id=67daa993805b97ba1dc57245ecf3af2e55729df6'/>
<id>67daa993805b97ba1dc57245ecf3af2e55729df6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Better DNS-over-HTTPS support. (#908)</title>
<updated>2023-03-19T16:24:32+00:00</updated>
<author>
<name>Bob Halley</name>
<email>halley@dnspython.org</email>
</author>
<published>2023-03-19T16:24:32+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/dnspython.git/commit/?id=6c5f0c9d8086c999357531c38b831efd24b6b5ac'/>
<id>6c5f0c9d8086c999357531c38b831efd24b6b5ac</id>
<content type='text'>
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.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.</pre>
</div>
</content>
</entry>
<entry>
<title>Add names iteration to transactions via iterate_names(). (#907)</title>
<updated>2023-03-14T20:26:51+00:00</updated>
<author>
<name>Bob Halley</name>
<email>halley@dnspython.org</email>
</author>
<published>2023-03-14T20:26:51+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/dnspython.git/commit/?id=1aeec724042b0af114ebf3f9966e7ea4be1dad33'/>
<id>1aeec724042b0af114ebf3f9966e7ea4be1dad33</id>
<content type='text'>
Also make rdataset iteration more obvious by adding an
explicit iterate_rdatasets() API.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also make rdataset iteration more obvious by adding an
explicit iterate_rdatasets() API.</pre>
</div>
</content>
</entry>
<entry>
<title>Remove curio support.</title>
<updated>2023-03-12T17:03:11+00:00</updated>
<author>
<name>Bob Halley</name>
<email>halley@dnspython.org</email>
</author>
<published>2023-03-12T17:03:11+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/dnspython.git/commit/?id=504d810ca740310574217ed8f9296be24f00debf'/>
<id>504d810ca740310574217ed8f9296be24f00debf</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
