Version 0.51 Released

Version 0.51 has been released and is available from CPAN.

Version 0.50 contained a "stale" debug line that prints cruft to STDOUT. (See rt.cpan.org #13184). That cruft may end up in log files and trigger log file analyzers.

Bug reports are welcomed through rt.cpan.org.

Version 0.50 Released

Version 0.50 has been released and is available from CPAN.

Main differences between version 0.49 and 0.50 are:

  • IPv6 transport for the Resolver and the Nameserver classes. This is provided that you have Socket6 and IO::Socket::INET6 installed.
  • Binary label support for domain names.
  • No dependency on the systems libresolv, which caused differences in behavior with respect to binary labels and caused all these compile bugs on Tiger. Net::DNS now commes with its own library, that currently only contains dn_expan().

Bug reports are welcomed through rt.cpan.org.

 

Version 0.49_03 Released

Version 0.49_03 has been released and is available from CPAN.

During development of some other code I ran into a hard to reproduce and system depended bug that was caused by Perl’s behavior to treat characters as unicode as soon as it thinks that is relevant. I introduced the "use bytes;" pragma throughout the code to cope with this.

Another minor modification is the ignqrid flag in Net::DNS::Resolver. In the default situation the Resolver will drop packets with the QR bit cleared (this is a good thing, see draft-arends-dnsext-qr-clarification) and if the ID on the response does not match that on the query, that helps protecting against spoofs. When ignqrid is set the packets with QR cleared or an ID mismatch are accepted. Use with care.

Unless critical bugs are found I will not touch this code and track the cpan testers page to see if the beast PASSes the test on a couple of platforms.

Talking about cpan testers, it is of great use as a troubleshooting tool for these pre-releases. Read Becoming a CPAN Tester with CPANPLUS and configure your system to send those reports.

Version 0.49_02 Released

Over the weekend I uploaded Net::DNS version 0.49_02 to CPAN.

This version contains a fix for a compile error on Win32 systems that showed up through the CPAN testers system.

This version also addresses the situation that when a resolver would have timed out on a first query but the answer on that first query would arrive during a retry the resolver would throw away that first packet (which is intended) and then not wait for the answer for the second query to appear. This is a significant effect in some environments. Thanks to Sidney Markovitz for the assessment of the problem and suggestions for a fix.

See the Changes file for details.

Version 0.49_01 Released

I have just uploaded Net::DNS version 0.49_01 to CPAN.

This is a release candidate for 0.50 and features IPv6 support, a number of tweaks for proper binary label support.

Net::DNS now come with its own c-library (which only contains dn_expand for now) and ends the need for relying on libresolv.a.

See the Changes file for details.

Net::DNS::TestNS 1.06

I have just uploaded Net::DNS::TestNS to CPAN.

It provides a class to setup a number of nameservers that respond to specific DNSqueries (QNAME,QTYPE) by pre-specified answers. This class is to be used in test suites where you want to have servers to show predefined behavior. The behaviour is defined through XML files.

I have been using the class in some tests suites of (yet unreleased) code. I think its useful enough for a wider audience.

The code also has its own branch on the net-dns.org subversion tree.

Net::DNS on Tiger

I received several comments on how to patch Net::DNS to properly support Tiger.

The most appropriate patch is below.

Note that this patch is not going to be needed with version 0.50 as that commes with its own implementation of dn_expand and will therefore not depend on the BIND libs that are shipped with your OS.

It may take a while (weeks) before I release the beta of 0.50 on CPAN (as version 0.49_01). I would appreciate folk trying to run the code currently on the subversion trunk.

Here is the patch:


--- Makefile.PL~
+++ Makefile.PL
@@ -62,7 +62,7 @@
if ($^O eq 'MSWin32') {
$Makefile{'PREREQ_PM'}->{'Win32::Registry'} = 0;
}
-if ($^O eq 'darwin' and $Config{'osvers'} =~ m/^7./) {
+if ($^O eq 'darwin' and $Config{'osvers'} =~ m/^[78]./) {
$Makefile{'DEFINE'} = '-DBIND_8_COMPAT';
}

Net::DNS::SEC version 0.12_01

I have just released Net::DNS::SEC 0.12_01. This version fixes a few minor bugs, slightly changes the Net::DNS::SEC::Keyset->verify method and has its documentation updated to refer to RFC4033, 4034 and 4035.

See the Changes for details

Download the package from CPAN or from the download section of the site.

Moving on to 0.50

The two main changes to version 0.50 will be support of IPv6 transport and proper dealing with binary data in dname labels (also see a previous post).

The latter makes Net::DNS come with its own c-library (which only contains dn_expand for now) and ends the need for relying on libresolv.a.

The two development branches have been merged on the trunk. It will take a while before I move to 0.50.

Version 0.49 Released

Net::DNS version 0.49 is available from CPAN.

There have not been changes between version 0.48_03 and this release.

For the changes since 0.48 see the Changes file.

If there is not a flood of bugs I will start moving the IPv6 code and the support for binary content on to the trunk and prepare for version 0.50 during the next few months.