Commit graph

34 commits

Author SHA1 Message Date
fhajny
ad61da77a4 Update net/py-dns to 1.15.0.
* IDNA 2008 support is now available if the "idna" module has been
  installed and IDNA 2008 is requested.  The default IDNA behavior
  is still IDNA 2003.  The new IDNA codec mechanism is currently
  only useful for direct calls to dns.name.from_text() or
  dns.name.from_unicode(), but in future releases it will be
  deployed throughout dnspython, e.g. so that you can read a
  masterfile with an IDNA 2008 codec in force.

* By default, dns.name.to_unicode() is not strict about which
  version of IDNA the input complies with.  Strictness can be
  requested by using one of the strict IDNA codecs.

* Add AVC RR support.

* Some problems with newlines in various output modes have been
  addressed.

* dns.name.to_text() now returns text and not bytes on Python 3.x

* More miscellaneous fixes for the Python 2/3 codeline merge.
2016-11-11 09:39:05 +00:00
wiz
fc9ebd42f8 Updated py-dns to 1.14.0.
2016-05-27  Bob Halley  <halley@dnspython.org>

	* (Version 1.14.0 released)

	* Add CSYNC RR support

	* Fix bug in LOC which destroyed N/S and E/W distinctions within
	  a degree of the equator or prime merdian respectively.

	* Misc. fixes to deal with fallout from the Python 2 & 3 merge.
	  [issue #156], [issue #157], [issue #158], [issue #159],
	  [issue #160].

	* Running with python optimization on caused issues when
	  stripped docstrings were referenced. [issue #154]

	* dns.zone.from_text() erroneously required the zone to be provided.
	  [issue #153]

2016-05-13  Bob Halley  <halley@dnspython.org>

	* dns/message.py (make_query): Setting any value which implies
	  EDNS will turn on EDNS if 'use_edns' has not been specified.

2016-05-12  Bob Halley  <halley@dnspython.org>

	* TSIG signature algorithm setting was broken by the Python 2
	  and Python 3 code line merge.  Fixed.

2016-05-10  Bob Halley  <halley@dnspython.org>

	* (Version 1.13.0 released)

2016-05-10  Bob Halley  <halley@dnspython.org>

	* Dropped support for Python 2.4 and 2.5.

	* Zone origin can be specified as a string.

	* Support string representation for all DNSExceptions.

	* Use setuptools not distutils

	* A number of Unicode name bug fixes.

	* Added support for CAA, CDS, CDNSKEY, EUI48, EUI64, and URI RR
	  types.

	* Names now support the pickle protocol.

	* NameDicts now keep the max-depth value correct, and update
	  properly.

	* resolv.conf processing rejects lines with too few tokens.

	* Ports can be specified per-nameserver in the stub resolver.

2016-05-03  Arthur Gautier

        * Single source support for python 2.6+ and 3.3+

2014-09-04  Bob Halley  <halley@dnspython.org>

	* Comparing two rdata is now always done by comparing the binary
	  data of the DNSSEC digestable forms.  This corrects a number of
	  errors where dnspython's rdata comparison order was not the
	  DNSSEC order.

	* Add CAA implementation.  Thanks to Brian Wellington for the
	  patch.
2016-06-30 17:45:04 +00:00
adam
1722833e66 Changes 1.12.0:
* The test system can now run the tests without requiring dnspython
	  to be installed.
	* The 64-bit version of Python on Windows has sys.maxint set to
	  2^31-1, yet passes 2^63-1 as the "unspecified bound" value in
	  slices.  This is a bug in Python as the documentation says the
	  unspecified bound value should be sys.maxint.  We now cope with
	  this.
	* When reading from a masterfile, if the first content line
	  started with leading whitespace, we raised an ugly exception
	  instead of doing the right thing, namely using the zone origin as
	  the name.
	* Added dns.zone.to_text() convenience method.
	* The /etc/resolv.conf setting "options rotate" is now understood
	  by the resolver.  If present, the resolver will shuffle the
	  nameserver list each time dns.resolver.query() is called.  Thanks
	  to underrun for the patch.  Note that you don't want to add
	  "options rotate" to your /etc/resolv.conf if your system's
	  resolver library does not understand it.  In this case, just set
	  resolver.rotate = True by hand.
	* Escaping of Unicode has been corrected.  Previously we escaped
	  and then converted to Unicode, but the right thing to do is
	  convert to Unicode, then escape.  Also, characters > 0x7f should
	  NOT be escaped in Unicode mode.
	* dns.rdtypes.ANY.DNSKEY now has helpers functions to convert
	  between the numeric form of the flags and a set of human-friendly
	  strings.
	* RRSIGs did not respect relativization settings in to_text().
	* dns/rdtypes/IN/APL.py: The APL from_wire() method did not accept an
	  rdata length of 0 as valid.
	* dns/ipv6.py: Add is_mapped()
	* dns/reversename.py: Lookup IPv6 mapped IPv4 addresses in the v4
	  reverse namespace.
	* dns/zone.py: Do not put back an unescaped token.  This was
	  causing escape processing for domain names to break.
	* dns/message.py: Making a response didn't work correctly if the
	  query was signed with TSIG and we knew the key.
	* dns/query.py: Fix problems with the IXFR state machine which caused
	  long diffs to fail.
2016-03-06 16:58:38 +00:00
adam
7f3b4730ad Extend PYTHON_VERSIONS_INCOMPATIBLE to 35 2015-12-05 21:25:27 +00:00
agc
203292f73e Add SHA512 digests for distfiles for net category
Problems found with existing digests:
	Package haproxy distfile haproxy-1.5.14.tar.gz
	159f5beb8fdc6b8059ae51b53dc935d91c0fb51f [recorded]
	da39a3ee5e6b4b0d3255bfef95601890afd80709 [calculated]

Problems found locating distfiles:
	Package bsddip: missing distfile bsddip-1.02.tar.Z
	Package citrix_ica: missing distfile citrix_ica-10.6.115659/en.linuxx86.tar.gz
	Package djbdns: missing distfile djbdns-1.05-test25.diff.bz2
	Package djbdns: missing distfile djbdns-cachestats.patch
	Package djbdns: missing distfile 0002-dnscache-cache-soa-records.patch
	Package gated: missing distfile gated-3-5-11.tar.gz
	Package owncloudclient: missing distfile owncloudclient-2.0.2.tar.xz
	Package poink: missing distfile poink-1.6.tar.gz
	Package ra-rtsp-proxy: missing distfile rtspd-src-1.0.0.0.tar.gz
	Package ucspi-ssl: missing distfile ucspi-ssl-0.70-ucspitls-0.1.patch
	Package waste: missing distfile waste-source.tar.gz

Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden).  All existing
SHA1 digests retained for now as an audit trail.
2015-11-04 00:34:51 +00:00
wiz
c1b44346cd Mark packages that are not ready for python-3.3 also not ready for 3.4,
until proven otherwise.
2014-05-09 07:36:53 +00:00
wiz
9fd2a1a1f2 Mention this is the python-2.x version of the module. 2014-01-25 09:09:06 +00:00
wiz
9f7b7ae956 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 22:48:53 +00:00
asau
e059e7e469 Drop superfluous PKG_DESTDIR_SUPPORT, "user-destdir" is default these days. 2012-10-23 17:18:07 +00:00
wiz
c595076396 All supported python versions in pkgsrc support eggs, so remove
${PLIST.eggfile} from PLISTs and support code from lang/python.
2012-04-08 20:21:41 +00:00
obache
8388d97a71 pure python module, none of compiler is required. 2011-10-31 12:53:48 +00:00
obache
7c7cf34e09 * Convert PYDISTUTILSPKG to register egg-info.
Bump PKGREVISION.
2011-10-31 12:41:11 +00:00
gson
0273197218 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 16:10:32 +00:00
gson
5d2c322e82 Update net/py-dns to 1.8.0. Summary of changes since 1.7.1:
2010-01-13  Bob Halley  <halley@dnspython.org>

	* dns/dnssec.py: Added RSASHA256 and RSASHA512 codepoints; added
	  other missing codepoints to _algorithm_by_text.

2010-01-12  Bob Halley  <halley@dnspython.org>

	* Escapes in masterfiles now work correctly.  Previously they were
	  only working correctly when the text involved was part of a domain
	  name.

	* dns/tokenizer.py: The tokenizer's get() method now returns Token
	  objects, not (type, text) tuples.

2009-11-13  Bob Halley  <halley@dnspython.org>

	* Support has been added for hmac-sha1, hmac-sha224, hmac-sha256,
	  hmac-sha384 and hmac-sha512.  Thanks to Kevin Chen for a
	  thoughtful, high quality patch.

	* dns/update.py (Update::present): A zero TTL was not added if
	  present() was called with a single rdata, causing _add() to be
	  unhappy.  Thanks to Eugene Kim for reporting the problem and
	  submitting a patch.

	* dns/entropy.py: Use os.urandom() if present.  Don't seed until
	  someone wants randomness.

2009-09-16  Bob Halley  <halley@dnspython.org>

	* dns/entropy.py: The entropy module needs locking in order to be
	  used safely in a multithreaded environment.  Thanks to Beda Kosata
	  for reporting the problem.

2009-07-27  Bob Halley  <halley@dnspython.org>

	* dns/query.py (xfr): The socket was not set to nonblocking mode.
	  Thanks to Erik Romijn for reporting this problem.

2009-07-23  Bob Halley  <halley@dnspython.org>

	* dns/rdtypes/IN/SRV.py (SRV._cmp): SRV records were compared
	  incorrectly due to a cut-and-paste error.  Thanks to Tommie
	  Gannert for reporting this bug.

	* dns/e164.py (query): The resolver parameter was not used.
	  Thanks to Matías Bellone for reporting this bug.

2009-06-23  Bob Halley  <halley@dnspython.org>

	* dns/entropy.py (EntropyPool.__init__): open /dev/random unbuffered;
	  there's no need to consume more randomness than we need.  Thanks
	  to Brian Wellington for the patch.
2010-10-16 10:45:31 +00:00
wiz
6f38547c4b 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 02:57:30 +00:00
joerg
62d1ba2bac Remove @dirrm entries from PLISTs 2009-06-14 18:03:28 +00:00
joerg
a77e7015fe Update PYTHON_VERSIONS_COMPATIBLE
- assume that Python 2.4 and 2.5 are compatible and allow checking for
fallout.
- remove PYTHON_VERSIONS_COMPATIBLE that are obsoleted by the 2.3+
default. Modify the others to deal with the removals.
2008-04-25 20:39:06 +00:00
tnn
574818c939 Update to 1.6.0.
- supports DESTDIR
- Accept Python 2.5

ChangeLog:
2007-11-25  Bob Halley  <halley@dnspython.org
* dns/query.py (_wait_for): if select() raises an exception due to
  EINTR, we should just select() again.
2007-06-13  Bob Halley  <halley@dnspython.org>
* dns/inet.py: Added is_multicast().
* dns/query.py (udp):  If the queried address is a multicast address, then
  don't check that the address of the response is the same as the address
  queried.
2007-05-24  Bob Halley  <halley@dnspython.org>
* dns/rdtypes/IN/NAPTR.py: NAPTR comparisons didn't compare the
  preference field due to a typo.
2008-04-25 19:32:44 +00:00
gson
0300972fd8 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 09:41:36 +00:00
wiz
601583c320 Whitespace cleanup, courtesy of pkglint.
Patch provided by Sergey Svishchev in private mail.
2007-02-22 19:26:05 +00:00
joerg
6a33be7313 Mark as Python 2.2+, since explicit integer division is used (//). 2006-06-02 16:17:08 +00:00
joerg
5911def816 Recursive revision bump / recommended bump for gettext ABI change. 2006-02-05 23:08:03 +00:00
tv
f816d81489 Remove USE_BUILDLINK3 and NO_BUILDLINK; these are no longer used. 2005-04-11 21:44:48 +00:00
gson
1d5a995ae1 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 16:50:03 +00:00
agc
b12d62efb5 Add RMD160 digests. 2005-02-24 12:13:41 +00:00
recht
4150812b27 add python as category
ok'd a while back at pkgsrcCon by agc and wiz
2004-07-22 09:15:59 +00:00
minskim
870019e1ff Update py-dns to 1.2.0 and bl3ify.
Changes in 1.2.0:

  - Timeout support has been overhauled. It now works on Python 2.2 as
  well as 2.3, and the total time spent processing a query is now much
  more controllable than before since the timeout is now on the whole
  query instead of just on individual network calls.

  - The master file reader now gives the filename and line number of
  the offending input when a syntax error occurs.

  - $INCLUDE is now supported in DNS master files. Processing of
  $INCLUDE can also be disabled if desired.

  - BIND 8 style TTLs, e.g. "1w2d3h4m5s", are accepted when reading a
  master file, but will never be emitted.

  - Basic zone sanity checks are made after a zone is
  loaded. Specifically, the zone must have SOA and NS rdatasets at its
  origin.
2004-02-23 17:25:32 +00:00
jmc
a7801fb1a4 Add USE_BUILDLINK2 so this picks up a proper depend 2003-09-21 09:21:07 +00:00
recht
e914ab3288 hange extension.mk to also install optimized files for distutils packages.
Inspired by FreeBSD "ports".

Fix the PLISTs accordingly.
Also, while at it, remove now obsolete compileall.py calls in post-install
targets and insure that extension.mk is in included before builinlinks of
other Python modules.

Discussed with/ok'ed by drochner@.
2003-09-14 16:43:45 +00:00
gson
e19c0f0fe4 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 04:02:47 +00:00
grant
ca3be631f2 s/netbsd.org/NetBSD.org/ 2003-07-17 22:50:55 +00:00
gson
8da63aad13 Make MASTER_SITES refer to a location which the dnspython author says
will work even after the release is no longer current.
2003-07-01 00:24:15 +00:00
gson
c8353103a8 Update py-dns to 1.0.0. Fixes pkg/22020.
Changes from 1.0.0b3:

	* dns/rdata.py: Rdatas now implement rich comparisons instead of
	__cmp__.

	* dns/name.py: Names now implement rich comparisons instead of
	__cmp__.

	* dns/inet.py (inet_ntop): Always use our code, since the code
	in the socket module doesn't support AF_INET6 conversions if
	IPv6 sockets are not available on the system.

	* dns/resolver.py (Answer.__init__): A dangling CNAME chain was
	not raising NoAnswer.

	* Added a simple resolver Cache class.

	* Added an expiration attribute to answer instances.
2003-06-30 15:33:53 +00:00
gson
82d356fc9d Import dnspython-1.0.0b3.
dnspython is a DNS toolkit for Python. It provides both high and low
level access to DNS. The high level classes perform queries for data
of a given name, type, and class, and return an answer set. The low
level classes allow direct manipulation of DNS zones, messages, names,
and records.
2003-06-29 23:39:30 +00:00