Subject: CVS commit: pkgsrc/net/py-dns
To: None <pkgsrc-changes@NetBSD.org>
From: Andreas Gustafsson <gson@netbsd.org>
List: pkgsrc-changes
Date: 03/09/2007 09:41:36
Module Name: pkgsrc
Committed By: gson
Date: Fri Mar 9 09:41:36 UTC 2007
Modified Files:
pkgsrc/net/py-dns: Makefile PLIST distinfo
Log Message:
Update py-dns to 1.5.0.
Summary of changes since 1.3.3:
* dns/rdtypes/IN/DHCID.py: Added support for the DHCID RR type.
* dns/query.py (udp): Messages from unexpected sources can now be
ignored by setting ignore_unexpected to True.
* dns/query.py (udp): When raising UnexpectedSource, add more
detail about what went wrong to the exception.
* dns/message.py (Message.use_edns): add reasonable defaults for
the ednsflags, payload, and request_payload parameters.
* dns/message.py (Message.want_dnssec): add a convenience method for
enabling/disabling the "DNSSEC desired" flag in requests.
* dns/message.py (make_query): add "use_edns" and "want_dnssec"
parameters.
* dns/resolver.py (Resolver.read_resolv_conf): If /etc/resolv.conf
doesn't exist, just use the default resolver configuration (i.e.
the same thing we would have used if resolv.conf had existed and
been empty).
* dns/resolver.py (Resolver._config_win32_fromkey): fix
cut-and-paste error where we passed the wrong variable to
self._config_win32_search(). Thanks to David Arnold for finding
the bug and submitting a patch.
* dns/resolver.py (Answer): Add more support for the sequence
protocol, forwarding requests to the answer object's rrset.
E.g. "for a in answer" is equivalent to "for a in answer.rrset",
"answer[i]" is equivalent to "answer.rrset[i]", and
"answer[i:j]" is equivalent to "answer.rrset[i:j]".
* dns/query.py (xfr): Add IXFR support.
* dns/rdtypes/IN/IPSECKEY.py: Added support for the IPSECKEY RR type.
* dns/rdtypes/ANY/SPF.py: Added support for the SPF RR type.
* (Version 1.4.0 released)
* dns/rrset.py (RRset.to_rdataset): Added a convenience method
to convert an rrset into an rdataset.
* Added dns.e164.query(). This function can be used to look for
NAPTR RRs for a specified number in several domains, e.g.:
dns.e164.query('16505551212',
['e164.dnspython.org.', 'e164.arpa.'])
* dns/resolver.py (Resolver.query): The resolver deleted from
a list while iterating it, which makes the iterator unhappy.
* dns/resolver.py (Resolver.query): The resolver needlessly
delayed responses for successful queries.
* dns/rdata.py: added a validate() method to the rdata class. If
you change an rdata by assigning to its fields, it is a good
idea to call validate() when you are done making changes.
For example, if 'r' is an MX record and then you execute:
r.preference = 100000 # invalid, because > 65535
r.validate()
The validation will fail and an exception will be raised.
* dns/ttl.py: TTLs are now bounds checked to be within the closed
interval [0, 2^31 - 1].
* The BIND 8 TTL syntax is now accepted in the SOA refresh, retry,
expire, and minimum fields, and in the original_ttl field of
SIG and RRSIG records.
* dns/resolver.py: The windows registry irritatingly changes the
list element delimiter in between ' ' and ',' (and vice-versa)
in various versions of windows. We now cope by always looking
for either one (' ' first).
* dns/e164.py: Added routines to convert between E.164 numbers and
their ENUM domain name equivalents.
* dns/reversename.py: Added routines to convert between IPv4 and
IPv6 addresses and their DNS reverse-map equivalents.
* dns/rdtypes/ANY/LOC.py (_tuple_to_float): The sign was lost when
converting a tuple into a float, which broke conversions of
south latitudes and west longitudes.
* dns/zone.py: The 'origin' parameter to from_text() and from_file()
is now optional. If not specified, dnspython will use the
first $ORIGIN in the text as the zone's origin.
* dns/zone.py: Sanity checks of the zone's origin node can now
be disabled.
* dns/name.py: Preliminary Unicode support has been added for
domain names. Running dns.name.from_text() on a Unicode string
will now encode each label using the IDN ACE encoding. The
to_unicode() method may be used to convert a dns.name.Name with
IDN ACE labels back into a Unicode string. This functionality
requires Python 2.3 or greater.
* (Version 1.3.5 released)
* dns/zone.py: Zone.iterate_rdatasets() and Zone.iterate_rdatas()
did not have a default rdtype of dns.rdatatype.ANY as their
docstrings said they did. They do now.
* dns/name.py: Added the parent() method, which returns the
parent of a name.
* dns/resolver.py: Added zone_for_name() helper, which returns
the name of the zone which contains the specified name.
* dns/resolver.py: Added get_default_resolver(), which returns
the default resolver, initializing it if necessary.
* dns/resolver.py (Resolver._compute_timeout): If time goes
backwards a little bit, ignore it.
* (Version 1.3.4 released)
* dns/message.py (make_response): Trying to respond to a response
threw a NameError while trying to throw a FormErr since it used
the wrong name for the FormErr exception.
* dns/query.py (_connect): We needed to ignore EALREADY too.
* dns/query.py: Optional "source" and "source_port" parameters
have been added to udp(), tcp(), and xfr(). Thanks to Ralf
Weber for suggesting the change and providing a patch.
* dns/query.py: The requirement that the "where" parameter be
an IPv4 or IPv6 address is now documented.
* dns/resolver.py: The resolver now does exponential backoff
each time it runs through all of the nameservers.
* dns/resolver.py: rcodes which indicate a nameserver is likely
to be a "permanent failure" for a query cause the nameserver
to be removed from the mix for that query.
To generate a diff of this commit:
cvs rdiff -r1.13 -r1.14 pkgsrc/net/py-dns/Makefile
cvs rdiff -r1.4 -r1.5 pkgsrc/net/py-dns/PLIST
cvs rdiff -r1.6 -r1.7 pkgsrc/net/py-dns/distinfo
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.