Archive for May 2016

Net::DNS 1.06 Released

We have a new release, version 1.06 of Net::DNS.

– Parsing of scoped IPv6 has been fixed when IO::Socket::IP is used (regression since 1.05).
– Interfering middle boxes will no longer be able to hang recursive lookups and interfere with unit tests.
– Linking of CNAMEs to its target address records with resolver->nameservers() will be done case insensitive.

This release also includes updated error reporting resulting from discussion and comments from the mailing list:

  • axfr() in list context returns the complete zone if successful. If an error occurs, an empty list is returned with errorstring() indicating the reason.
  • axfr() in scalar context returns an iterator if successful. If a connection failure occurs, undef is returned with errorstring() indicating the reason. The iterator will raise an exception if the transfer can not be completed.
  • Resolver documentation has been clarified to make explicit that errorstring() is valid immediately after an error and meaningless otherwise.

For a complete list of changes and bugfixes see the CHANGES file.

link https://www.net-dns.org/download/Net-DNS-1.06.tar.gz
sha1 1bd2a07cc0cc2b2414f38208a17f9742a0252418
asc https://www.net-dns.org/download/Net-DNS-1.06.tar.gz.asc

Regression testing results: https://www.net-dns.org/regression/.

Second release candidate for Net::DNS 1.06

We have a second candidate for the upcoming 1.06 bugfix release of Net::DNS. A list of bugfixes can be found in Changes.

This release candidate includes changes resulting from discussion and comments from the mailing list on error handling with zone transfers. Resulting in:

  • axfr() in list context returns the complete zone if successful. If an error occurs, an empty list is returned with errorstring() indicating the reason.
  • axfr() in scalar context returns an iterator if successful. If a connection failure occurs, undef is returned with errorstring() indicating the reason. The iterator will raise an exception if the transfer can not be completed.
  • Resolver documentation has been clarified to make explicit that errorstring() is valid immediately after an error and meaningless otherwise.

In the process of reducing code complexity and improving code coverage of the unit tests, the value of errorstring() is with this release candidate *meaningless* when not consulted directly after failure, similar to the predefined perl variable $! (see perlvar). Testing successful zone transfer by testing errorstring() for a value that it was known to have before the transfer, will no longer work.

Please review this candidate carefully. In particular with respect to error handling. If now issues arise, the actual release will follow Friday the 27th of May.

link https://www.net-dns.org/download/Net-DNS-1.05_06.tar.gz
sha1 5d8533d408ecf8135111132bbf82959190f25ee9
asc https://www.net-dns.org/download/Net-DNS-1.05_06.tar.gz.asc

Regression testing results: https://www.net-dns.org/regression/.