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.

DNSSEC RFCs released

RFCs 4033, 4034 and 4035 have just been released. These RFCs specify the DNSSEC protocol.

An extention to Net::DNS that implements the records specified used in DNSSEC is available through CPAN. The module is called Net::DNS::SEC.

The Subversion repository is available through http://www.net-dns.org/svn/net-dns-sec/trunk/

Version 0.48_3 released

I have just uploaded 0.48_3.

The most significant change is in Win32.pm where a bug has been caused by reading a wrong registry key. It is known that this code still has problems. For details see ticket 11931 in rt.cpan.org. The bottom line is that if we need to reliably find the list of nameservers we will need to do a call to a windows library. Since I failed to get Win32:API working with cygwin I figured that the important prerequisite to get a portable fix was missing and I stalled the ticket. I am open to suggestions and contributions.

Without feedback and new urgent bug-fixes the plan is track CPAN test to make sure nothing is broken release version 0.49.

Version 0.48_2 released

I have just uploaded version 0.48_2 to CPAN.

Version 0.48_1 contained a bug causing wrong domain name pointers. The bug was spotted by Bernard Schmidt who found it in the IPv6 branch. The bug was painful enough to bump to 0.48_2.

If no new bugs are found I plan to release version 0.49 once I’ve seen sufficient positive CPAN Tests.

Binary label content

Binary32labels

NOTE: There is a bug in plog that prevents me writing literal backslashes, even html esecaped backslashes get lost. So every where where you read 32 you were supposed to read backslash-zero-three-two.

When I tried to use Net::DNS to prototype a server to support "draft-sisson-dnsext-dns-name-p-s-01.txt"I found out the hard way that Net::DNS does not support binary content of domain names that well. While trying to fix this I noticed that the dn_expand function from libresolv returns different expansions on different platforms.

Last week I decided to build Net::DNS with its own library and created the first version of that library. The library currently only contains dn_expand but I may add other hooks functions to it. The code is not ready for the main branch yet but mostly because I want to make sure that the RDATA format of TXT and other data can do the proper presentation format to wire format transalations too.

For those dependend on binary content try using the http://www.net-dns.org/svn/net-dns/branches/bin_labels/ subversion directory.

There is one design choice: Shall I print out a space in a domain name as " " or as "32". One of my friends suggested to print it as "32" as the space is to often used as a field seperator in scripts. I am sympathetic to that.