Net::DNS Version 0.63 released

Net::DNS version 0.63 has just been released

This release fixes a security issue (CVE-2007-6341).

Previously the packet parsing routine could croak on a carefully crafted DNS response. This has been fixed by putting the packet parsing routines in eval blocks so that exeptions are trapped.

 In addition this version introduces a NotifyHandler callback routine in the Nameserver class. This function will be called when the query opdoce on a query is NOTIFY (RFC1996).

Dick Franks has contributions have been most valuable.

See Changes for details.

 Please report problems through rt.cpan.org

 

Net::DNS Version 0.62 released

Net::DNS version 0.62 has just been released

Highlights of the features and fixes:

  • Move of some functionality out of the Packet to the Question and RR classes; parsing of elements in the packet is now performed by calling the appropriate subclasses.
    New methods were introduced:
    • Net::DNS::Packet->parse()
    • Net::DNS::RR->parse()
    • Net::DNS::Question->parse()

    The Packet class now defers parsing of authority/additional until their content is really needed. This should cause a bit of performance improvement.

  • The Net::DNS::Packet's answersize() method will from now  ignore its arguments and just return the size of the packet.
  • The Net::DNS::RR->new() method used to call Net::DNS::RR->new_from_data() whenever called with the appropriate combination of arguments. That (undocumented) behavior has been deprecated. Use Net::DNS::RR->new_from_data() directly if you depended on that.
  • Net::DNS::Packets unique_push now ignores the TTL in comparison of uniqueness, this is closer to the intend of RFC2181, but not yet fully compliant.

 Dick Franks has contributed a lot of the fixes and features. 

See Changes for details.

 Please report problems through rt.cpan.org

Net::DNS Version 0.61 released

Net::DNS version 0.61 corrects an error that was introduced in 0.60 and was reported by the maintainers of OTRS and various other folk.

In several places in the code we tried to modify $_, the resulting error was: Modification of a read-only value attempted 

See Changes for details.

 

Net::DNS Version 0.60 released

Version 0.60 is a maintenance release.

The release contains a number of bug fixes and a few new features.  Highlights:

  • IPSECKEY RR support
  • Improvements to check_soa code, mainly in the way it deals with negative caching
  • The dependency of Net::IP in the actual code was dropped. It is still needed for the tests. (Erratum (16 July 2007): Dependency dropped for Net::DNS::Resolver only, the dependency still exists for Net::DNS::Nameserver and a few tests)
  • Cleanup of Question.pm
    • This involved a minor change to the API for reverse IP lookup.  Changing qtype to PTR is now performed for A and AAAA only.  This allows queries for NS and SOA records at interior nodes to be specified using the address prefix.  Type ANY queries now also produce the expected result.
    • Support for RFC4291 IPv6 address and IPv4 prefix notation
  • At some points where the code used to 'die' it now spits out a warning.
    • Labels longer than 63 octets do not cause your code to die, but are truncated.
    • Instead of dying the SSHFP returns undef when the fingerprint algorithm is unknown.

Dick Franks has contributed a lot of the fixes and features.

Please consult the Changes for details.

Please report problems through rt.cpan.org

Comments dropped

 

During an upgrade of the blog software all comments got removed in order to deal with an inconsistency in the database.

10 year anniversary

This weekend, 10 years ago, Michal Fuhr announced Net::DNS on the comp.lang.perl.modules newgroup:.

From: Michael Fuhr – view profile
Date: Mon, Jan 20 1997 12:00 am

I've been working on a general interface to the DNS resolver, allowing the programmer to look up any record type instead of just A (gethostbyname) and PTR (gethostbyaddr). I hope to have it finished by the end of Jan 1997; in the meantime, there's some info about it at:

http://www.dimensional.com/~mfuhr/perldns/

Although the module isn't available yet, there are a few manpages that show what you'll be able to do. The Net::DNS and Net::DNS::Resolver manpages have some code fragments as examples.

I originally called the module DNS but my current choice is Net::DNS, which seems more consistent with the modules for other protocols such as Net::FTP, Net::SMTP, etc. I'm open to other suggestions.

I'd appreciate any feedback on the info I've provided so far. Thanks.


Michael Fuhr

Related Projects

We added a page about Related Projects.
Currently the page contains links to ldns and pNet-DNS
Let us know if you are aware about other projects related to, or inspired by Net::DNS.

Net::DNS Version 0.59 released

Version 0.59 is a maintenance release.

A number of patches that revolved around the resolution of IPv6 domains have been applied. Dick Franks is acknowledged for his elegant, albeit dense, contributions.

The Question new() method and the Resolver search() have been modified slightly. Please consult the Changes for details.

Please report problems through rt.cpan.org

Net::DNS Version 0.58 released

Version 0.58 is a bug fix maintenance release.

Among the bug fixes documented in Changes are fixes for handling of persistent sockets for Net::DNS::Resolver, fixes for IPv6 tests, fixes in the support for SPF, RFC comform (non)compression behavior of domain names in SRV and NAPTR RRs.

The people reporting the bugs and/or providing patches are acknowledged in the Changes file.

Please report problems through rt.cpan.org

A wise Lesson…

In a recent e-mail thread about misbehaving recursive nameserver David Ulevitch wrote:

Lesson: perl -MNet::DNS::Nameserver -e ‘return new(“$qname $ttl $qclass $qtype $rdata”)’;

…does not a recursive nameserver make…