Revision history for Net::DNS

*** 0.09  29 May 1997

Net::DNS is now being developed under Perl 5.004.  I'll try to keep
it compatible with earlier versions of Perl, at least for a while.

Got rid of an eval in and replaced unpack with substr in
several places.  After all other changes in this version, a simple
benchmark of a zone transfer showed the new code using about 25%
less CPU time than the old code.  Mileage will vary based on the
program, of course, and programmers probably shouldn't expect to
see much improvement.

Debugging is now printed during packet parsing instead of after
the entire packet has been parsed.  This can be useful for examining
corrupt packets.

Added support for NAPTR RRs.  Thanks to Ryan Moats for contributing
the necessary code.

Wrote demo/axfr to demonstrate how to save a zone transfer to a
disk file and read it back later.  Requires the Storable module.

BUG FIX:  If no "nameserver" lines are found in the resolver config
files, queries should go to the nameserver running on the local
host.  Previous behavior left the nameserver list empty, causing
all queries to fail with the error "no nameservers".  Problem noted
by Dr Eberhard W Lisse.

BUG FIX:  Added checks for missing data in packets - this should
eliminate the "@ outside of string" errors that can happen if the
packet is corrupt.  In these cases, queries will return undef and an
explanation of the error (e.g., "answer section incomplete") will be
present in $res->errorstring.  Problem noted by Martin Lichtin and
Stephen Hebditch.

*** 0.08  13 May 1997

Added support for LOC RRs.  Thanks to Christopher Davis for his
help and contributing some of the code.

*** 0.07  19 Apr 1997

Added an empty DESTROY method to,,,
and  A couple of users have reported that Net::DNS dies because
AUTOLOAD gets called for DESTROY methods but doesn't handle them.
I haven't been able to reproduce this problem under Perl 5.003.

Changed Net::DNS::Resolver->nameservers to accept unqualified hostnames.

*** 0.06  2 Apr 1997

Fixed Net::DNS::Resolver->nameservers to accept CNAME RRs if the
corresponding A RR is found in the answer section.  This should
eliminate some of the "address: no such method" errors that have
been reported.

Added the "string" method to Net::DNS::RR.

Added a more descriptive error to Net::DNS::RR::AUTOLOAD.  This
error is printed if you call a method that doesn't exist for
a particular RR type.

*** 0.05  27 Mar 1997

Fixed Net::DNS::Resolver->nameservers to accept IP addresses.  Was
accepting only names.

Fixed Net::DNS::Resolver->read_config() to ignore end-of-line comments
when reading resolver config files.  Also fixed to recognize multiple
"nameserver" and "search" lines.

Fixed to handle a non-existent sa field (sets it to an empty

demo/check_zone now sets $res->defnames to false, so the domain name
given on the command line should be fully qualified.

Started adding code for dynamic updates.  Not yet finished.

*** 0.04  13 Feb 1997

Added background queries.  See the examples in the Net::DNS and
Net::DNS::Resolver manpages.

Added zone transfers and some error reporting to demo/perldig.  Also
added the ability to query a specific nameserver.

Added a check to end zone transfers when we receive a second SOA RR
(would block waiting for more input when doing zone transfers from
certain nameservers).  Also added some additional output if debugging
is turned on.

*** 0.03  8 Feb 1997

Added zone transfers.  Wrote demo/check_zone.  Minor corrections and
additions to the documentation.

*** 0.02  2 Feb 1997

Rewritten to be entirely Perl.  No longer uses the system's resolver
library or the resparse library.  Net::Resolver needs some work
on error reporting and needs to implement TCP queries.

*** 0.01  26 Jan 1997

Initial release for testing.  Still some bugs, particularly in
memory management.

Michael Fuhr <>
$Id: Changes,v 1.8 1997/05/29 21:52:32 mfuhr Exp $