Update to 1.11.1:
* (Version 1.11.1 released)
* dns/tsigkeyring.py (to_text): we want keyname.to_text(), not
dns.name.to_text(keyname). Thangs to wangwang for the fix.
* dns/tsig.py (sign): multi-message TSIGs were broken for
algorithms other than HMAC-MD5 because we weren't passing the
right digest module to the HMAC code. Thanks to salzmdan for
reporting the bug.
* dns/dnssec.py (_find_candidate_keys): we tried to extract the
key from the wrong variable name. Thanks to Andrei Fokau for the
fix.
* dns/resolver.py: we want 'self.retry_servfail' not just
retry_servfail. Reported by many, thanks! Thanks to
Jeffrey C. Ollie for the fix.
* tests/grange.py: fix tests to use older-style print formatting
for backwards compatibility with python 2.4. Thanks to
Jeffrey C. Ollie for the fix.
* (Version 1.11.0 released)
* dns/name.py (Name.to_wire): Do not add items with offsets >= 2^14
to the compression table. Thanks to Casey Deccio for discovering
this bug.
* dns/ipv6.py (inet_ntoa): We now comply with RFC 5952 section
5.2.2, by *not* using the :: syntax to shorten just one 16-bit
field. Thanks to David Waitzman for reporting the bug and
suggesting the fix.
* lock caches in case they are shared
* raise YXDOMAIN if we see one
* do not print empty rdatasets
* Add contributed $GENERATE support (thanks uberj)
* Remove DNSKEY keytag uniqueness assumption (RFC 4034, section 8)
(thanks James Dempsey)
* added set_flags() method to dns.resolver.Resolver
* added support for TLSA RR
* dns/rdtypes/ANY/NSEC3.py (NSEC3.from_text): The NSEC3 from_text()
method could erroneously emit empty bitmap windows (i.e. windows
with a count of 0 bytes); such bitmaps are illegal.
* (Version 1.10.0 released)
* dns/message.py (make_query): All EDNS values may now be
specified when calling make_query()
* dns/query.py: Specifying source_port had no effect if source was
not specified. We now use the appropriate wildcard source in
that case.
* dns/resolver.py (Resolver.query): source_port may now be
specified.
* dns/resolver.py (Resolver.query): Switch to TCP when a UDP
response is truncated. Handle nameservers that serve on UDP
but not TCP.
* dns/zone.py (from_xfr): dns.zone.from_xfr() now takes a
'check_origin' parameter which defaults to True. If set to
False, then dnspython will not make origin checks on the zone.
Thanks to Carlos Perez for the report.
* dns/rdtypes/ANY/SSHFP.py (SSHFP.from_text): Allow whitespace in
the text string. Thanks to Jan Andres for the report and the
patch.
* dns/message.py (from_wire): dns.message.from_wire() now takes
an 'ignore_trailing' parameter which defaults to False. If set
to True, then trailing junk will be ignored instead of causing
TrailingJunk to be raised. Thanks to Shane Huntley for
contributing the patch.
* dns/resolver.py: Added LRUCache. In this cache implementation,
the cache size is limited to a user-specified number of nodes, and
when adding a new node to a full cache the least-recently used
node is removed.
* dns/resolver.py: dns.resolver.override_system_resolver()
overrides the socket module's versions of getaddrinfo(),
getnameinfo(), getfqdn(), gethostbyname(), gethostbyname_ex() and
gethostbyaddr() with an implementation which uses a dnspython stub
resolver instead of the system's stub resolver. This can be
useful in testing situations where you want to control the
resolution behavior of python code without having to change the
system's resolver settings (e.g. /etc/resolv.conf).
dns.resolver.restore_system_resolver() undoes the change.
* dns/ipv4.py: dnspython now provides its own, stricter, versions
of IPv4 inet_ntoa() and inet_aton() instead of using the OS's
versions.
* dns/ipv6.py: inet_aton() now bounds checks embedded IPv4 addresses
more strictly. Also, now only dns.exception.SyntaxError can be
raised on bad input.
* Old DNSSEC types (KEY, NXT, and SIG) have been removed.
* Bounds checking of slices in rdata wire processing is now more
strict, and bounds errors (e.g. we got less data than was
expected) now raise dns.exception.FormError rather than
IndexError.
2014-01-17 23:48:53 +01:00
|
|
|
@comment $NetBSD: PLIST,v 1.11 2014/01/17 22:48:53 wiz Exp $
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/__init__.py
|
|
|
|
${PYSITELIB}/dns/__init__.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/__init__.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/dnssec.py
|
|
|
|
${PYSITELIB}/dns/dnssec.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/dnssec.pyo
|
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.
2007-03-09 10:41:36 +01:00
|
|
|
${PYSITELIB}/dns/e164.py
|
|
|
|
${PYSITELIB}/dns/e164.pyc
|
|
|
|
${PYSITELIB}/dns/e164.pyo
|
Update to 1.7.1:
2009-06-19 Bob Halley <halley@dnspython.org>
* (Version 1.7.1 released)
2009-06-19 Bob Halley <halley@dnspython.org>
* DLV.py was omitted from the kit
* Negative prerequisites were not handled correctly in _get_section().
2009-06-19 Bob Halley <halley@dnspython.org>
* (Version 1.7.0 released)
2009-06-19 Bob Halley <halley@dnspython.org>
* On Windows, the resolver set the domain incorrectly. Thanks
to Brandon Carpenter for reporting this bug.
* Added a to_digestable() method to rdata classes; it returns the
digestable form (i.e. DNSSEC canonical form) of the rdata. For
most rdata types this is the same uncompressed wire form. For
certain older DNS RR types, however, domain names in the rdata
are downcased.
* Added support for the HIP RR type.
2009-06-18 Bob Halley <halley@dnspython.org>
* Added support for the DLV RR type.
* Added various DNSSEC related constants (e.g. algorithm identifiers,
flag values).
* dns/tsig.py: Added support for BADTRUNC result code.
* dns/query.py (udp): When checking that addresses are the same,
use the binary form of the address in the comparison. This
ensures that we don't treat addresses as different if they have
equivalent but differing textual representations. E.g. "1:00::1"
and "1::1" represent the same address but are not textually equal.
Thanks to Kim Davies for reporting this bug.
* The resolver's query() method now has an optional 'source' parameter,
allowing the source IP address to be specified. Thanks to
Alexander Lind for suggesting the change and sending a patch.
* Added NSEC3 and NSEC3PARAM support.
2009-06-17 Bob Halley <halley@dnspython.org>
* Fixed NSEC.to_text(), which was only printing the last window.
Thanks to Brian Wellington for finding the problem and fixing it.
2009-03-30 Bob Halley <halley@dnspython.org>
* dns/query.py (xfr): Allow UDP IXFRs. Use "one_rr_per_rrset" mode when
doing IXFR.
2009-03-30 Bob Halley <halley@dnspython.org>
* Add "one_rr_per_rrset" mode switch to methods which parse
messages from wire format (e.g. dns.message.from_wire(),
dns.query.udp(), dns.query.tcp()). If set, each RR read is
placed in its own RRset (instead of being coalesced).
2009-03-30 Bob Halley <halley@dnspython.org>
* Added EDNS option support.
2008-10-16 Bob Halley <halley@dnspython.org>
* dns/rdtypes/ANY/DS.py: The from_text() parser for DS RRs did not
allow multiple Base64 chunks. Thanks to Rakesh Banka for
finding this bug and submitting a patch.
2008-10-08 Bob Halley <halley@dnspython.org>
* Add entropy module.
* When validating TSIGs, we need to use the absolute name.
2008-06-03 Bob Halley <halley@dnspython.org>
* dns/message.py (Message.set_rcode): The mask used preserved the
extended rcode, instead of everything else in ednsflags.
* dns/message.py (Message.use_edns): ednsflags was not kept
coherent with the specified edns version.
2008-02-06 Bob Halley <halley@dnspython.org>
* dns/ipv6.py (inet_aton): We could raise an exception other than
dns.exception.SyntaxError in some cases.
* dns/tsig.py: Raise an exception when the peer has set a non-zero
TSIG error.
2009-10-31 03:57:30 +01:00
|
|
|
${PYSITELIB}/dns/edns.py
|
|
|
|
${PYSITELIB}/dns/edns.pyc
|
|
|
|
${PYSITELIB}/dns/edns.pyo
|
|
|
|
${PYSITELIB}/dns/entropy.py
|
|
|
|
${PYSITELIB}/dns/entropy.pyc
|
|
|
|
${PYSITELIB}/dns/entropy.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/exception.py
|
|
|
|
${PYSITELIB}/dns/exception.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/exception.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/flags.py
|
|
|
|
${PYSITELIB}/dns/flags.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/flags.pyo
|
Update to 1.11.1:
* (Version 1.11.1 released)
* dns/tsigkeyring.py (to_text): we want keyname.to_text(), not
dns.name.to_text(keyname). Thangs to wangwang for the fix.
* dns/tsig.py (sign): multi-message TSIGs were broken for
algorithms other than HMAC-MD5 because we weren't passing the
right digest module to the HMAC code. Thanks to salzmdan for
reporting the bug.
* dns/dnssec.py (_find_candidate_keys): we tried to extract the
key from the wrong variable name. Thanks to Andrei Fokau for the
fix.
* dns/resolver.py: we want 'self.retry_servfail' not just
retry_servfail. Reported by many, thanks! Thanks to
Jeffrey C. Ollie for the fix.
* tests/grange.py: fix tests to use older-style print formatting
for backwards compatibility with python 2.4. Thanks to
Jeffrey C. Ollie for the fix.
* (Version 1.11.0 released)
* dns/name.py (Name.to_wire): Do not add items with offsets >= 2^14
to the compression table. Thanks to Casey Deccio for discovering
this bug.
* dns/ipv6.py (inet_ntoa): We now comply with RFC 5952 section
5.2.2, by *not* using the :: syntax to shorten just one 16-bit
field. Thanks to David Waitzman for reporting the bug and
suggesting the fix.
* lock caches in case they are shared
* raise YXDOMAIN if we see one
* do not print empty rdatasets
* Add contributed $GENERATE support (thanks uberj)
* Remove DNSKEY keytag uniqueness assumption (RFC 4034, section 8)
(thanks James Dempsey)
* added set_flags() method to dns.resolver.Resolver
* added support for TLSA RR
* dns/rdtypes/ANY/NSEC3.py (NSEC3.from_text): The NSEC3 from_text()
method could erroneously emit empty bitmap windows (i.e. windows
with a count of 0 bytes); such bitmaps are illegal.
* (Version 1.10.0 released)
* dns/message.py (make_query): All EDNS values may now be
specified when calling make_query()
* dns/query.py: Specifying source_port had no effect if source was
not specified. We now use the appropriate wildcard source in
that case.
* dns/resolver.py (Resolver.query): source_port may now be
specified.
* dns/resolver.py (Resolver.query): Switch to TCP when a UDP
response is truncated. Handle nameservers that serve on UDP
but not TCP.
* dns/zone.py (from_xfr): dns.zone.from_xfr() now takes a
'check_origin' parameter which defaults to True. If set to
False, then dnspython will not make origin checks on the zone.
Thanks to Carlos Perez for the report.
* dns/rdtypes/ANY/SSHFP.py (SSHFP.from_text): Allow whitespace in
the text string. Thanks to Jan Andres for the report and the
patch.
* dns/message.py (from_wire): dns.message.from_wire() now takes
an 'ignore_trailing' parameter which defaults to False. If set
to True, then trailing junk will be ignored instead of causing
TrailingJunk to be raised. Thanks to Shane Huntley for
contributing the patch.
* dns/resolver.py: Added LRUCache. In this cache implementation,
the cache size is limited to a user-specified number of nodes, and
when adding a new node to a full cache the least-recently used
node is removed.
* dns/resolver.py: dns.resolver.override_system_resolver()
overrides the socket module's versions of getaddrinfo(),
getnameinfo(), getfqdn(), gethostbyname(), gethostbyname_ex() and
gethostbyaddr() with an implementation which uses a dnspython stub
resolver instead of the system's stub resolver. This can be
useful in testing situations where you want to control the
resolution behavior of python code without having to change the
system's resolver settings (e.g. /etc/resolv.conf).
dns.resolver.restore_system_resolver() undoes the change.
* dns/ipv4.py: dnspython now provides its own, stricter, versions
of IPv4 inet_ntoa() and inet_aton() instead of using the OS's
versions.
* dns/ipv6.py: inet_aton() now bounds checks embedded IPv4 addresses
more strictly. Also, now only dns.exception.SyntaxError can be
raised on bad input.
* Old DNSSEC types (KEY, NXT, and SIG) have been removed.
* Bounds checking of slices in rdata wire processing is now more
strict, and bounds errors (e.g. we got less data than was
expected) now raise dns.exception.FormError rather than
IndexError.
2014-01-17 23:48:53 +01:00
|
|
|
${PYSITELIB}/dns/grange.py
|
|
|
|
${PYSITELIB}/dns/grange.pyc
|
|
|
|
${PYSITELIB}/dns/grange.pyo
|
Update net/py-dns to 1.9.4. Changes since 1.8.0:
2011-03-24 Bob Halley <halley@dnspython.org>
* dns/rdata.py (Rdata._wire_cmp): We need to specify no
compression and an origin to _wire_cmp() in case names in the
rdata are relative names.
* dns/rdtypes/ANY/SIG.py (SIG._cmp): Add missing 'import struct'.
Thanks to Arfrever Frehtes Taifersar Arahesis for reporting the
problem.
2011-03-24 Bob Halley <halley@dnspython.org>
* (Version 1.9.3 released)
2011-03-22 Bob Halley <halley@dnspython.org>
* dns/resolver.py: a boolean parameter, 'raise_on_no_answer', has
been added to the query() methods. In no-error, no-data
situations, this parameter determines whether NoAnswer should be
raised or not. If True, NoAnswer is raised. If False, then an
Answer() object with a None rrset will be returned.
* dns/resolver.py: Answer() objects now have a canonical_name field.
2011-01-11 Bob Halley <halley@dnspython.org>
* Dnspython was erroneously doing case-insensitive comparisons
of the names in NSEC and RRSIG RRs. Thanks to Casey Deccio for
reporting this bug.
2010-12-17 Bob Halley <halley@dnspython.org>
* dns/message.py (_WireReader._get_section): use "is" and not "=="
when testing what section an RR is in. Thanks to James Raftery
for reporting this bug.
2010-12-10 Bob Halley <halley@dnspython.org>
* dns/resolver.py (Resolver.query): disallow metaqueries.
* dns/rdata.py (Rdata.__hash__): Added a __hash__ method for rdata.
2010-11-23 Bob Halley <halley@dnspython.org>
* (Version 1.9.2 released)
2010-11-23 Bob Halley <halley@dnspython.org>
* dns/dnssec.py (_need_pycrypto): DSA and RSA are modules, not
functions, and I didn't notice because the test suite masked
the bug! *sigh*
2010-11-22 Bob Halley <halley@dnspython.org>
* (Version 1.9.1 released)
2010-11-22 Bob Halley <halley@dnspython.org>
* dns/dnssec.py: the "from" style import used to get DSA from
PyCrypto trashed a DSA constant. Now a normal import is used
to avoid namespace contamination.
2010-11-20 Bob Halley <halley@dnspython.org>
* (Version 1.9.0 released)
2010-11-07 Bob Halley <halley@dnspython.org>
* dns/dnssec.py: Added validate() to do basic DNSSEC validation
(requires PyCrypto). Thanks to Brian Wellington for the patch.
* dns/hash.py: Hash compatibility handling is now its own module.
2010-10-31 Bob Halley <halley@dnspython.org>
* dns/resolver.py (zone_for_name): A query name resulting in a
CNAME or DNAME response to a node which had an SOA was incorrectly
treated as a zone origin. In these cases, we should just look
higher. Thanks to Gert Berger for reporting this problem.
* Added zonediff.py to examples. This program compares two zones
and shows the differences either in diff-like plain text, or
HTML. Thanks to Dennis Kaarsemaker for contributing this
useful program.
2010-10-27 Bob Halley <halley@dnspython.org>
* Incorporate a patch to use poll() instead of select() by
default on platforms which support it. Thanks to
Peter Schüller and Spotify for the contribution.
2010-10-17 Bob Halley <halley@dnspython.org>
* Python prior to 2.5.2 doesn't compute the correct values for
HMAC-SHA384 and HMAC-SHA512. We now detect attempts to use
them and raise NotImplemented if the Python version is too old.
Thanks to Kevin Chen for reporting the problem.
* Various routines that took the string forms of rdata types and
classes did not permit the strings to be Unicode strings.
Thanks to Ryan Workman for reporting the issue.
* dns/tsig.py: Added symbolic constants for the algorithm strings.
E.g. you can now say dns.tsig.HMAC_MD5 instead of
"HMAC-MD5.SIG-ALG.REG.INT". Thanks to Cillian Sharkey for
suggesting this improvement.
* dns/tsig.py (get_algorithm): fix hashlib compatibility; thanks to
Kevin Chen for the patch.
* dns/dnssec.py: Added key_id() and make_ds().
* dns/message.py: message.py needs to import dns.edns since it uses
it.
2010-05-04 Bob Halley <halley@dnspython.org>
* dns/rrset.py (RRset.__init__): "covers" was not passed to the
superclass __init__(). Thanks to Shanmuga Rajan for reporting
the problem.
2010-03-10 Bob Halley <halley@dnspython.org>
* The TSIG algorithm value was passed to use_tsig() incorrectly
in some cases. Thanks to 'ducciovigolo' for reporting the problem.
2011-07-18 18:10:32 +02:00
|
|
|
${PYSITELIB}/dns/hash.py
|
|
|
|
${PYSITELIB}/dns/hash.pyc
|
|
|
|
${PYSITELIB}/dns/hash.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/inet.py
|
|
|
|
${PYSITELIB}/dns/inet.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/inet.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/ipv4.py
|
|
|
|
${PYSITELIB}/dns/ipv4.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/ipv4.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/ipv6.py
|
|
|
|
${PYSITELIB}/dns/ipv6.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/ipv6.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/message.py
|
|
|
|
${PYSITELIB}/dns/message.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/message.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/name.py
|
|
|
|
${PYSITELIB}/dns/name.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/name.pyo
|
Update py-dns to 1.1.0.
Summary of changes from 1.0.0:
* Message sections are now lists of RRsets, not lists of nodes.
* Nodes no longer have names; owner names are associated with
nodes in the Zone object's nodes dictionary.
* Many tests have been added to the test suite; dnspython 1.0.0
had 47 tests, 1.1.0 has 275. The improved testing uncovered a
number of bugs, all of which have been fixed.
* The NameDict class provides a dictionary whose keys are DNS
names. In addition to behaving like a normal Python dictionary,
it also provides the get_deepest_match() method. If, for
example, you had a dictionary containing the keys foo.com and
com, then get_deepest_match() of the name a.b.foo.com would
match the foo.com key.
* A new Renderer class for those applications which want finer
control over the DNS wire format message generation process.
* Support for a "TooBig" exception if the size of wire format
output exceeds a specified limit.
* Zones now have find_rrset() and find_rdataset() convenience
methods. They let you retrieve rdata with the specified name
and type in one call, e.g.:
rrset = zone.find_rrset('foo', 'mx')
* Other new zone convenience methods include: find_node(),
delete_node(), delete_rdataset(), replace_rdataset(),
iterate_rdatasets(), and iterate_rdatas().
* get_ variants of find_ methods are provided; the difference is
that get_ methods return None if the desired object doesn't
exist, whereas the find_ methods raise an exception.
* Zones now have a to_file() method.
* The message and zone from_file() methods allow Unicode filenames
on platforms (and versions of python) which support
them. Universal newline support is also used if available.
* The Zone class now implements more of the standard mapping
interface. E.g. you can say zone.keys(), zone.get('name'),
zone.iteritems(), etc. __iter__() has been changed to iterate
the keys rather than values to match the standard mapping
interface's behavior.
* Rdatasets support more set operations
* Zone and Node factories may be specified, allowing applications
to subclass Zone or Node and yet still use the algorithms which
build zones from master files or AXFR data.
* dns.ipv6.inet_ntoa() now minimizes the text representation of
IPv6 addresses in the usual way,
e.g. "0000:0000:0000:0000:0000:0000:0000:0001" is minimized to
"::1".
* dns.query functions now take an optional address family parameter.
All known bugs from 1.0.0 are fixed in this release.
2003-08-18 06:02:47 +02:00
|
|
|
${PYSITELIB}/dns/namedict.py
|
|
|
|
${PYSITELIB}/dns/namedict.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/namedict.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/node.py
|
|
|
|
${PYSITELIB}/dns/node.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/node.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/opcode.py
|
|
|
|
${PYSITELIB}/dns/opcode.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/opcode.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/query.py
|
|
|
|
${PYSITELIB}/dns/query.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/query.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rcode.py
|
|
|
|
${PYSITELIB}/dns/rcode.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rcode.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdata.py
|
|
|
|
${PYSITELIB}/dns/rdata.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdata.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdataclass.py
|
|
|
|
${PYSITELIB}/dns/rdataclass.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdataclass.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdataset.py
|
|
|
|
${PYSITELIB}/dns/rdataset.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdataset.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdatatype.py
|
|
|
|
${PYSITELIB}/dns/rdatatype.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdatatype.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/AFSDB.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/AFSDB.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/AFSDB.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/CERT.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/CERT.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/CERT.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/CNAME.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/CNAME.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/CNAME.pyo
|
Update to 1.7.1:
2009-06-19 Bob Halley <halley@dnspython.org>
* (Version 1.7.1 released)
2009-06-19 Bob Halley <halley@dnspython.org>
* DLV.py was omitted from the kit
* Negative prerequisites were not handled correctly in _get_section().
2009-06-19 Bob Halley <halley@dnspython.org>
* (Version 1.7.0 released)
2009-06-19 Bob Halley <halley@dnspython.org>
* On Windows, the resolver set the domain incorrectly. Thanks
to Brandon Carpenter for reporting this bug.
* Added a to_digestable() method to rdata classes; it returns the
digestable form (i.e. DNSSEC canonical form) of the rdata. For
most rdata types this is the same uncompressed wire form. For
certain older DNS RR types, however, domain names in the rdata
are downcased.
* Added support for the HIP RR type.
2009-06-18 Bob Halley <halley@dnspython.org>
* Added support for the DLV RR type.
* Added various DNSSEC related constants (e.g. algorithm identifiers,
flag values).
* dns/tsig.py: Added support for BADTRUNC result code.
* dns/query.py (udp): When checking that addresses are the same,
use the binary form of the address in the comparison. This
ensures that we don't treat addresses as different if they have
equivalent but differing textual representations. E.g. "1:00::1"
and "1::1" represent the same address but are not textually equal.
Thanks to Kim Davies for reporting this bug.
* The resolver's query() method now has an optional 'source' parameter,
allowing the source IP address to be specified. Thanks to
Alexander Lind for suggesting the change and sending a patch.
* Added NSEC3 and NSEC3PARAM support.
2009-06-17 Bob Halley <halley@dnspython.org>
* Fixed NSEC.to_text(), which was only printing the last window.
Thanks to Brian Wellington for finding the problem and fixing it.
2009-03-30 Bob Halley <halley@dnspython.org>
* dns/query.py (xfr): Allow UDP IXFRs. Use "one_rr_per_rrset" mode when
doing IXFR.
2009-03-30 Bob Halley <halley@dnspython.org>
* Add "one_rr_per_rrset" mode switch to methods which parse
messages from wire format (e.g. dns.message.from_wire(),
dns.query.udp(), dns.query.tcp()). If set, each RR read is
placed in its own RRset (instead of being coalesced).
2009-03-30 Bob Halley <halley@dnspython.org>
* Added EDNS option support.
2008-10-16 Bob Halley <halley@dnspython.org>
* dns/rdtypes/ANY/DS.py: The from_text() parser for DS RRs did not
allow multiple Base64 chunks. Thanks to Rakesh Banka for
finding this bug and submitting a patch.
2008-10-08 Bob Halley <halley@dnspython.org>
* Add entropy module.
* When validating TSIGs, we need to use the absolute name.
2008-06-03 Bob Halley <halley@dnspython.org>
* dns/message.py (Message.set_rcode): The mask used preserved the
extended rcode, instead of everything else in ednsflags.
* dns/message.py (Message.use_edns): ednsflags was not kept
coherent with the specified edns version.
2008-02-06 Bob Halley <halley@dnspython.org>
* dns/ipv6.py (inet_aton): We could raise an exception other than
dns.exception.SyntaxError in some cases.
* dns/tsig.py: Raise an exception when the peer has set a non-zero
TSIG error.
2009-10-31 03:57:30 +01:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/DLV.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/DLV.pyc
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/DLV.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/DNAME.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/DNAME.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/DNAME.pyo
|
Update py-dns to 1.3.3.
Summary of changes since 1.2.0:
* dns/rdtypes/ANY/TXT.py (TXT.from_text): The masterfile parser
incorrectly rejected TXT records where a value was not quoted.
* dns/message.py: Added make_response(), which creates a skeletal
response for the specified query. Added opcode() and set_opcode()
convenience methods to the Message class. Added the request_payload
attribute to the Message class.
* dns/zone.py (from_xfr): dns.zone.from_xfr() in relativization
mode incorrectly set zone.origin to the empty name.
* dns/name.py (Name.to_wire): The 'file' parameter to
Name.to_wire() is now optional; if omitted, the wire form will
be returned as the value of the function.
* dns/message.py (Message.find_rrset): find_rrset() now uses an
index, vastly improving the from_wire() performance of large
messages such as zone transfers.
* dns/query.py: sending queries to a nameserver via IPv6 now
works.
* dns/inet.py (af_for_address): Add af_for_address(), which looks
at a textual-form address and attempts to determine which address
family it is.
* dns/query.py: the default for the 'af' parameter of the udp(),
tcp(), and xfr() functions has been changed from AF_INET to None,
which causes dns.inet.af_for_address() to be used to determine the
address family. If dns.inet.af_for_address() can't figure it out,
we fall back to AF_INET and hope for the best.
* dns/rdtypes/ANY/NSEC.py (NSEC.from_text): The NSEC text format
does not allow specifying types by number, so we shouldn't either.
* dns/renderer.py: the renderer module didn't import random,
causing an exception to be raised if a query id wasn't provided
when a Renderer was created.
* dns/resolver.py (Resolver.query): the resolver wasn't catching
dns.exception.Timeout, so a timeout erroneously caused the whole
resolution to fail instead of just going on to the next server.
* dns/rdtypes/ANY/LOC.py (LOC.from_text): LOC milliseconds values
were converted incorrectly if the length of the milliseconds
string was less than 3.
* dns/update.py (Update.delete): We erroneously specified a
"deleting" value of dns.rdatatype.NONE instead of
dns.rdataclass.NONE when the thing being deleted was either an
Rdataset instance or an Rdata instance.
* dns/rdtypes/ANY/SSHFP.py: Added support for the proposed SSHFP
RR type.
* dns/rdata.py (from_text): The masterfile reader did not
accept the unknown RR syntax when used with a known RR type.
* dns/name.py (from_text): dns.name.from_text() did not raise
an exception if a backslash escape ended prematurely.
* dns/zone.py (_MasterReader._rr_line): The masterfile reader
erroneously treated lines starting with leading whitespace but
not having any RR definition as an error. It now treats
them like a blank line (which is not an error).
* Added support for new DNSSEC types RRSIG, NSEC, and DNSKEY.
* dns/query.py (_connect): Windows returns EWOULDBLOCK instead
of EINPROGRESS when trying to connect a nonblocking socket.
* dns/rdtypes/ANY/LOC.py (LOC.to_wire): We encoded and decoded LOC
incorrectly, since we were interpreting the values of altitiude,
size, hprec, and vprec in meters instead of centimeters.
* dns/rdtypes/IN/WKS.py (WKS.from_wire): The WKS protocol value is
encoded with just one octet, not two!
* dns/resolver.py (Cache.maybe_clean): The cleaner deleted items
from the dictionary while iterating it, causing a RuntimeError
to be raised. Thanks to Mark R. Levinson for the bug report,
regression test, and fix.
2005-04-09 18:50:03 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/DNSKEY.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/DNSKEY.pyc
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/DNSKEY.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/DS.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/DS.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/DS.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/GPOS.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/GPOS.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/GPOS.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/HINFO.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/HINFO.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/HINFO.pyo
|
Update to 1.7.1:
2009-06-19 Bob Halley <halley@dnspython.org>
* (Version 1.7.1 released)
2009-06-19 Bob Halley <halley@dnspython.org>
* DLV.py was omitted from the kit
* Negative prerequisites were not handled correctly in _get_section().
2009-06-19 Bob Halley <halley@dnspython.org>
* (Version 1.7.0 released)
2009-06-19 Bob Halley <halley@dnspython.org>
* On Windows, the resolver set the domain incorrectly. Thanks
to Brandon Carpenter for reporting this bug.
* Added a to_digestable() method to rdata classes; it returns the
digestable form (i.e. DNSSEC canonical form) of the rdata. For
most rdata types this is the same uncompressed wire form. For
certain older DNS RR types, however, domain names in the rdata
are downcased.
* Added support for the HIP RR type.
2009-06-18 Bob Halley <halley@dnspython.org>
* Added support for the DLV RR type.
* Added various DNSSEC related constants (e.g. algorithm identifiers,
flag values).
* dns/tsig.py: Added support for BADTRUNC result code.
* dns/query.py (udp): When checking that addresses are the same,
use the binary form of the address in the comparison. This
ensures that we don't treat addresses as different if they have
equivalent but differing textual representations. E.g. "1:00::1"
and "1::1" represent the same address but are not textually equal.
Thanks to Kim Davies for reporting this bug.
* The resolver's query() method now has an optional 'source' parameter,
allowing the source IP address to be specified. Thanks to
Alexander Lind for suggesting the change and sending a patch.
* Added NSEC3 and NSEC3PARAM support.
2009-06-17 Bob Halley <halley@dnspython.org>
* Fixed NSEC.to_text(), which was only printing the last window.
Thanks to Brian Wellington for finding the problem and fixing it.
2009-03-30 Bob Halley <halley@dnspython.org>
* dns/query.py (xfr): Allow UDP IXFRs. Use "one_rr_per_rrset" mode when
doing IXFR.
2009-03-30 Bob Halley <halley@dnspython.org>
* Add "one_rr_per_rrset" mode switch to methods which parse
messages from wire format (e.g. dns.message.from_wire(),
dns.query.udp(), dns.query.tcp()). If set, each RR read is
placed in its own RRset (instead of being coalesced).
2009-03-30 Bob Halley <halley@dnspython.org>
* Added EDNS option support.
2008-10-16 Bob Halley <halley@dnspython.org>
* dns/rdtypes/ANY/DS.py: The from_text() parser for DS RRs did not
allow multiple Base64 chunks. Thanks to Rakesh Banka for
finding this bug and submitting a patch.
2008-10-08 Bob Halley <halley@dnspython.org>
* Add entropy module.
* When validating TSIGs, we need to use the absolute name.
2008-06-03 Bob Halley <halley@dnspython.org>
* dns/message.py (Message.set_rcode): The mask used preserved the
extended rcode, instead of everything else in ednsflags.
* dns/message.py (Message.use_edns): ednsflags was not kept
coherent with the specified edns version.
2008-02-06 Bob Halley <halley@dnspython.org>
* dns/ipv6.py (inet_aton): We could raise an exception other than
dns.exception.SyntaxError in some cases.
* dns/tsig.py: Raise an exception when the peer has set a non-zero
TSIG error.
2009-10-31 03:57:30 +01:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/HIP.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/HIP.pyc
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/HIP.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/ISDN.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/ISDN.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/ISDN.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/LOC.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/LOC.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/LOC.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/MX.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/MX.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/MX.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/NS.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/NS.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/NS.pyo
|
Update py-dns to 1.3.3.
Summary of changes since 1.2.0:
* dns/rdtypes/ANY/TXT.py (TXT.from_text): The masterfile parser
incorrectly rejected TXT records where a value was not quoted.
* dns/message.py: Added make_response(), which creates a skeletal
response for the specified query. Added opcode() and set_opcode()
convenience methods to the Message class. Added the request_payload
attribute to the Message class.
* dns/zone.py (from_xfr): dns.zone.from_xfr() in relativization
mode incorrectly set zone.origin to the empty name.
* dns/name.py (Name.to_wire): The 'file' parameter to
Name.to_wire() is now optional; if omitted, the wire form will
be returned as the value of the function.
* dns/message.py (Message.find_rrset): find_rrset() now uses an
index, vastly improving the from_wire() performance of large
messages such as zone transfers.
* dns/query.py: sending queries to a nameserver via IPv6 now
works.
* dns/inet.py (af_for_address): Add af_for_address(), which looks
at a textual-form address and attempts to determine which address
family it is.
* dns/query.py: the default for the 'af' parameter of the udp(),
tcp(), and xfr() functions has been changed from AF_INET to None,
which causes dns.inet.af_for_address() to be used to determine the
address family. If dns.inet.af_for_address() can't figure it out,
we fall back to AF_INET and hope for the best.
* dns/rdtypes/ANY/NSEC.py (NSEC.from_text): The NSEC text format
does not allow specifying types by number, so we shouldn't either.
* dns/renderer.py: the renderer module didn't import random,
causing an exception to be raised if a query id wasn't provided
when a Renderer was created.
* dns/resolver.py (Resolver.query): the resolver wasn't catching
dns.exception.Timeout, so a timeout erroneously caused the whole
resolution to fail instead of just going on to the next server.
* dns/rdtypes/ANY/LOC.py (LOC.from_text): LOC milliseconds values
were converted incorrectly if the length of the milliseconds
string was less than 3.
* dns/update.py (Update.delete): We erroneously specified a
"deleting" value of dns.rdatatype.NONE instead of
dns.rdataclass.NONE when the thing being deleted was either an
Rdataset instance or an Rdata instance.
* dns/rdtypes/ANY/SSHFP.py: Added support for the proposed SSHFP
RR type.
* dns/rdata.py (from_text): The masterfile reader did not
accept the unknown RR syntax when used with a known RR type.
* dns/name.py (from_text): dns.name.from_text() did not raise
an exception if a backslash escape ended prematurely.
* dns/zone.py (_MasterReader._rr_line): The masterfile reader
erroneously treated lines starting with leading whitespace but
not having any RR definition as an error. It now treats
them like a blank line (which is not an error).
* Added support for new DNSSEC types RRSIG, NSEC, and DNSKEY.
* dns/query.py (_connect): Windows returns EWOULDBLOCK instead
of EINPROGRESS when trying to connect a nonblocking socket.
* dns/rdtypes/ANY/LOC.py (LOC.to_wire): We encoded and decoded LOC
incorrectly, since we were interpreting the values of altitiude,
size, hprec, and vprec in meters instead of centimeters.
* dns/rdtypes/IN/WKS.py (WKS.from_wire): The WKS protocol value is
encoded with just one octet, not two!
* dns/resolver.py (Cache.maybe_clean): The cleaner deleted items
from the dictionary while iterating it, causing a RuntimeError
to be raised. Thanks to Mark R. Levinson for the bug report,
regression test, and fix.
2005-04-09 18:50:03 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/NSEC.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/NSEC.pyc
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/NSEC.pyo
|
Update to 1.7.1:
2009-06-19 Bob Halley <halley@dnspython.org>
* (Version 1.7.1 released)
2009-06-19 Bob Halley <halley@dnspython.org>
* DLV.py was omitted from the kit
* Negative prerequisites were not handled correctly in _get_section().
2009-06-19 Bob Halley <halley@dnspython.org>
* (Version 1.7.0 released)
2009-06-19 Bob Halley <halley@dnspython.org>
* On Windows, the resolver set the domain incorrectly. Thanks
to Brandon Carpenter for reporting this bug.
* Added a to_digestable() method to rdata classes; it returns the
digestable form (i.e. DNSSEC canonical form) of the rdata. For
most rdata types this is the same uncompressed wire form. For
certain older DNS RR types, however, domain names in the rdata
are downcased.
* Added support for the HIP RR type.
2009-06-18 Bob Halley <halley@dnspython.org>
* Added support for the DLV RR type.
* Added various DNSSEC related constants (e.g. algorithm identifiers,
flag values).
* dns/tsig.py: Added support for BADTRUNC result code.
* dns/query.py (udp): When checking that addresses are the same,
use the binary form of the address in the comparison. This
ensures that we don't treat addresses as different if they have
equivalent but differing textual representations. E.g. "1:00::1"
and "1::1" represent the same address but are not textually equal.
Thanks to Kim Davies for reporting this bug.
* The resolver's query() method now has an optional 'source' parameter,
allowing the source IP address to be specified. Thanks to
Alexander Lind for suggesting the change and sending a patch.
* Added NSEC3 and NSEC3PARAM support.
2009-06-17 Bob Halley <halley@dnspython.org>
* Fixed NSEC.to_text(), which was only printing the last window.
Thanks to Brian Wellington for finding the problem and fixing it.
2009-03-30 Bob Halley <halley@dnspython.org>
* dns/query.py (xfr): Allow UDP IXFRs. Use "one_rr_per_rrset" mode when
doing IXFR.
2009-03-30 Bob Halley <halley@dnspython.org>
* Add "one_rr_per_rrset" mode switch to methods which parse
messages from wire format (e.g. dns.message.from_wire(),
dns.query.udp(), dns.query.tcp()). If set, each RR read is
placed in its own RRset (instead of being coalesced).
2009-03-30 Bob Halley <halley@dnspython.org>
* Added EDNS option support.
2008-10-16 Bob Halley <halley@dnspython.org>
* dns/rdtypes/ANY/DS.py: The from_text() parser for DS RRs did not
allow multiple Base64 chunks. Thanks to Rakesh Banka for
finding this bug and submitting a patch.
2008-10-08 Bob Halley <halley@dnspython.org>
* Add entropy module.
* When validating TSIGs, we need to use the absolute name.
2008-06-03 Bob Halley <halley@dnspython.org>
* dns/message.py (Message.set_rcode): The mask used preserved the
extended rcode, instead of everything else in ednsflags.
* dns/message.py (Message.use_edns): ednsflags was not kept
coherent with the specified edns version.
2008-02-06 Bob Halley <halley@dnspython.org>
* dns/ipv6.py (inet_aton): We could raise an exception other than
dns.exception.SyntaxError in some cases.
* dns/tsig.py: Raise an exception when the peer has set a non-zero
TSIG error.
2009-10-31 03:57:30 +01:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/NSEC3.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/NSEC3.pyc
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/NSEC3.pyo
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/NSEC3PARAM.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/NSEC3PARAM.pyc
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/NSEC3PARAM.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/PTR.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/PTR.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/PTR.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/RP.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/RP.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/RP.pyo
|
Update py-dns to 1.3.3.
Summary of changes since 1.2.0:
* dns/rdtypes/ANY/TXT.py (TXT.from_text): The masterfile parser
incorrectly rejected TXT records where a value was not quoted.
* dns/message.py: Added make_response(), which creates a skeletal
response for the specified query. Added opcode() and set_opcode()
convenience methods to the Message class. Added the request_payload
attribute to the Message class.
* dns/zone.py (from_xfr): dns.zone.from_xfr() in relativization
mode incorrectly set zone.origin to the empty name.
* dns/name.py (Name.to_wire): The 'file' parameter to
Name.to_wire() is now optional; if omitted, the wire form will
be returned as the value of the function.
* dns/message.py (Message.find_rrset): find_rrset() now uses an
index, vastly improving the from_wire() performance of large
messages such as zone transfers.
* dns/query.py: sending queries to a nameserver via IPv6 now
works.
* dns/inet.py (af_for_address): Add af_for_address(), which looks
at a textual-form address and attempts to determine which address
family it is.
* dns/query.py: the default for the 'af' parameter of the udp(),
tcp(), and xfr() functions has been changed from AF_INET to None,
which causes dns.inet.af_for_address() to be used to determine the
address family. If dns.inet.af_for_address() can't figure it out,
we fall back to AF_INET and hope for the best.
* dns/rdtypes/ANY/NSEC.py (NSEC.from_text): The NSEC text format
does not allow specifying types by number, so we shouldn't either.
* dns/renderer.py: the renderer module didn't import random,
causing an exception to be raised if a query id wasn't provided
when a Renderer was created.
* dns/resolver.py (Resolver.query): the resolver wasn't catching
dns.exception.Timeout, so a timeout erroneously caused the whole
resolution to fail instead of just going on to the next server.
* dns/rdtypes/ANY/LOC.py (LOC.from_text): LOC milliseconds values
were converted incorrectly if the length of the milliseconds
string was less than 3.
* dns/update.py (Update.delete): We erroneously specified a
"deleting" value of dns.rdatatype.NONE instead of
dns.rdataclass.NONE when the thing being deleted was either an
Rdataset instance or an Rdata instance.
* dns/rdtypes/ANY/SSHFP.py: Added support for the proposed SSHFP
RR type.
* dns/rdata.py (from_text): The masterfile reader did not
accept the unknown RR syntax when used with a known RR type.
* dns/name.py (from_text): dns.name.from_text() did not raise
an exception if a backslash escape ended prematurely.
* dns/zone.py (_MasterReader._rr_line): The masterfile reader
erroneously treated lines starting with leading whitespace but
not having any RR definition as an error. It now treats
them like a blank line (which is not an error).
* Added support for new DNSSEC types RRSIG, NSEC, and DNSKEY.
* dns/query.py (_connect): Windows returns EWOULDBLOCK instead
of EINPROGRESS when trying to connect a nonblocking socket.
* dns/rdtypes/ANY/LOC.py (LOC.to_wire): We encoded and decoded LOC
incorrectly, since we were interpreting the values of altitiude,
size, hprec, and vprec in meters instead of centimeters.
* dns/rdtypes/IN/WKS.py (WKS.from_wire): The WKS protocol value is
encoded with just one octet, not two!
* dns/resolver.py (Cache.maybe_clean): The cleaner deleted items
from the dictionary while iterating it, causing a RuntimeError
to be raised. Thanks to Mark R. Levinson for the bug report,
regression test, and fix.
2005-04-09 18:50:03 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/RRSIG.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/RRSIG.pyc
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/RRSIG.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/RT.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/RT.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/RT.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/SOA.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/SOA.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/SOA.pyo
|
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.
2007-03-09 10:41:36 +01:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/SPF.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/SPF.pyc
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/SPF.pyo
|
Update py-dns to 1.3.3.
Summary of changes since 1.2.0:
* dns/rdtypes/ANY/TXT.py (TXT.from_text): The masterfile parser
incorrectly rejected TXT records where a value was not quoted.
* dns/message.py: Added make_response(), which creates a skeletal
response for the specified query. Added opcode() and set_opcode()
convenience methods to the Message class. Added the request_payload
attribute to the Message class.
* dns/zone.py (from_xfr): dns.zone.from_xfr() in relativization
mode incorrectly set zone.origin to the empty name.
* dns/name.py (Name.to_wire): The 'file' parameter to
Name.to_wire() is now optional; if omitted, the wire form will
be returned as the value of the function.
* dns/message.py (Message.find_rrset): find_rrset() now uses an
index, vastly improving the from_wire() performance of large
messages such as zone transfers.
* dns/query.py: sending queries to a nameserver via IPv6 now
works.
* dns/inet.py (af_for_address): Add af_for_address(), which looks
at a textual-form address and attempts to determine which address
family it is.
* dns/query.py: the default for the 'af' parameter of the udp(),
tcp(), and xfr() functions has been changed from AF_INET to None,
which causes dns.inet.af_for_address() to be used to determine the
address family. If dns.inet.af_for_address() can't figure it out,
we fall back to AF_INET and hope for the best.
* dns/rdtypes/ANY/NSEC.py (NSEC.from_text): The NSEC text format
does not allow specifying types by number, so we shouldn't either.
* dns/renderer.py: the renderer module didn't import random,
causing an exception to be raised if a query id wasn't provided
when a Renderer was created.
* dns/resolver.py (Resolver.query): the resolver wasn't catching
dns.exception.Timeout, so a timeout erroneously caused the whole
resolution to fail instead of just going on to the next server.
* dns/rdtypes/ANY/LOC.py (LOC.from_text): LOC milliseconds values
were converted incorrectly if the length of the milliseconds
string was less than 3.
* dns/update.py (Update.delete): We erroneously specified a
"deleting" value of dns.rdatatype.NONE instead of
dns.rdataclass.NONE when the thing being deleted was either an
Rdataset instance or an Rdata instance.
* dns/rdtypes/ANY/SSHFP.py: Added support for the proposed SSHFP
RR type.
* dns/rdata.py (from_text): The masterfile reader did not
accept the unknown RR syntax when used with a known RR type.
* dns/name.py (from_text): dns.name.from_text() did not raise
an exception if a backslash escape ended prematurely.
* dns/zone.py (_MasterReader._rr_line): The masterfile reader
erroneously treated lines starting with leading whitespace but
not having any RR definition as an error. It now treats
them like a blank line (which is not an error).
* Added support for new DNSSEC types RRSIG, NSEC, and DNSKEY.
* dns/query.py (_connect): Windows returns EWOULDBLOCK instead
of EINPROGRESS when trying to connect a nonblocking socket.
* dns/rdtypes/ANY/LOC.py (LOC.to_wire): We encoded and decoded LOC
incorrectly, since we were interpreting the values of altitiude,
size, hprec, and vprec in meters instead of centimeters.
* dns/rdtypes/IN/WKS.py (WKS.from_wire): The WKS protocol value is
encoded with just one octet, not two!
* dns/resolver.py (Cache.maybe_clean): The cleaner deleted items
from the dictionary while iterating it, causing a RuntimeError
to be raised. Thanks to Mark R. Levinson for the bug report,
regression test, and fix.
2005-04-09 18:50:03 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/SSHFP.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/SSHFP.pyc
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/SSHFP.pyo
|
Update to 1.11.1:
* (Version 1.11.1 released)
* dns/tsigkeyring.py (to_text): we want keyname.to_text(), not
dns.name.to_text(keyname). Thangs to wangwang for the fix.
* dns/tsig.py (sign): multi-message TSIGs were broken for
algorithms other than HMAC-MD5 because we weren't passing the
right digest module to the HMAC code. Thanks to salzmdan for
reporting the bug.
* dns/dnssec.py (_find_candidate_keys): we tried to extract the
key from the wrong variable name. Thanks to Andrei Fokau for the
fix.
* dns/resolver.py: we want 'self.retry_servfail' not just
retry_servfail. Reported by many, thanks! Thanks to
Jeffrey C. Ollie for the fix.
* tests/grange.py: fix tests to use older-style print formatting
for backwards compatibility with python 2.4. Thanks to
Jeffrey C. Ollie for the fix.
* (Version 1.11.0 released)
* dns/name.py (Name.to_wire): Do not add items with offsets >= 2^14
to the compression table. Thanks to Casey Deccio for discovering
this bug.
* dns/ipv6.py (inet_ntoa): We now comply with RFC 5952 section
5.2.2, by *not* using the :: syntax to shorten just one 16-bit
field. Thanks to David Waitzman for reporting the bug and
suggesting the fix.
* lock caches in case they are shared
* raise YXDOMAIN if we see one
* do not print empty rdatasets
* Add contributed $GENERATE support (thanks uberj)
* Remove DNSKEY keytag uniqueness assumption (RFC 4034, section 8)
(thanks James Dempsey)
* added set_flags() method to dns.resolver.Resolver
* added support for TLSA RR
* dns/rdtypes/ANY/NSEC3.py (NSEC3.from_text): The NSEC3 from_text()
method could erroneously emit empty bitmap windows (i.e. windows
with a count of 0 bytes); such bitmaps are illegal.
* (Version 1.10.0 released)
* dns/message.py (make_query): All EDNS values may now be
specified when calling make_query()
* dns/query.py: Specifying source_port had no effect if source was
not specified. We now use the appropriate wildcard source in
that case.
* dns/resolver.py (Resolver.query): source_port may now be
specified.
* dns/resolver.py (Resolver.query): Switch to TCP when a UDP
response is truncated. Handle nameservers that serve on UDP
but not TCP.
* dns/zone.py (from_xfr): dns.zone.from_xfr() now takes a
'check_origin' parameter which defaults to True. If set to
False, then dnspython will not make origin checks on the zone.
Thanks to Carlos Perez for the report.
* dns/rdtypes/ANY/SSHFP.py (SSHFP.from_text): Allow whitespace in
the text string. Thanks to Jan Andres for the report and the
patch.
* dns/message.py (from_wire): dns.message.from_wire() now takes
an 'ignore_trailing' parameter which defaults to False. If set
to True, then trailing junk will be ignored instead of causing
TrailingJunk to be raised. Thanks to Shane Huntley for
contributing the patch.
* dns/resolver.py: Added LRUCache. In this cache implementation,
the cache size is limited to a user-specified number of nodes, and
when adding a new node to a full cache the least-recently used
node is removed.
* dns/resolver.py: dns.resolver.override_system_resolver()
overrides the socket module's versions of getaddrinfo(),
getnameinfo(), getfqdn(), gethostbyname(), gethostbyname_ex() and
gethostbyaddr() with an implementation which uses a dnspython stub
resolver instead of the system's stub resolver. This can be
useful in testing situations where you want to control the
resolution behavior of python code without having to change the
system's resolver settings (e.g. /etc/resolv.conf).
dns.resolver.restore_system_resolver() undoes the change.
* dns/ipv4.py: dnspython now provides its own, stricter, versions
of IPv4 inet_ntoa() and inet_aton() instead of using the OS's
versions.
* dns/ipv6.py: inet_aton() now bounds checks embedded IPv4 addresses
more strictly. Also, now only dns.exception.SyntaxError can be
raised on bad input.
* Old DNSSEC types (KEY, NXT, and SIG) have been removed.
* Bounds checking of slices in rdata wire processing is now more
strict, and bounds errors (e.g. we got less data than was
expected) now raise dns.exception.FormError rather than
IndexError.
2014-01-17 23:48:53 +01:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/TLSA.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/TLSA.pyc
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/TLSA.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/TXT.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/TXT.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/TXT.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/X25.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/X25.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/X25.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/__init__.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/__init__.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/ANY/__init__.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/IN/A.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/IN/A.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/IN/A.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/IN/AAAA.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/IN/AAAA.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/IN/AAAA.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/IN/APL.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/IN/APL.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/IN/APL.pyo
|
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.
2007-03-09 10:41:36 +01:00
|
|
|
${PYSITELIB}/dns/rdtypes/IN/DHCID.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/IN/DHCID.pyc
|
|
|
|
${PYSITELIB}/dns/rdtypes/IN/DHCID.pyo
|
|
|
|
${PYSITELIB}/dns/rdtypes/IN/IPSECKEY.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/IN/IPSECKEY.pyc
|
|
|
|
${PYSITELIB}/dns/rdtypes/IN/IPSECKEY.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/IN/KX.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/IN/KX.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/IN/KX.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/IN/NAPTR.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/IN/NAPTR.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/IN/NAPTR.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/IN/NSAP.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/IN/NSAP.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/IN/NSAP.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/IN/NSAP_PTR.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/IN/NSAP_PTR.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/IN/NSAP_PTR.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/IN/PX.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/IN/PX.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/IN/PX.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/IN/SRV.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/IN/SRV.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/IN/SRV.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/IN/WKS.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/IN/WKS.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/IN/WKS.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/IN/__init__.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/IN/__init__.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/IN/__init__.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/__init__.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/__init__.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/__init__.pyo
|
Update to 1.7.1:
2009-06-19 Bob Halley <halley@dnspython.org>
* (Version 1.7.1 released)
2009-06-19 Bob Halley <halley@dnspython.org>
* DLV.py was omitted from the kit
* Negative prerequisites were not handled correctly in _get_section().
2009-06-19 Bob Halley <halley@dnspython.org>
* (Version 1.7.0 released)
2009-06-19 Bob Halley <halley@dnspython.org>
* On Windows, the resolver set the domain incorrectly. Thanks
to Brandon Carpenter for reporting this bug.
* Added a to_digestable() method to rdata classes; it returns the
digestable form (i.e. DNSSEC canonical form) of the rdata. For
most rdata types this is the same uncompressed wire form. For
certain older DNS RR types, however, domain names in the rdata
are downcased.
* Added support for the HIP RR type.
2009-06-18 Bob Halley <halley@dnspython.org>
* Added support for the DLV RR type.
* Added various DNSSEC related constants (e.g. algorithm identifiers,
flag values).
* dns/tsig.py: Added support for BADTRUNC result code.
* dns/query.py (udp): When checking that addresses are the same,
use the binary form of the address in the comparison. This
ensures that we don't treat addresses as different if they have
equivalent but differing textual representations. E.g. "1:00::1"
and "1::1" represent the same address but are not textually equal.
Thanks to Kim Davies for reporting this bug.
* The resolver's query() method now has an optional 'source' parameter,
allowing the source IP address to be specified. Thanks to
Alexander Lind for suggesting the change and sending a patch.
* Added NSEC3 and NSEC3PARAM support.
2009-06-17 Bob Halley <halley@dnspython.org>
* Fixed NSEC.to_text(), which was only printing the last window.
Thanks to Brian Wellington for finding the problem and fixing it.
2009-03-30 Bob Halley <halley@dnspython.org>
* dns/query.py (xfr): Allow UDP IXFRs. Use "one_rr_per_rrset" mode when
doing IXFR.
2009-03-30 Bob Halley <halley@dnspython.org>
* Add "one_rr_per_rrset" mode switch to methods which parse
messages from wire format (e.g. dns.message.from_wire(),
dns.query.udp(), dns.query.tcp()). If set, each RR read is
placed in its own RRset (instead of being coalesced).
2009-03-30 Bob Halley <halley@dnspython.org>
* Added EDNS option support.
2008-10-16 Bob Halley <halley@dnspython.org>
* dns/rdtypes/ANY/DS.py: The from_text() parser for DS RRs did not
allow multiple Base64 chunks. Thanks to Rakesh Banka for
finding this bug and submitting a patch.
2008-10-08 Bob Halley <halley@dnspython.org>
* Add entropy module.
* When validating TSIGs, we need to use the absolute name.
2008-06-03 Bob Halley <halley@dnspython.org>
* dns/message.py (Message.set_rcode): The mask used preserved the
extended rcode, instead of everything else in ednsflags.
* dns/message.py (Message.use_edns): ednsflags was not kept
coherent with the specified edns version.
2008-02-06 Bob Halley <halley@dnspython.org>
* dns/ipv6.py (inet_aton): We could raise an exception other than
dns.exception.SyntaxError in some cases.
* dns/tsig.py: Raise an exception when the peer has set a non-zero
TSIG error.
2009-10-31 03:57:30 +01:00
|
|
|
${PYSITELIB}/dns/rdtypes/dsbase.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/dsbase.pyc
|
|
|
|
${PYSITELIB}/dns/rdtypes/dsbase.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/mxbase.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/mxbase.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/mxbase.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/nsbase.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/nsbase.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rdtypes/nsbase.pyo
|
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.
2007-03-09 10:41:36 +01:00
|
|
|
${PYSITELIB}/dns/rdtypes/txtbase.py
|
|
|
|
${PYSITELIB}/dns/rdtypes/txtbase.pyc
|
|
|
|
${PYSITELIB}/dns/rdtypes/txtbase.pyo
|
Update py-dns to 1.1.0.
Summary of changes from 1.0.0:
* Message sections are now lists of RRsets, not lists of nodes.
* Nodes no longer have names; owner names are associated with
nodes in the Zone object's nodes dictionary.
* Many tests have been added to the test suite; dnspython 1.0.0
had 47 tests, 1.1.0 has 275. The improved testing uncovered a
number of bugs, all of which have been fixed.
* The NameDict class provides a dictionary whose keys are DNS
names. In addition to behaving like a normal Python dictionary,
it also provides the get_deepest_match() method. If, for
example, you had a dictionary containing the keys foo.com and
com, then get_deepest_match() of the name a.b.foo.com would
match the foo.com key.
* A new Renderer class for those applications which want finer
control over the DNS wire format message generation process.
* Support for a "TooBig" exception if the size of wire format
output exceeds a specified limit.
* Zones now have find_rrset() and find_rdataset() convenience
methods. They let you retrieve rdata with the specified name
and type in one call, e.g.:
rrset = zone.find_rrset('foo', 'mx')
* Other new zone convenience methods include: find_node(),
delete_node(), delete_rdataset(), replace_rdataset(),
iterate_rdatasets(), and iterate_rdatas().
* get_ variants of find_ methods are provided; the difference is
that get_ methods return None if the desired object doesn't
exist, whereas the find_ methods raise an exception.
* Zones now have a to_file() method.
* The message and zone from_file() methods allow Unicode filenames
on platforms (and versions of python) which support
them. Universal newline support is also used if available.
* The Zone class now implements more of the standard mapping
interface. E.g. you can say zone.keys(), zone.get('name'),
zone.iteritems(), etc. __iter__() has been changed to iterate
the keys rather than values to match the standard mapping
interface's behavior.
* Rdatasets support more set operations
* Zone and Node factories may be specified, allowing applications
to subclass Zone or Node and yet still use the algorithms which
build zones from master files or AXFR data.
* dns.ipv6.inet_ntoa() now minimizes the text representation of
IPv6 addresses in the usual way,
e.g. "0000:0000:0000:0000:0000:0000:0000:0001" is minimized to
"::1".
* dns.query functions now take an optional address family parameter.
All known bugs from 1.0.0 are fixed in this release.
2003-08-18 06:02:47 +02:00
|
|
|
${PYSITELIB}/dns/renderer.py
|
|
|
|
${PYSITELIB}/dns/renderer.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/renderer.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/resolver.py
|
|
|
|
${PYSITELIB}/dns/resolver.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/resolver.pyo
|
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.
2007-03-09 10:41:36 +01:00
|
|
|
${PYSITELIB}/dns/reversename.py
|
|
|
|
${PYSITELIB}/dns/reversename.pyc
|
|
|
|
${PYSITELIB}/dns/reversename.pyo
|
Update py-dns to 1.1.0.
Summary of changes from 1.0.0:
* Message sections are now lists of RRsets, not lists of nodes.
* Nodes no longer have names; owner names are associated with
nodes in the Zone object's nodes dictionary.
* Many tests have been added to the test suite; dnspython 1.0.0
had 47 tests, 1.1.0 has 275. The improved testing uncovered a
number of bugs, all of which have been fixed.
* The NameDict class provides a dictionary whose keys are DNS
names. In addition to behaving like a normal Python dictionary,
it also provides the get_deepest_match() method. If, for
example, you had a dictionary containing the keys foo.com and
com, then get_deepest_match() of the name a.b.foo.com would
match the foo.com key.
* A new Renderer class for those applications which want finer
control over the DNS wire format message generation process.
* Support for a "TooBig" exception if the size of wire format
output exceeds a specified limit.
* Zones now have find_rrset() and find_rdataset() convenience
methods. They let you retrieve rdata with the specified name
and type in one call, e.g.:
rrset = zone.find_rrset('foo', 'mx')
* Other new zone convenience methods include: find_node(),
delete_node(), delete_rdataset(), replace_rdataset(),
iterate_rdatasets(), and iterate_rdatas().
* get_ variants of find_ methods are provided; the difference is
that get_ methods return None if the desired object doesn't
exist, whereas the find_ methods raise an exception.
* Zones now have a to_file() method.
* The message and zone from_file() methods allow Unicode filenames
on platforms (and versions of python) which support
them. Universal newline support is also used if available.
* The Zone class now implements more of the standard mapping
interface. E.g. you can say zone.keys(), zone.get('name'),
zone.iteritems(), etc. __iter__() has been changed to iterate
the keys rather than values to match the standard mapping
interface's behavior.
* Rdatasets support more set operations
* Zone and Node factories may be specified, allowing applications
to subclass Zone or Node and yet still use the algorithms which
build zones from master files or AXFR data.
* dns.ipv6.inet_ntoa() now minimizes the text representation of
IPv6 addresses in the usual way,
e.g. "0000:0000:0000:0000:0000:0000:0000:0001" is minimized to
"::1".
* dns.query functions now take an optional address family parameter.
All known bugs from 1.0.0 are fixed in this release.
2003-08-18 06:02:47 +02:00
|
|
|
${PYSITELIB}/dns/rrset.py
|
|
|
|
${PYSITELIB}/dns/rrset.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/rrset.pyo
|
Update py-dns to 1.1.0.
Summary of changes from 1.0.0:
* Message sections are now lists of RRsets, not lists of nodes.
* Nodes no longer have names; owner names are associated with
nodes in the Zone object's nodes dictionary.
* Many tests have been added to the test suite; dnspython 1.0.0
had 47 tests, 1.1.0 has 275. The improved testing uncovered a
number of bugs, all of which have been fixed.
* The NameDict class provides a dictionary whose keys are DNS
names. In addition to behaving like a normal Python dictionary,
it also provides the get_deepest_match() method. If, for
example, you had a dictionary containing the keys foo.com and
com, then get_deepest_match() of the name a.b.foo.com would
match the foo.com key.
* A new Renderer class for those applications which want finer
control over the DNS wire format message generation process.
* Support for a "TooBig" exception if the size of wire format
output exceeds a specified limit.
* Zones now have find_rrset() and find_rdataset() convenience
methods. They let you retrieve rdata with the specified name
and type in one call, e.g.:
rrset = zone.find_rrset('foo', 'mx')
* Other new zone convenience methods include: find_node(),
delete_node(), delete_rdataset(), replace_rdataset(),
iterate_rdatasets(), and iterate_rdatas().
* get_ variants of find_ methods are provided; the difference is
that get_ methods return None if the desired object doesn't
exist, whereas the find_ methods raise an exception.
* Zones now have a to_file() method.
* The message and zone from_file() methods allow Unicode filenames
on platforms (and versions of python) which support
them. Universal newline support is also used if available.
* The Zone class now implements more of the standard mapping
interface. E.g. you can say zone.keys(), zone.get('name'),
zone.iteritems(), etc. __iter__() has been changed to iterate
the keys rather than values to match the standard mapping
interface's behavior.
* Rdatasets support more set operations
* Zone and Node factories may be specified, allowing applications
to subclass Zone or Node and yet still use the algorithms which
build zones from master files or AXFR data.
* dns.ipv6.inet_ntoa() now minimizes the text representation of
IPv6 addresses in the usual way,
e.g. "0000:0000:0000:0000:0000:0000:0000:0001" is minimized to
"::1".
* dns.query functions now take an optional address family parameter.
All known bugs from 1.0.0 are fixed in this release.
2003-08-18 06:02:47 +02:00
|
|
|
${PYSITELIB}/dns/set.py
|
|
|
|
${PYSITELIB}/dns/set.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/set.pyo
|
|
|
|
${PYSITELIB}/dns/tokenizer.py
|
|
|
|
${PYSITELIB}/dns/tokenizer.pyc
|
|
|
|
${PYSITELIB}/dns/tokenizer.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/tsig.py
|
|
|
|
${PYSITELIB}/dns/tsig.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/tsig.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/tsigkeyring.py
|
|
|
|
${PYSITELIB}/dns/tsigkeyring.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/tsigkeyring.pyo
|
Update py-dns to 1.3.3.
Summary of changes since 1.2.0:
* dns/rdtypes/ANY/TXT.py (TXT.from_text): The masterfile parser
incorrectly rejected TXT records where a value was not quoted.
* dns/message.py: Added make_response(), which creates a skeletal
response for the specified query. Added opcode() and set_opcode()
convenience methods to the Message class. Added the request_payload
attribute to the Message class.
* dns/zone.py (from_xfr): dns.zone.from_xfr() in relativization
mode incorrectly set zone.origin to the empty name.
* dns/name.py (Name.to_wire): The 'file' parameter to
Name.to_wire() is now optional; if omitted, the wire form will
be returned as the value of the function.
* dns/message.py (Message.find_rrset): find_rrset() now uses an
index, vastly improving the from_wire() performance of large
messages such as zone transfers.
* dns/query.py: sending queries to a nameserver via IPv6 now
works.
* dns/inet.py (af_for_address): Add af_for_address(), which looks
at a textual-form address and attempts to determine which address
family it is.
* dns/query.py: the default for the 'af' parameter of the udp(),
tcp(), and xfr() functions has been changed from AF_INET to None,
which causes dns.inet.af_for_address() to be used to determine the
address family. If dns.inet.af_for_address() can't figure it out,
we fall back to AF_INET and hope for the best.
* dns/rdtypes/ANY/NSEC.py (NSEC.from_text): The NSEC text format
does not allow specifying types by number, so we shouldn't either.
* dns/renderer.py: the renderer module didn't import random,
causing an exception to be raised if a query id wasn't provided
when a Renderer was created.
* dns/resolver.py (Resolver.query): the resolver wasn't catching
dns.exception.Timeout, so a timeout erroneously caused the whole
resolution to fail instead of just going on to the next server.
* dns/rdtypes/ANY/LOC.py (LOC.from_text): LOC milliseconds values
were converted incorrectly if the length of the milliseconds
string was less than 3.
* dns/update.py (Update.delete): We erroneously specified a
"deleting" value of dns.rdatatype.NONE instead of
dns.rdataclass.NONE when the thing being deleted was either an
Rdataset instance or an Rdata instance.
* dns/rdtypes/ANY/SSHFP.py: Added support for the proposed SSHFP
RR type.
* dns/rdata.py (from_text): The masterfile reader did not
accept the unknown RR syntax when used with a known RR type.
* dns/name.py (from_text): dns.name.from_text() did not raise
an exception if a backslash escape ended prematurely.
* dns/zone.py (_MasterReader._rr_line): The masterfile reader
erroneously treated lines starting with leading whitespace but
not having any RR definition as an error. It now treats
them like a blank line (which is not an error).
* Added support for new DNSSEC types RRSIG, NSEC, and DNSKEY.
* dns/query.py (_connect): Windows returns EWOULDBLOCK instead
of EINPROGRESS when trying to connect a nonblocking socket.
* dns/rdtypes/ANY/LOC.py (LOC.to_wire): We encoded and decoded LOC
incorrectly, since we were interpreting the values of altitiude,
size, hprec, and vprec in meters instead of centimeters.
* dns/rdtypes/IN/WKS.py (WKS.from_wire): The WKS protocol value is
encoded with just one octet, not two!
* dns/resolver.py (Cache.maybe_clean): The cleaner deleted items
from the dictionary while iterating it, causing a RuntimeError
to be raised. Thanks to Mark R. Levinson for the bug report,
regression test, and fix.
2005-04-09 18:50:03 +02:00
|
|
|
${PYSITELIB}/dns/ttl.py
|
|
|
|
${PYSITELIB}/dns/ttl.pyc
|
|
|
|
${PYSITELIB}/dns/ttl.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/update.py
|
|
|
|
${PYSITELIB}/dns/update.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/update.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/version.py
|
|
|
|
${PYSITELIB}/dns/version.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/version.pyo
|
Update to 1.11.1:
* (Version 1.11.1 released)
* dns/tsigkeyring.py (to_text): we want keyname.to_text(), not
dns.name.to_text(keyname). Thangs to wangwang for the fix.
* dns/tsig.py (sign): multi-message TSIGs were broken for
algorithms other than HMAC-MD5 because we weren't passing the
right digest module to the HMAC code. Thanks to salzmdan for
reporting the bug.
* dns/dnssec.py (_find_candidate_keys): we tried to extract the
key from the wrong variable name. Thanks to Andrei Fokau for the
fix.
* dns/resolver.py: we want 'self.retry_servfail' not just
retry_servfail. Reported by many, thanks! Thanks to
Jeffrey C. Ollie for the fix.
* tests/grange.py: fix tests to use older-style print formatting
for backwards compatibility with python 2.4. Thanks to
Jeffrey C. Ollie for the fix.
* (Version 1.11.0 released)
* dns/name.py (Name.to_wire): Do not add items with offsets >= 2^14
to the compression table. Thanks to Casey Deccio for discovering
this bug.
* dns/ipv6.py (inet_ntoa): We now comply with RFC 5952 section
5.2.2, by *not* using the :: syntax to shorten just one 16-bit
field. Thanks to David Waitzman for reporting the bug and
suggesting the fix.
* lock caches in case they are shared
* raise YXDOMAIN if we see one
* do not print empty rdatasets
* Add contributed $GENERATE support (thanks uberj)
* Remove DNSKEY keytag uniqueness assumption (RFC 4034, section 8)
(thanks James Dempsey)
* added set_flags() method to dns.resolver.Resolver
* added support for TLSA RR
* dns/rdtypes/ANY/NSEC3.py (NSEC3.from_text): The NSEC3 from_text()
method could erroneously emit empty bitmap windows (i.e. windows
with a count of 0 bytes); such bitmaps are illegal.
* (Version 1.10.0 released)
* dns/message.py (make_query): All EDNS values may now be
specified when calling make_query()
* dns/query.py: Specifying source_port had no effect if source was
not specified. We now use the appropriate wildcard source in
that case.
* dns/resolver.py (Resolver.query): source_port may now be
specified.
* dns/resolver.py (Resolver.query): Switch to TCP when a UDP
response is truncated. Handle nameservers that serve on UDP
but not TCP.
* dns/zone.py (from_xfr): dns.zone.from_xfr() now takes a
'check_origin' parameter which defaults to True. If set to
False, then dnspython will not make origin checks on the zone.
Thanks to Carlos Perez for the report.
* dns/rdtypes/ANY/SSHFP.py (SSHFP.from_text): Allow whitespace in
the text string. Thanks to Jan Andres for the report and the
patch.
* dns/message.py (from_wire): dns.message.from_wire() now takes
an 'ignore_trailing' parameter which defaults to False. If set
to True, then trailing junk will be ignored instead of causing
TrailingJunk to be raised. Thanks to Shane Huntley for
contributing the patch.
* dns/resolver.py: Added LRUCache. In this cache implementation,
the cache size is limited to a user-specified number of nodes, and
when adding a new node to a full cache the least-recently used
node is removed.
* dns/resolver.py: dns.resolver.override_system_resolver()
overrides the socket module's versions of getaddrinfo(),
getnameinfo(), getfqdn(), gethostbyname(), gethostbyname_ex() and
gethostbyaddr() with an implementation which uses a dnspython stub
resolver instead of the system's stub resolver. This can be
useful in testing situations where you want to control the
resolution behavior of python code without having to change the
system's resolver settings (e.g. /etc/resolv.conf).
dns.resolver.restore_system_resolver() undoes the change.
* dns/ipv4.py: dnspython now provides its own, stricter, versions
of IPv4 inet_ntoa() and inet_aton() instead of using the OS's
versions.
* dns/ipv6.py: inet_aton() now bounds checks embedded IPv4 addresses
more strictly. Also, now only dns.exception.SyntaxError can be
raised on bad input.
* Old DNSSEC types (KEY, NXT, and SIG) have been removed.
* Bounds checking of slices in rdata wire processing is now more
strict, and bounds errors (e.g. we got less data than was
expected) now raise dns.exception.FormError rather than
IndexError.
2014-01-17 23:48:53 +01:00
|
|
|
${PYSITELIB}/dns/wiredata.py
|
|
|
|
${PYSITELIB}/dns/wiredata.pyc
|
|
|
|
${PYSITELIB}/dns/wiredata.pyo
|
2003-06-30 01:39:30 +02:00
|
|
|
${PYSITELIB}/dns/zone.py
|
|
|
|
${PYSITELIB}/dns/zone.pyc
|
2003-09-14 18:43:45 +02:00
|
|
|
${PYSITELIB}/dns/zone.pyo
|
2012-04-08 22:21:41 +02:00
|
|
|
${PYSITELIB}/${EGG_FILE}
|