Archive for December 2012

Net::DNS 0.72 released

I am pleased to announce version 0.72 of Net::DNS.

This is a minor bugfix release. It resolves some issues with TSIG
introduced since the 0.69 release. For details see the CHANGES file.

sha1 b55801c7c467d47752558df34fcd93f602c9e56d

New mailing list for Net::DNS users.

NLnet Labs has been maintaining the perl Net::DNS and Net::DNS::SEC packages for more then seven years. Traditionally people who wanted to discuss Net::DNS used RT at cpan or directly mailed the maintainer(s).

While Net::DNS and Net::DNS::SEC are libraries that are supported by NLnet Labs, they also benefit from significant community contribution and collaboration.

Until now, there was no official platform for Net::DNS users to talk to each other and share experiences. About time to set this up; ie. a mailing-list for Net::DNS users.

If you use Net::DNS and Net::DNS::SEC and wish to discuss it with other users (and with us), please subscribe to our list on the webpage:

or subscribe by sending an email to with the word `subscribe’ in the subject or body.

Net::DNS version 0.71 released

Release 0.69/0.70 contained major architectural modifications enabling IDN support and the enrichment of the text, mailbox and domainname rdata fields. The new architecture also addressed some less visible improvements on the internal workings of Net::DNS (providing clearer separation of concerns and better protected module-interfaces.)

We have done our utmost best to introduce architectural changes as gradually and incrementally as possible in the hope to detect and resolve issues quickly. Nonetheless there is a point were all the pieces have to come together. For our architectural refactoring with Net::DNS this was in the previous version 0.69/0.70.

As a result, we have had a bigger number of critical bugs then normally after release. Release 0.71 has those resolved.

One issue that stands out is SpamAssassins update mechanism for spam-rule datasets to silently fail with Net::DNS 0.69/0.70. Spamassassin expected the rdatastr method of TXT rrs to return unconditionally quoted strings. Release 0.69/0.70 returned those conditionally in accordance with RFC 1035 section 5.1.

To resolve we agreed with SpamAssassin developers that Net::DNS 0.71 will have a temporary workaround that returns unconditionally quoted rdata fields again. This workaround will be reverted after SpamAssassin has released a version with the problem resolved.
It is already fixed in the SpamAssassin repository.

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

sha1 16c5330b42d870d2d9fd61454ed0ff8f09530c3f

Net::DNS version 0.70 released

Support for NID, L32, L64, and LP (RFC6742) was accidentally missing from release 0.69. Net::DNS 0.70 has it included. Besides that it is exactly the same as release 0.69.

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

sha1 9141b796196bd5281e0e7a46103a757e39ec2176

Net::DNS version 0.69 released

I am pleased to announce that version 0.69 of Net::DNS is now available.

Besides many bug fixes this release now employs the architectural modifications enabling IDN support that were prepared for since 0.67.  Owner names and domain name rdata fields may now be given in Unicode whereupon they will automatically be converted to IDN A-labels.

Other rdata field types have also been enriched:

  • Rdata fields containing text may now also be provided in Unicode.
  • Rdata fields referring to mailboxes may now be given in RFC822 format;
    i.e. user@domain or name <user@domain>
  • The rdata fields of the LOC resource record are now specified in actual (decimal) degrees, minutes and seconds.

Luis Muñoz has donated his Net::DNS::ZoneFile module. It is now included in the Net::DNS package.  Thank you Luis.  Net::DNS::ZoneFile now also benefits from the architectural improvements so that zone files read by the Net::DNS::ZoneFile module may contain Unicode in owner names and domain name rdata fields and the other rdata field type enrichments.

Other notable modifications in the interface are:

  • Header extensions provided by the EDNS0 OPT resource record are now  accessible transparently through the $packet‐>header interface. This includes the DO flag, extended response codes and UDP packet size.
  • Packet decoding errors are now collected in the $@ ($EVAL_ERROR)  variable.  Before the error message was returned in the second item of  the array returned when construction a Net::DNS::Packet in array  context.  Now that second argument contains the number of octets  successfully decoded.
    This makes packet decoding more robust and gives more refined control  over the decoding process.
  • The DNS parameters are now also provided in a separate module Net::DNS::Parameters.

Many thanks to Dick Franks who contributed all of the architectural improvements just described.

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

sha1 2c84cdbd121b6b50bf9528fe8f474bf0915e85c6