Revision history for Net::DNS

Fixed a long standing bug with zone transfers in the "many-answers" format. 
CPAN #1903.

Added the '--online-tests' flag to Makefile.PL.  This activates the online
tests without asking the user interactively.  "--no-online-tests" turns
the tests off.  

Cleaned up Makefile.PL a little.  The "--pm" flag is now deprecated, use
"--no-xs" instead.

Added support for unknown RR types (rfc3597). Note for developers: the
typesbyname, typesbyval, classesbyname and classesbyval hashes should
not be used directly, use the same named wrapper functions
instead. [Olaf Kolkman]

Added two hashes for administrative use; they store which types are
qtypes and metatypes (rfc2929). [Olaf Kolkman]

*** 0.42_01 November 30, 2003

Major work to get Net::DNS functioning properly on Cygwin by Sidney 

Fixed a bug in Net::DNS::Nameserver's error handling.  CPAN #4195

*** 0.42 October 26, 2003

Fixed compilation problems on panther (Mac OS 10.3).

Fixed a bug in Net::DNS::Resolver::Recurse which allowed an endless
loop to arise in certain situations.  (cpan #3969, patch
by Rob Brown) 

Applied Mike Mitchell's patch implementing a presistant UDP socket.  
See the Net::DNS::Resolver documentation for details.

*** 0.41 October 3, 2003

Added some documentation about modifying the behavior of Net::DNS::Resolver. 

** 0.40_01 September 26, 2003

Fixed some uninitialized value warnings when running under windows.

Fixed a bug in the test suite that caused 00-version.t to fail with
certain versions of ExtUtils::MakeMaker.   Thanks to David James, Jos 
Boumans and others for reporting it.

Reply handlers in Net::DNS::Nameserver are now passed the peerhost.
(Assen Totin <>)

Reply handlers in Net::DNS::Nameserver can now tweak the header bits
that the nameserver returns.  [Olaf]

The AD header bit is now documented, and twiddleable. [Olaf]

The change log has been trimmed, entries for versions older than 0.21
have been removed. 

** NOTICE **
Net::DNS::Resolver::axfr_old() has been removed from the package.  
An exception will be thrown if you attempt to use this method.  Use
axfr() or axfr_start() instead.

*** 0.40 September 1, 2003

Various POD tweaks.

** 0.39_02 August 28, 2003

Net-DNS-SEC updates, seems that IETF has been busy redefining DNSSEC.

Added version to all the modules in the distribution.

** 0.39_01 August 12 2003

Added a META.yaml.  The crystal ball says an upgrade to Module::Install may
be coming soon.

Changed how the versions of the various submodules were set.  The CPAN 
indexer cannot execute "$VERSION = $Net::DNS::VERSION".  The single line
with the $VERSION assignment is pulled out of the file and eval'ed; at
that time, Net::DNS is not loaded.  The submodules now pull their version 
numbers out of CVS.

*** 0.39 August 7 2003

Fixed a bug on Win32 where some machines seperated lists with commas, 
not whitespace.  Thanks to Jim White for pointing it out.

** 0.38_02 July 29 2003

Reworked the POD for Net::DNS::Resolver.

When parsing resolver configuration files, IPv6 addresses are now skipped,
as Net::DNS does not yet have IPv6 support. 

** 0.38_01 Jun 22 2003

Broke Net::DNS::Resolver into seperate classes.  UNIX and Win32 
classes are currently implemented.  Many of the globals in 
Net::DNS::Resolver no longer exist.  They were never documented
so you never used them.... right?
Options to Net::DNS::Resolver->new() are now supported, including
using your own configuration file.  See the Net::DNS::Resolver man
page for details.

Tweaked Net::DNS::RR::TXT to fail more gracefully when the quotes 
in the data section are not balanced.

Add more tests (of course).

Moved next_id() from to (which is where it is

Net::DNS::Select now uses $^O directly, this means that the second
argument to Net::DNS::Select::new() (the OS) is now ignored.

*** 0.38 Jun 5 2003

Various buglets fixed in the new Makefile.PL.

Use Dynaloader instead of XSLoader.  Turns out that XSLoader is only 
in more recent perls.

Added deprecation warning to Net::DNS::Resolver::axfr_old().

HP-UX fixes [cpan #2710], I don't have the name of the reporter/patcher.

*** 0.37 May 28 2003

Renamed the test C file to compile.c, test.c was confusing the 'make test'

*** 0.36 May 28 2003

Removed Rob Brown's RPM stuff.  Something odd happened in the 0.35 tarball
and at the moment I don't have the time to investigate.

*** 0.35 May 26 2003

POD fixes, added tests for POD.

*** 0.34_03 May 22 2003

Reworked Makefile.PL to try and detect if you have a working C compiler.

Added '--pm' and '--xs' command line options to Makefile.PL

Fixed linking problem on linux.

Tie::DNSHash removed from the package, see Tie::DNS from CPAN for a more
complete implementation of a DNS hash.

*** 0.34_02 May 21 2003

Net::DNS::Packet::dn_expand is now implemented using the function of the
same name from libresolv.  This method of decompressing names is around
twice as fast as the perl implementation.

Applied Jan Dubois's patch to fix nameserver lookup on Windows 2000/95/98/ME.

*** 0.34 6 Mar 2003

Applied David Carmean's patch for handling more than one string in a 
TXT RR's RDATA section.

Applied Net::DNS::Resolver::Recurse bug fixes from Rob Brown.

Added check of the answer's rcode in Net::DNS::Resolver::axfr_next().

Applied Kenneth Olving <> Windows changes.

Applied patch from Dan Sully ( allowing multiple
questions to be part of a DNS packet.

*** 0.33 8 Jan 2003

Fixed 00-load.t to skip the Net::DNS::SEC modules.  The test suite
should now pass if you have Net::DNS::SEC installed. 

Fixed the regular expression in to comply with the RFCs, turns
out we were _too_ paranoid.  [Olaf]

*** 0.32 5 Jan 2003

Various cleanups for perl 5.004.  Thanks to
([cpan #1847])

Applied Olaf's SIG patch (thanks as always).

Win32 now looks at the envirement variables when building the 
configuration defaults.  Thanks to 
(That's the only name I have... [cpan #1819])

Added Rob Brown's Net::DNS::Resolver::Recurse module.

*** 0.31 17 Nov 2002

Applied Olaf's patch for an initialization bug in

Applied Rob Brown's patch for udp timeouts.

Added stuff from Rob Brown for making RPM creation easier.

Fixed a typo in FAQ.pod that was making aropos and whatis
grumpy.  Thanks to Florian Hinzmann for pointing it out and a patch.

*** 0.30 7 Nov 2002

Applied Andrew Tridgell's ( patch for TKEY support.

Added Net::DNS::Packet->safe_push() to allow for automatically
checking for duplicate RRs being pushed into a packet.  Inspired by Luis

Added more tests.

*** 0.29 2 Oct 2002

Fixed $_ from creaping out of scope in Thanks to
Ilya Martynov for finding the problem and the patch to fix it.

Fixed divide by zero bug there is no usable network interface(s).
Thanks to, misiek@pld.ORG.PL (and one other
person that I can't seem to find the address of) for reports. 

*** 0.28 20 Aug 2002

Fixed a bug in the new AUTOLOAD routines that made it impossible to set
attributes to '0'.

Fixed a bug in the RR pat that broke many updates. 

*** 0.27 15 Aug 2002

Added (untested) support for perl 5.004.

We now allow whitespace at the begining of a RR.

Fixed an issue that gave Net::DNS::SEC problems, %Net::DNS::RR::RR is now 
in a scope that the Net::DNS::SEC hook can see it from.

Fixed SRV records.

Fixed debug message in Net::DNS::Resolver::bgread().

*** 0.26 5 Aug 2002

Fixed various bugs in the test suite.

Fixed warning in Net::DNS::RR::AUTOLOAD with perl 5.005.

*** 0.25 1 Aug 2002

Implemented autoloading of the RR subclasses.  This provides a good
sized speed bump, particually for applications that are not persisant. 
Thanks to Benjamin Franz for a first version of this, and a lot of

Cleaned up a few things with CERT RRs.

Removed use of $' from for effciency reasons.  As a result, for
all RRs text following a ';' is considered a comment.  This was
originally only done in RR/

Added method caching to AUTOLOAD subroutines.  This should provide a
modest speed bump.

The test suite has been greatly improved, though there is still more to
be done in this regard.  Net::DNS now has the option to run online
tests, you'll need to be connected to the internet, with a
properly configured local recursive namserver, to run these.

*** 0.24 6 July 2002

Added support for DNAME resource records.  Thanks to Andreas Gustafsson 
for the implementation.

Fixed edge case for queries that have no name.

Tighted up the regular expression used in Net::DNS::Resolver::cname_addr()

*** 0.23 11 June 2002

Fixed Net::DNS::mx() to work properly in scalar context.

Fixed taint issue when Net::DNS::Resolver::nameservers() is passed
a hostname as an argument.

*** 0.22  6 June 2002

Fixed bug in causing TSIG to no longer function.  This was due
to certain RR types being assigned the wrong number.

*** 0.21  3 June 2002

Net::DNS::RR::NSAP::new_from_string() is now implemented.  
Thanks to Matts for a much faster implementation.

In complaince  with RFC 1706, Net::DNS::RR::NSAP's print and string
methods no longer join data fields with '.'s.

Changed a good number of calls to Carp::croak from Carp::confess.

Fixed a bug in demo/check_soa that broke nameserver lookups in some 

Fixed rr.t to run properly on older perls.

Added Olaf M. Kolkman's ( hooks, allowing his DNSSEC 
extension to be packaged seperatly.

Cleaned up a bug regarding bind() with older perls. 
Net::DNS now works with 5.005_03 again.

Chris Reinhardt <>
Michael Fuhr <>
$Id: Changes,v 1.87 2003/12/11 08:43:45 ctriv Exp $