Subject: CVS commit: pkgsrc/net/py-dns
To: None <pkgsrc-changes@NetBSD.org>
From: Andreas Gustafsson <gson@netbsd.org>
List: pkgsrc-changes
Date: 03/09/2007 09:41:36
Module Name:	pkgsrc
Committed By:	gson
Date:		Fri Mar  9 09:41:36 UTC 2007

Modified Files:
	pkgsrc/net/py-dns: Makefile PLIST distinfo

Log Message:
Update py-dns to 1.5.0.

Summary of changes since 1.3.3:

	* dns/rdtypes/IN/DHCID.py: Added support for the DHCID RR type.

	* dns/query.py (udp): Messages from unexpected sources can now be
	  ignored by setting ignore_unexpected to True.

	* dns/query.py (udp): When raising UnexpectedSource, add more
	  detail about what went wrong to the exception.

	* dns/message.py (Message.use_edns): add reasonable defaults for
	  the ednsflags, payload, and request_payload parameters.

	* dns/message.py (Message.want_dnssec): add a convenience method for
	  enabling/disabling the "DNSSEC desired" flag in requests.

	* dns/message.py (make_query): add "use_edns" and "want_dnssec"
	  parameters.

	* dns/resolver.py (Resolver.read_resolv_conf): If /etc/resolv.conf
	  doesn't exist, just use the default resolver configuration (i.e.
	  the same thing we would have used if resolv.conf had existed and
	  been empty).

	* dns/resolver.py (Resolver._config_win32_fromkey): fix
	  cut-and-paste error where we passed the wrong variable to
	  self._config_win32_search().  Thanks to David Arnold for finding
	  the bug and submitting a patch.

	* dns/resolver.py (Answer): Add more support for the sequence
	  protocol, forwarding requests to the answer object's rrset.
	  E.g. "for a in answer" is equivalent to "for a in answer.rrset",
	  "answer[i]" is equivalent to "answer.rrset[i]", and
	  "answer[i:j]" is equivalent to "answer.rrset[i:j]".

	* dns/query.py (xfr): Add IXFR support.

	* dns/rdtypes/IN/IPSECKEY.py: Added support for the IPSECKEY RR type.

	* dns/rdtypes/ANY/SPF.py: Added support for the SPF RR type.

	* (Version 1.4.0 released)

	* dns/rrset.py (RRset.to_rdataset): Added a convenience method
	  to convert an rrset into an rdataset.

	* Added dns.e164.query().  This function can be used to look for
	  NAPTR RRs for a specified number in several domains, e.g.:

		dns.e164.query('16505551212',
			       ['e164.dnspython.org.', 'e164.arpa.'])

	* dns/resolver.py (Resolver.query): The resolver deleted from
	  a list while iterating it, which makes the iterator unhappy.

	* dns/resolver.py (Resolver.query): The resolver needlessly
	  delayed responses for successful queries.

	* dns/rdata.py: added a validate() method to the rdata class.  If
	  you change an rdata by assigning to its fields, it is a good
	  idea to call validate() when you are done making changes.
	  For example, if 'r' is an MX record and then you execute:

		r.preference = 100000   # invalid, because > 65535
		r.validate()

	  The validation will fail and an exception will be raised.

	* dns/ttl.py: TTLs are now bounds checked to be within the closed
	  interval [0, 2^31 - 1].

	* The BIND 8 TTL syntax is now accepted in the SOA refresh, retry,
	  expire, and minimum fields, and in the original_ttl field of
	  SIG and RRSIG records.

	* dns/resolver.py: The windows registry irritatingly changes the
	  list element delimiter in between ' ' and ',' (and vice-versa)
	  in various versions of windows.  We now cope by always looking
	  for either one (' ' first).

	* dns/e164.py: Added routines to convert between E.164 numbers and
	  their ENUM domain name equivalents.

	* dns/reversename.py: Added routines to convert between IPv4 and
	  IPv6 addresses and their DNS reverse-map equivalents.

	* dns/rdtypes/ANY/LOC.py (_tuple_to_float): The sign was lost when
	  converting a tuple into a float, which broke conversions of
	  south latitudes and west longitudes.

	* dns/zone.py: The 'origin' parameter to from_text() and from_file()
	  is now optional.  If not specified, dnspython will use the
	  first $ORIGIN in the text as the zone's origin.

	* dns/zone.py: Sanity checks of the zone's origin node can now
	  be disabled.

	* dns/name.py: Preliminary Unicode support has been added for
	  domain names.  Running dns.name.from_text() on a Unicode string
	  will now encode each label using the IDN ACE encoding.  The
	  to_unicode() method may be used to convert a dns.name.Name with
	  IDN ACE labels back into a Unicode string.  This functionality
	  requires Python 2.3 or greater.

	* (Version 1.3.5 released)

	* dns/zone.py: Zone.iterate_rdatasets() and Zone.iterate_rdatas()
	  did not have a default rdtype of dns.rdatatype.ANY as their
	  docstrings said they did.  They do now.

	* dns/name.py: Added the parent() method, which returns the
	  parent of a name.

	* dns/resolver.py: Added zone_for_name() helper, which returns
	  the name of the zone which contains the specified name.

	* dns/resolver.py: Added get_default_resolver(), which returns
	  the default resolver, initializing it if necessary.

	* dns/resolver.py (Resolver._compute_timeout): If time goes
	  backwards a little bit, ignore it.

	* (Version 1.3.4 released)

	* dns/message.py (make_response): Trying to respond to a response
	  threw a NameError while trying to throw a FormErr since it used
	  the wrong name for the FormErr exception.

	* dns/query.py (_connect): We needed to ignore EALREADY too.

	* dns/query.py: Optional "source" and "source_port" parameters
	  have been added to udp(), tcp(), and xfr().  Thanks to Ralf
	  Weber for suggesting the change and providing a patch.

	* dns/query.py: The requirement that the "where" parameter be
	  an IPv4 or IPv6 address is now documented.

	* dns/resolver.py: The resolver now does exponential backoff
	  each time it runs through all of the nameservers.

	* dns/resolver.py: rcodes which indicate a nameserver is likely
	  to be a "permanent failure" for a query cause the nameserver
	  to be removed from the mix for that query.


To generate a diff of this commit:
cvs rdiff -r1.13 -r1.14 pkgsrc/net/py-dns/Makefile
cvs rdiff -r1.4 -r1.5 pkgsrc/net/py-dns/PLIST
cvs rdiff -r1.6 -r1.7 pkgsrc/net/py-dns/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.