"Fossies" - the Fresh Open Source Software Archive

Member "Net-DNS-1.27/Changes" (11 Sep 2020, 74343 Bytes) of package /linux/misc/dns/Net-DNS-1.27.tar.gz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the latest Fossies "Diffs" side-by-side code changes report for "Changes": 1.26_02_vs_1.27.

    1 $Id: Changes 1806 2020-09-11 18:48:57Z willem $                       -*-text-*-
    2 
    3 
    4 **** 1.27 Sep 11, 2020
    5 
    6 Fix rt.cpan.org #133203
    7 
    8 	Net::DNS::RR::LOC erroneously strips non default values from
    9 	string representation
   10 
   11 
   12 **** 1.26 Aug 6, 2020
   13 
   14 	Add HTTPS/SVCB packages.
   15 
   16 Fix rt.cpan.org #132921
   17 
   18 	EDNS OPT handling
   19 
   20 
   21 **** 1.25 Jun 26, 2020
   22 
   23 	Parsing of TSIG keyfiles made more robust.
   24 
   25 
   26 **** 1.24 May 27, 2020
   27 
   28 	Accept TSIG key generated by BIND tsig-keygen.
   29 
   30 	Add Net::DNS::RR::AMTRELAY package.
   31 
   32 
   33 **** 1.23 Mar 18, 2020
   34 
   35 	Deprecate 2-argument form of TSIG create().
   36 
   37 Fix rt.cpan.org #132170
   38 
   39 	[Documentation] Problems with TSIG on ddns update.
   40 
   41 Fix rt.cpan.org #131906
   42 
   43 	Undefined errorstring/warning when axfr fails
   44 
   45 
   46 **** 1.22 Feb 13, 2020
   47 
   48 Fix rt.cpan.org #131579
   49 
   50 	Parse issue in Net::DNS::RR->token
   51 
   52 Feature
   53 	Provide rudimentary decode and print for DSO packet.
   54 
   55 
   56 **** 1.21 Aug 30, 2019
   57 
   58 	Fix error report for non-existent or recursive zone file $INCLUDE.
   59 
   60 	Emit one deprecation warning on invocation of obsolete method.
   61 
   62 	Rework OPT.pm EDNS0 option construction.
   63 
   64 	Remove obsolete Net::DNS::RR::DLV package.
   65 
   66 	Add Net::DNS::RR::ZONEMD package.
   67 
   68 Fix rt.cpan.org #128901
   69 
   70 	background TCP query logic expects to read entire response at once
   71 
   72 
   73 **** 1.20 Mar 22, 2019
   74 
   75 	TSIG MAC representation changed to Base64 (align with BIND).
   76 
   77 	Update Parameters.pm to resync with IANA registry.
   78 
   79 	Refactor resolver test scripts.
   80 
   81 	Revise documentation examples to use AAAA instead of A records.
   82 
   83 Fix rt.cpan.org #128081
   84 
   85 	Recurse.pm fails to resolve domain "kickboxingireland.ie"
   86 
   87 Fix rt.cpan.org #127307
   88 
   89 	Provide a more informative exception report if application code
   90 	has no "use Net::DNS::SEC" declaration but nevertheless attempts
   91 	to invoke the DNSSEC sign or verify features.
   92 
   93 
   94 **** 1.19 Nov 14, 2018
   95 
   96 	Show structure of EDNS options using Perl-like syntax.
   97 
   98 Fix rt.cpan.org #127557
   99 
  100 	Net::DNS::Resolver::Base should use 3 args open
  101 
  102 Fix rt.cpan.org #127182
  103 
  104 	Incorrect logic can cause DNS search to emit fruitless queries.
  105 
  106 
  107 **** 1.18 Sep 21, 2018
  108 
  109 	Documentation revised to remove ambigous use of "answer" which
  110 	has been used to refer to both the answer section of a packet
  111 	and the entire reply packet received from a nameserver.
  112 
  113 Fix rt.cpan.org #127018
  114 
  115 	Net::DNS::ZoneFile->parse() fails if include directory specified.
  116 
  117 Fix rt.cpan.org #127012
  118 
  119 	DNS resolution broken when options ndots used in /etc/resolv.conf
  120 
  121 
  122 **** 1.17 Jul 25, 2018
  123 
  124 Fix rt.cpan.org #125890
  125 
  126 	AXFR: 1 record per packet responses.
  127 
  128 Fix rt.cpan.org #125889
  129 
  130 	New NSEC3 for empty non-terminal leaves type bitmap undefined.
  131 
  132 Fix rt.cpan.org #125882
  133 
  134 	RDATA name compression pointer calculated incorrectly.
  135 
  136 
  137 **** 1.16 Jul 15, 2018
  138 
  139 Feature
  140 	New NSEC3 encloser(), nextcloser() and wildcard() instance
  141 	methods return closest encloser, "next closer" and putative
  142 	wildcard names respectively.
  143 
  144 Feature
  145 	Add new NSEC covers() instance method.
  146 
  147 Feature
  148 	New NSEC typemap() instance method interrogates type list.
  149 
  150 	IO::Socket::INET6 removed from recommended module metadata.
  151 	IPv6 requires IO::Socket::IP which is now a core package.
  152 
  153 	No requirement to escape @ in unquoted contiguous string.
  154 
  155 
  156 **** 1.15 Feb 9, 2018
  157 
  158 	GOST R 34.11-94 hash algorithm: end of life 1st Jan 2018
  159 	per sunset clause in successor standard GOST R 34.11-2012.
  160 	Digest::GOST removed from the recommended module metadata,
  161 	but will still be used if available.
  162 
  163 
  164 **** 1.14 Dec 15, 2017
  165 
  166 Fix rt.cpan.org #123702
  167 
  168 	'use base' should not be used in packages with several
  169 	subpackages defined
  170 
  171 Fix rt.cpan.org #123676
  172 
  173 	Net::DNS::Nameserver malformed message on big axfr
  174 
  175 
  176 **** 1.13 Oct 18, 2017
  177 
  178 Feature IDN query support
  179 
  180 	Queries for domain names containing non-ASCII characters are
  181 	now possible on Unicode platforms using CPAN Net::LibIDN2
  182 
  183 
  184 **** 1.12 Aug 18, 2017
  185 
  186 Fix rt.cpan.org #122586
  187 
  188 	Persistent UDP reports false timeouts
  189 
  190 Fix rt.cpan.org #122352
  191 
  192 	bgsend(): TCP retry can stall for IO::Socket::IP before 0.38
  193 
  194 Feature
  195 	CDS / CDNSKEY: Implement RFC8078 erratum 5049.
  196 
  197 
  198 **** 1.11 Jun 26, 2017
  199 
  200 Fix rt.cpan.org #122138
  201 
  202 	Send a UDP query with udppacketsize=512
  203 
  204 Feature
  205 	Extract default resolver configuration from OS/390 MVS datasets.
  206 	Thanks to Sandra Carroll and Yaroslav Kuzmin for their assistance.
  207 
  208 
  209 **** 1.10 May 5, 2017
  210 
  211 Fix rt.cpan.org #120748
  212 
  213 	Net::DNS::Resolver::MSWin32 critical issue
  214 	Thanks to Dmytro Zagashev for his valuable assistance during
  215 	the investigation which exposed five distinct issues.
  216 
  217 Feature rt.cpan.org #18819
  218 
  219 	Perl 5.22.0 puts EBCDIC character encoding back on the agenda.
  220 	Thanks to Yaroslav Kuzmin for successful test build on os390.
  221 
  222 
  223 **** 1.09 March 24, 2017
  224 
  225 Fix rt.cpan.org #120542
  226 
  227 	Fails tests when no "." in @INC
  228 
  229 Fix rt.cpan.org #120470
  230 
  231 	Fragmented TCP length not correctly reassembled
  232 
  233 Feature rt.cpan.org #75357
  234 
  235 	Add mechanism to encode/decode EDNS option octet strings
  236 
  237 
  238 **** 1.08 February 20, 2017
  239 
  240 Fix rt.cpan.org #120208
  241 
  242 	Unable to install 1.07 in local::lib environment
  243 
  244 Feature rt.cpan.org #119679
  245 
  246 	Net::DNS::Nameserver: UpdateHandler for responding to UPDATE packets
  247 
  248 Feature rt.cpan.org #75357
  249 
  250 	Net::DNS::Nameserver: optionmask (similar to headermask) added
  251 	to allow user to set EDNS options in reply packet
  252 
  253 Discontinue support for pre-5.6 perl
  254 
  255 	Remove pre-5.6 workarounds and outdated language features
  256 
  257 
  258 **** 1.07 December 29, 2016
  259 
  260 Fix rt.cpan.org #118598/#108908
  261 
  262 	Serious Makefile.PL issues
  263 	"make install" now suppressed if pre-1.01 version detected
  264 
  265 Fix rt.cpan.org #115558
  266 
  267 	Net::DNS::Nameserver does not allow EDNS replies
  268 
  269 Fix rt.cpan.org #114917
  270 
  271 	Net::DNS::ZoneFile fails to parse mixed case mnemonics
  272 
  273 Fix rt.cpan.org #114876
  274 
  275 	Use of uninitialized value in lc at MSWin32.pm line 77
  276 
  277 Fix rt.cpan.org #114819
  278 
  279 	Net::DNS fails to compile with taint checks enabled
  280 
  281 Feature
  282 	Add support for dynamic RR subtype package creation
  283 	per draft-levine-dnsextlang
  284 
  285 
  286 **** 1.06 May 27, 2016
  287 
  288 Fix rt.cpan.org #114918
  289 
  290 	Net::DNS::ZoneFile fails when unnamed RR follows $ORIGIN
  291 
  292 Fix rt.cpan.org #114351
  293 
  294 	Case sensitive compression breaks resolver->nameservers()
  295 
  296 Fix rt.cpan.org #113579
  297 
  298 	Net::DNS::Resolver dies on scoped IPv6 nameserver address
  299 
  300 Fix rt.cpan.org #113020
  301 
  302 	Resolve::Recurse Hangs
  303 
  304 Fix rt.cpan.org #112860
  305 
  306 	improperly terminated AXFR at t/08-IPv4.t line 446.
  307 
  308 
  309 **** 1.05 March 7, 2016
  310 
  311 Fix rt.cpan.org #111559
  312 
  313 	1.04: TSIG not working anymore (TSIG.pm)
  314 
  315 Fix rt.cpan.org #108908
  316 
  317 	Installing recent version gets shadowed by old version.
  318 	Warnings added to Makefile.PL and t/00-version.t.
  319 
  320 Fix rt.cpan.org #66900
  321 
  322 	Net::DNS::Async unable to retry truncated UDP using TCP because
  323 	of limitations in Net::DNS.
  324 
  325 
  326 **** 1.04 December 8, 2015
  327 
  328 Fix rt.cpan.org #109183
  329 
  330 	Semantics of "retry" and "retrans" options has changed with 1.03
  331 
  332 Fix rt.cpan.org #109152
  333 
  334 	Deprecated method make_query_packet breaks calling code
  335 
  336 Fix rt.cpan.org #109135
  337 
  338 	Resolver behaves differently with long and short IPv6 address format
  339 
  340 Fix rt.cpan.org #108745
  341 
  342 	Net::DNS::Resolver bgsend
  343 
  344 
  345 **** 1.03 November 6, 2015
  346 
  347 Fix rt.cpan.org #107897
  348 
  349 	t/10-recurse.t freezes, never completes
  350 
  351 Fix rt.cpan.org #101978
  352 
  353 	Update Net::DNS to use IO::Socket::IP
  354 
  355 Fix rt.cpan.org #84375
  356 
  357 	Timeout doesn't work with bgsend/bgread
  358 
  359 Fix rt.cpan.org #47050
  360 
  361 	persistent sockets for Resolver::bg(send|read|isready)
  362 
  363 Fix rt.cpan.org #15515
  364 
  365 	bgsend on TCP
  366 
  367 
  368 **** 1.02 September 16, 2015
  369 
  370 Fix rt.cpan.org #107052
  371 
  372  	suppress messages: Can't locate Net/DNS/Resolver/linux.pm
  373 
  374 Fix rt.cpan.org #106916
  375 
  376 	Dependency on MIME::Base32 makes Net::DNS not installable on MSWin32
  377 
  378 Fix rt.cpan.org #106565
  379 
  380 	Net::DNS::Resolver::Recurse and IPv6 Reverse DNS
  381 
  382 Fix rt.cpan.org #105808
  383 
  384 	Version test for Pod::Test is broken
  385 
  386 
  387 **** 1.01 Jul 6, 2015
  388 
  389 Feature
  390 	The RRs previously only available with Net::DNS::SEC are now
  391 	integrated with Net::DNS.  Net::DNS::SEC needs to be installed
  392 	to enable the signature generation and verification functions.
  393 
  394 Fix rt.cpan.org #105491
  395 
  396 	Can't call method "zclass" on an undefined value at ... Net/DNS/Packet.pm line 474
  397 
  398 Fix rt.cpan.org #105421
  399 
  400 	Dead link in Net::DNS::FAQ
  401 
  402 Fix rt.cpan.org #104657
  403 
  404 	Wrong split on Cygwin
  405 
  406 Fix rt.cpan.org #102810
  407 
  408 	Dynamic update: rr_add overrides ttl of zero
  409 
  410 Fix rt.cpan.org #102809
  411 
  412 	CAA broken
  413 
  414 
  415 **** 0.83 Feb 26, 2015
  416 
  417 Fix rt.cpan.org #101798
  418 
  419 	AUTOLOAD error confusing w/o reference to object class
  420 
  421 Fix rt.cpan.org #101709
  422 
  423 	Provide separate control of IPv6 tests
  424 
  425 Fix rt.cpan.org #101675
  426 
  427 	MX record with 0 preference fails to parse
  428 
  429 Fix rt.cpan.org #101405
  430 
  431 	Install tests fail for v0.81 on Perl 5.21.7
  432 
  433 
  434 **** 0.82 Jan 20, 2015
  435 
  436 Fix rt.cpan.org #100385
  437 
  438 	Support for IPv6 link-local addresses with scope_id
  439 
  440 
  441 **** 0.81 Oct 29, 2014
  442 
  443 Fix rt.cpan.org #99571
  444 
  445 	AXFR BADSIG failures
  446 
  447 Fix rt.cpan.org #99531
  448 
  449 	Resolver doc error - when is a 'bug' a 'bug'? [TSIG verification]
  450 
  451 Fix rt.cpan.org #99528
  452 
  453 	TSIG::create fails with some filenames
  454 	
  455 Fix rt.cpan.org #99527
  456 
  457 	Random errors... [declaration with statement modifier]
  458 
  459 Fix rt.cpan.org #99429
  460 
  461 	Infinite recursion in Net::DNS::Resolver::Recurse::send when
  462 	following certain delegations with empty non-terminals.
  463 
  464 Fix rt.cpan.org #99320
  465 
  466 	Net::DNS::ZoneFile bug in "$ORIGIN ."
  467 
  468 
  469 **** 0.80 Sep 22, 2014
  470 
  471 Removal of Win32::IPHelper support with cygwin
  472 
  473 	Resolvers on Cygwin can get their DNS configuration from the
  474 	registry directly via the /proc filesystem.  Getting rid of
  475 	the other method reduces dependencies and makes installations
  476 	less error prone.
  477 
  478 Rework rt.cpan.org #96119
  479 
  480 	"Too late to run INIT block" warning for require Net::DNS
  481  
  482 
  483 **** 0.79 Aug 22, 2014
  484 
  485 Feature rt.cpan.org #98149
  486 
  487 	Add support for Android platform.
  488 
  489 Fix rt.cpan.org #97736
  490 
  491 	Net::DNS::Resolver->new mistakenly copies supplied arguments
  492 	into default configuration on first instantiation.
  493 
  494 Fix rt.cpan.org #97502
  495 
  496 	Net::DNS::Resolver->retrans does not accept a value of 1 (uses 2 instead)
  497 
  498 Fix rt.cpan.org #83642
  499 
  500 	Configure CD flag in Net::DNS::Resolver->new
  501 
  502 Fix rt.cpan.org #81760
  503 
  504 	Reverted workaround for TXT issue preventing propagation of
  505 	rule updates for SpamAssassin versions earlier than 3.4.0
  506 
  507 Fix rt.cpan.org #16630
  508 
  509 	Net::DNS::Resolver::Recurse issues lots of IMHO unnecessary DNS requests.
  510 
  511 
  512 **** 0.78 Jul 10, 2014
  513 
  514 Fix rt.cpan.org #97036
  515 
  516 	Nameserver identification on Cygwin
  517 
  518 Fix rt.cpan.org #96814
  519 
  520 	Trailing comments not stripped in /etc/resolv.conf
  521 
  522 Fix rt.cpan.org #96812
  523 
  524 	Net::DNS::Resolver->new() hangs if nameserver :: exists
  525 
  526 Fix rt.cpan.org #96755
  527 
  528 	RFC 3597 (hex) parsing mistake
  529 
  530 Fix rt.cpan.org #96708
  531 
  532 	String treated as boolean in TXT
  533 
  534 Fix rt.cpan.org #96608
  535 
  536 	"Insecure dependency in connect" with Net::DNS::Resolver over TCP
  537 
  538 Fix rt.cpan.org #96535
  539 
  540 	Net::DNS::Resolver warns "Use of uninitialized value in length"
  541 
  542 Fix rt.cpan.org #96531
  543 
  544 	Calling $resolver->nameservers multiple times returns an
  545 	increasingly-long list (on some perl installations)
  546 
  547 Fix rt.cpan.org #96439
  548 
  549 	Uninitialised decoding object when printing packet
  550 
  551 
  552 **** 0.77 Jun 13, 2014
  553 
  554 Fix rt.cpan.org #96151
  555 
  556 	Unlocalised $_ modified when reading config file
  557 
  558 Fix rt.cpan.org #96135
  559 
  560 	Deep recursion problem on Cygwin
  561 
  562 Fix rt.cpan.org #96119
  563 
  564 	"Too late to run INIT block" warning for require Net::DNS
  565  
  566 Fix rt.cpan.org #96035
  567  
  568 	Insert missing plan 'no-plan' in 10-recurse.t
  569 
  570 Fix inefficient Net::DNS::SEC compatibility code
  571 
  572 
  573 **** 0.76 May 23, 2014
  574 
  575 Fix rt.cpan.org #95738
  576 
  577 	Test failure with IPv6 address in resolver.conf but without
  578 	prerequisite IO::Socket::INET6 package installed.
  579 
  580 Fix rt.cpan.org #95596
  581 
  582 	Incorrect parsing of nameserver lines in resolv.conf
  583 
  584 Feature rt.cpan.org #79568
  585 
  586 	Implement prefer_v6 resolver configuration attribute.
  587 
  588 Fix rt.cpan.org #67602
  589 
  590 	Set resolver configuration defaults at first instantiation
  591 	instead of module load time.
  592 
  593 
  594 **** 0.75 May 8, 2014
  595 
  596 Fix rt.cpan.org #94069
  597 
  598 	Compile-time constant in Domain.pm/Text.pm cannot be used to
  599 	store pointer to encoding object when using perlcc compiler.
  600 	Thanks are due to Reini Urban for testing the revised code.
  601 
  602 Fix rt.cpan.org #93764
  603 
  604 	Resolver gives unhelpful errorstring when attempting to use
  605 	IPv6-only nameserver without INET6 and Socket6 installed.
  606 
  607 Fix rt.cpan.org #92626
  608 
  609 	Clarify documentation surrounding SRV RR sorting
  610 
  611 Feature
  612 
  613 	Implement TSIG verified zone transfer.
  614 
  615 Fix rt.cpan.org #92433 & #91241
  616 
  617 	TSIG: implement sign/verify for multi-packet message.
  618 
  619 Fix rt.cpan.org #79569
  620 
  621 	Iterate nameservers in AXFR
  622 
  623 
  624 **** 0.74 Jan 16, 2014
  625 
  626 Fix rt.cpan.org #91306
  627 
  628 	Nameserver crashes on malformed UDP query.
  629 
  630 Fix rt.cpan.org #91241
  631 
  632 	TSIG: Fix incorrectly generated %algbyval table.
  633 
  634 Feature
  635 
  636 	Add CAA, EUI48 and EUI64 RR implementation.
  637 
  638 
  639 **** 0.73 Nov 29, 2013
  640 
  641 Fix rt.cpan.org #88778
  642 
  643 	$update->unique_push() does not work as advertised.
  644 
  645 Fix rt.cpan.org #88744
  646 
  647 	Nameserver crashes on malformed TCP query.
  648 
  649 Fix rt.cpan.org #84601/#81942
  650 
  651 	Fix memory leak on packet cleanup. Indirect self-reference via
  652 	header prevented garbage collector from deallocating packet.
  653 
  654 Feature rt.cpan.org #84468
  655 
  656 	TSIG: add support for HMAC-SHA1 .. HMAC-SHA512
  657 
  658 Fix rt.cpan.org #84110
  659 
  660 	Incorrect parsing of PTR records in zonefile.
  661 
  662 Fix rt.cpan.org #83755
  663 
  664 	Erroneous attempt to invoke Net::LibIDN package in Domain.pm.
  665 
  666 Fix rt.cpan.org #83078
  667 
  668 	Can't locate Net/DNS/Resolver/linux.pm in @INC
  669 	Conjecture:  eval{ ... };  if ($@) { ... };  broken by threads.
  670 
  671 Fix rt.cpan.org #83075
  672 
  673 	ZoneFile.pm wrongly rejects $TTL 0 directive.
  674 
  675 Fix rt.cpan.org #82621
  676 
  677 	Error string empty after failed TCP query.
  678 
  679 Fix rt.cpan.org #82296
  680 
  681 	IPv6 with embedded IPv4 address not mapped to ip6.arpa.
  682 
  683 Fix rt.cpan.org #82294
  684 
  685 	Perl taint inadvertently removed in Domain and Text objects.
  686 
  687 Feature rt.cpan.org #53610
  688 
  689 	add TSIG validation support
  690 
  691 
  692 **** 0.72 Dec 28, 2012
  693 
  694 Fix rt.cpan.org #82148
  695 
  696 	nxrrset fails to ignore RDATA.
  697 
  698 Fix rt.cpan.org #82134
  699 
  700 	TSIG key and algorithm names not downcased in digest.
  701 	Class not forced to ANY.
  702 
  703 Fix rt.cpan.org #82063
  704 
  705 	yxrrset, nxrrset and rr_del functions should force zero TTL.
  706 
  707 Fix rt.cpan.org #82047
  708  
  709 	Clarify documentation to indicate that header counts may
  710 	differ from the number of RRs present if a packet is corrupt.
  711 
  712 Fix rt.cpan.org #81941
  713 
  714 	Clarify documentation to make users aware that bgread will not
  715 	switch to TCP when a truncated packet is received.
  716 
  717 
  718 **** 0.71 Dec 15, 2012
  719 
  720 Temporary workaround rt.cpan.org #81760
  721 
  722 	The rdatastr method for TXT RRs will return unconditionally 
  723 	quoted rdata fields to work around an issue with updating 
  724 	SpamAssassin rules.  This workaround will be reverted after
  725 	release of a version of SpamAssassin which resolves the issue.
  726 
  727 Fix TSIG initialization
  728 
  729 	Uninitialised algorithm attribute caused signature generation
  730 	to fail silently when creating a TSIG signed packet.
  731 
  732 Fix rt.cpan.org #81869
  733 
  734 	The rr_del auxilliary function broken by a conflicting change
  735 	in the RR.pm string parser. Note the ambiguous use of ANY,
  736 	which may stand for CLASS255 or TYPE255 depending upon the
  737 	argument string presented.
  738 
  739 Fix rt.cpan.org #81756
  740 
  741 	Test failures on Perl 5.8.5 .. 5.8.8.
  742 	lc(), uc() and case insensitive regex matching broken for UTF8.
  743 	Thanks are due to Paul Howarth for patient work with perl -d.
  744 	
  745 Fix rt.cpan.org #81787
  746 
  747 	NXDOMAIN no longer reported by $resolver->errorstring.
  748 
  749 Fix rt.cpan.org #81814
  750 
  751 	Allow zero in format, tag and algorithm fields of CERT RR.
  752 
  753 Fix rt.cpan.org #81786
  754 
  755 	Substitute last owner for leading spaces in multiline zonefile RR.
  756 
  757 Fix rt.cpan.org #77444
  758 
  759 	Make use of new extended header modus operandi for OPT records
  760 	also in the resolver. Preventing a warning.
  761 
  762 
  763 **** 0.70 Dec 6, 2012
  764 
  765 Feature
  766 	Add support for NID L32 L64 LP, RFC6742.
  767 
  768 
  769 **** 0.69 Dec 5, 2012
  770 
  771 Feature rt.cpan.org #62030
  772 
  773 	Parsing of BIND zone files implemented in Net::DNS::ZoneFile.
  774 	This replaces and is backward compatible with the CPAN module
  775 	of the same name.
  776 
  777 Enhancement to simplify RR subtype template and recode packages.
  778 
  779 Enhancement rt.cpan.org #75185
  780 
  781 	Packet decoder returns index to end of decoded data.
  782 
  783 	Added packet->reply() method.
  784 
  785 Fix rt.cpan.org #79569
  786 
  787 	AXFR not setting packet->answer_from.
  788 
  789 Enhancement rt.cpan.org #18819
  790 
  791 	Added support for Unicode and non-ASCII character encoding.
  792 
  793 Feature integrate OPT as a header extension
  794 
  795 	Treat extended rcodes and the DO flag like they are part of
  796 	the packet header.
  797 
  798 Fix rt.cpan.org #77444
  799 
  800 	Support escaped characters according to RFC1035 in TXT rdata.
  801 
  802 Fix rt.cpan.org #77304
  803 
  804 	Fix resolver searchlist from registry setup on Win32.
  805 
  806 Enhancement rt.cpan.org #67570
  807 
  808 	Make wire2presentation two till eighteen times faster.
  809 	A contribution from Matthew Horsfall
  810 
  811 Fix rt.cpan.org #73366
  812 
  813 	Remove existing TSIG when resigning with a new TSIG and give warning.
  814 
  815 Fix rt.cpan.org #75330
  816 
  817 	Also try nameserver without glue (as a last resort) when recursing.
  818 
  819 Fix rt.cpan.org #74493
  820 
  821 	Read correct resolver configuration in OS/2.
  822 
  823 
  824 **** 0.68 Jan 30, 2012
  825 
  826 Fix rt.cpan.org #72314
  827 	
  828 	Let a Net::DNS::Nameserver bind on Net::DNS::Nameserver::DEFAULT_ADDR
  829 	as a last resort.
  830 
  831 Fix to suppress false warnings about subroutine profiles on ancient
  832 	versions of perl.
  833 
  834 Fix to avoid constants with value undef which prevents unwanted code from being
  835 	optimized away on ancient versions of perl.
  836 
  837 Fix code error in PTR.pm, canonical RDATA not downcased.
  838 
  839 Enhancement to clarify the function of parse and data methods, by renaming them
  840 	to decode and encode respectively.
  841 
  842 Feature IDN query support.
  843 
  844 	Question.pm modified to use the recently introduced DomainName.pm
  845 	module to represent DNS names.  Queries for domain names containing
  846 	non-ASCII characters are now possible on Unicode platforms with CPAN 
  847 	Net::LibIDN installed.
  848 
  849 Introduction of Mailbox.pm module that will be used in the future to represent 
  850 	RDATA components containing DNS coded RFC822 mailbox addresses.
  851 
  852 Introduction of Text.pm module that will be used in the future to represent
  853 	RDATA components containing text.
  854 
  855 
  856 **** 0.67 Nov 4, 2011
  857 
  858 Enhancement rt.cpan.org #60726
  859 
  860         On Cygwin Net::DNS now builds without Win32::IPHelper, unless a 
  861         previous version is updated that did use it. 
  862         The choice may also be set by the --iphelper or --noiphelper option
  863         to Makefile.PL.
  864 
  865 Fix to suppress IO::Socket::INET(6)::peerhost usage with TCP. On some systems
  866         it doesn't work after receiving data.
  867 
  868 Enhancement rt.cpan.org #43142
  869 
  870         Allow ReplyHandlers to indicate that no answer should be returned
  871         by the Net::DNS::Nameserver.
  872 
  873 Fix rt.cpan.org #71796
  874 
  875 	Prevent TCP accepts from blocking on unfinished 3-way handshakes.
  876 
  877 Fix rt.cpan.org #65607
  878 
  879 	Make 64bits windows work by depending on Win32::IPHelper version 0.07
  880 	Thanks to Lian Wan Situ.
  881 
  882 Fix rt.cpan.org #66470
  883 
  884 	Named nameserver should be reachable by IPv6 too.
  885 
  886 Fix to make tests work in jailed environments where a reply might come
  887 	from a different address than that of the loopback interface.
  888 
  889 Feature to use a class method ReplyHandler for classes inheriting from
  890 	Net::DNS::Nameserver.
  891 
  892 	A contribution from Rob Brown.
  893 
  894 Fix rt.cpan.org #71062
  895 
  896 	Replace the usage of the obsolete Win32::Registry module by
  897 	Win32::TieRegistry module.
  898 
  899 Fix rt.cpan.org #68731
  900 
  901 	Fix linking of the C compiled parts of the library on Mac OS X
  902 
  903 New improved version of the check_soa script in the contrib section.
  904 	
  905 	A contribution from Dick Franks.
  906 
  907 Fix rt.cpan.org #70830
  908 
  909 	Make t/08-online.t handle NXDOMAIN hijacking that return more than one
  910 	answer.
  911 
  912 Fix rt.cpan.org #24525
  913 
  914 	Removed dependency on Net::IP
  915 
  916 Fix online tests to use the library as documented and not use knowledge of the
  917 	internal workings of the classes that should be hidden.
  918 
  919 	A contribution from Dick Franks
  920 
  921 Fix rt.cpan.org #55682
  922 	Make online tests non-fatal by default.
  923 	All interactive prompts are removed from Makefile.PL.
  924 	Online tests may still be made a requisite by using the --online-tests
  925 	option.
  926 	
  927 Major rework of Net::DNS::Domain.pm and the addition of Net::DNS::DomainName.pm
  928 
  929 	Which paves the way towards handling of character encodings and IDN.
  930 	A contribution from Dick Franks.
  931 	
  932 Fix rt.cpan.org #69174
  933 
  934 	Typo that prevented TCP traffic from being replied from the same
  935 	socket as it was received on.
  936 
  937 Fix rt.cpan.org #68338
  938 
  939 	Suppress warnings of the deprecated use of qw as parentheses in 
  940 	perl 5.14.
  941 
  942 Enhancement rt.cpan.org #67418
  943 
  944 	A contribution from Wolfsage to perform presentation to wire format
  945 	conversion more efficiently.
  946 
  947 Fix rt.cpan.org #67133
  948 
  949 	Gracefully handle corrupted incoming packets in Net::DNS::Nameserver.
  950 
  951 Feature to manage serial numbers in SOA records in a modular and extensible way.
  952 
  953 	Three modules are provided. Strictly sequential, Date Encoded and 
  954 	Time Encoded.  A contribution from Dick Franks.
  955 
  956 Fix rt.cpan.org #53325
  957 
  958 	Make Net::DNS::Resolver load even if /etc/resolv.conf is unreadable.
  959 
  960 Fix rt.cpan.org #63486
  961 
  962 	Make t/08-online.t fail gracefully in stead of crash on failures.
  963 
  964 Fix rt.cpan.org #55586
  965 
  966 	Various typo fixes.
  967 
  968 Fix rt.cpan.org #55682
  969 
  970 	Really do not use networking functions when online tests are disabled.
  971 
  972 Fix rt.cpan.org #64562
  973 	
  974 	Replace TSIG key with the signature of the whole packet when signing
  975 	a packet, even when the TSIG key is not the first in the additional 
  976 	section.
  977 
  978 Fix rt.cpan.org #56181 and #47265
  979 
  980 	Assembly of segmented TCP traffic.
  981 
  982 Feature rt.cpan.org #57289
  983 
  984 	Provide a configurable IdleTimeout for Net::DNS::Namserver.
  985 
  986 Fix rt.cpan.org #53595
  987 
  988 	Fix documentation to reflect code behaviour where on successful packet
  989 	creation, the error should be ignored.
  990 
  991 Fix rt.cpan.org #58914
  992 
  993 	Fix spelling of "algorithm"
  994 
  995 Fix rt.cpan.org #61725
  996 
  997 	Include default domain in the search list on Win32.
  998 	Thanks Mark Rallen.
  999 
 1000 Fix rt.cpan.org #63321
 1001 
 1002 	A Net::DNS::Nameserver without a NotifyHandler now responds NOTIMP
 1003  	to NOTIFY requests.
 1004 
 1005 Fix rt.cpan.org #53595
 1006 	
 1007 	Documentation now reflects Net::DNS::Packet construction behaviour.
 1008 
 1009 
 1010 **** 0.66 Dec 30, 2009
 1011 
 1012 Feature Truncation for Nameserver
 1013     fixes rt.cpan.org #33547 and #42744
 1014 
 1015     TAKE CARE:
 1016     this feature may cause unexpected behavior for your nameservers
 1017     and can be turned off by setting Truncate to 0 during the creation
 1018     of the nameserver. 
 1019     my $ns = Net::DNS::Nameserver->new(
 1020 		Truncate => 0,
 1021 
 1022     );
 1023 
 1024 
 1025     Net::DNS::Packet::truncate is a new method that is called from
 1026     within Net::DNS::Nameserver that truncates a packet according to
 1027     the rules of RFC2181 section 9.
 1028 
 1029     Acknowledgement Aaron Crane for an elegant test and for
 1030     inspiration for a direction.
 1031 
 1032 
 1033 Feature: Added Net::DNS::Domain
 1034     Net::DNS::Domain is an attempt to introduce a consistent model
 1035     for representation of RFC 1035 <domain-name>s.
 1036 
 1037     The class and its test script t/02-domain.t are included to be
 1038     exposed to various architectures.
 1039 
 1040     The class and its methods may be subject to change, both in terms of
 1041     naming and functionality.
 1042     
 1043     A contribution by Dick Franks
 1044 
 1045 Fix improved fuzzy matching of CLASS and TYPE in the Question
 1046     constructor method.
 1047 
 1048     A contribution by Dick Franks.
 1049 
 1050 Fix rt.cpan.org #43770
 1051 
 1052     Update->rr_del() was reported broken for AAAA after 0.65.
 1053     The same bug also occurred in HINFO RR.
 1054 
 1055 
 1056 Fix rt.cpan.org #43765
 1057     
 1058     Code inconsistent with documentation for loop_once.
 1059 
 1060     Note: Keeping timeout undefined in loop_once will now block until
 1061     something arrived on the socket.
 1062 
 1063 Fix rt.cpan.org #47050
 1064 
 1065     Fixed logic error in bgsend socket acquisition code.
 1066 
 1067 Fix rt.cpan.org #47265 (partial)
 1068 
 1069     Frequently Net:DNS under Windows XP has a UDP problem which is
 1070     caused by a buggy implementation of SOCKS under Windows.
 1071 
 1072     One liner added to not continue UDP processing when that happens.
 1073 
 1074 Feature KX RR
 1075     
 1076     Added support for the KX RR, RFC2230
 1077     The implementation is trivial since the KX inherits almost all of
 1078     its functionality by inheritance from the MX RR.
 1079 
 1080 
 1081 Fix NSAP RR string representation
 1082 
 1083     RFC1706 specifies the masterfile format to have a leading "0x" and
 1084     optional dot. This was not how the RR was represented with the
 1085     rdatastr method (and hence string and print).
 1086 
 1087 Fix rt.cpan.org #52307 AAAA v4compat parsing bug 
 1088     Acknowledgement: BLBLACK
 1089 
 1090 Fix AAAA dynamic update
 1091 
 1092     Dynamic update of AAAA caused FORMERR on the prerequisite caused
 1093     by AAAA creating rdata even when an address was never specified.
 1094     This fix may cause difference in behavior for people who expect
 1095     a NULL address ("::") when creating a AAAA without an address
 1096     specified.
 1097 
 1098 
 1099 Feature HIP RR
 1100 
 1101     Added support for the HIP RR, RFC5205
 1102     perldoc Net::DNS::RR::HIP for more information.
 1103 
 1104 
 1105 Feature DHCID RR
 1106     Added rudimentary support for the DHCID RR.
 1107 
 1108 
 1109 Fix rt.cpan.org #50883
 1110     This is basically #11931 but for cygwin.
 1111 
 1112     Codepath in Cygwin and Win32 are now the same. This adds a
 1113     dependency in cygwin.
 1114     Acknowledgements "mikaraento"
 1115 
 1116 Fix rt.cpan.org #45407 and #43190
 1117     Fixed escaping of semicolon.
 1118 
 1119     Note a change in behavior: 
 1120     For TXT and SPF the rdatastr method (and therefore the
 1121     print, and string method) returns the escaped format while the 
 1122     chr_str_list method will return unescaped format.
 1123 
 1124 
 1125 Fix rt.cpan.org #43393
 1126     Typo in 01-resolver.t
 1127 
 1128 Fix rt.cpan.org #43273
 1129     Added check for uninitialized opcode in headermask in
 1130     Nameserver.pm
 1131 
 1132 Fix rt.cpan.org #46635
 1133     Minor documentation error in OPT.pm
 1134 
 1135 Fix rt.cpan.org #51009
 1136      Fixed handling of empty string in Net::DNS::stripdot. 
 1137      Elegant one-liner supplied by JMEHNLE.
 1138 
 1139 Fix rt.cpan.org #49035
 1140 
 1141     Comment parsing fixed: Semicolon in character string blocks (such
 1142     as in TXT and NAPTR) were only recognized when escaped.
 1143     Also fixed the NAPTR regular expression to not interpret 
 1144     "bla' 'foo" as two strings bla and foo, but as one: bla' 'foo
 1145 
 1146 Fix cd flag settings 
 1147 
 1148     Resolver bug and fix reported by Jon Haidu.
 1149 
 1150 
 1151 **** 0.65 January 26, 2009
 1152 
 1153 Fix rt.cpan.org #41076
 1154 
 1155     When the AAAA object was constructed with new_from_hash with an
 1156     address containing the "::" shorthand notation normalization was
 1157     not done properly.
 1158 
 1159 Fix rt.cpan.org #42375
 1160 
 1161     Typo in Win32.pm Registry root.
 1162 
 1163 
 1164 
 1165 **** 0.64 December 30, 2008
 1166 
 1167 Feature rt.cpan.org #36656
 1168 
 1169     Added support for the APL record (RFC 3123)
 1170     The module consists of a list of Address Prefix Item objects
 1171     as defined in the Net::DNS::RR::APL::ApItem class.
 1172     NOTE: Class and its interface may be subject to change.
 1173 
 1174     
 1175 Fix rt.cpan.org #11931 Wrong nameserver list handling in
 1176                        Net::DNS::Resolver::Win32
 1177 
 1178 
 1179     The init method has been rewritten to be based on WIN32::IPhelper for
 1180     the selection of the domain and the IP addresses. This is believed to 
 1181     be more portable than trying to fetch the data from the registry.
 1182     We still trying to get the searchlist from the registry.
 1183 
 1184     WARNING: If you use Perl under WIN32 (eg ActivePerl or Strawberry Perl)
 1185     then your module dependency graph has changed drastically
 1186 
 1187 Fix IPv6 modules
 1188     When IO::Socket::INET6 was available but Socket6 was not the code would
 1189     recurse to infinity.
 1190 
 1191 Fix rt.cpan.org #21757 and Feature: Connectivity during test
 1192     Addition of --no-IPv6-tests and --IPv6-tests option in Makefile.PL.
 1193     Note: This causes two questions to be asked when building the
 1194     Makefile instead of one.
 1195 
 1196     Besides the test suites are constructed so that all the connectivity testing
 1197     happen in 001-connectivity.t and nonavailability of connectivity over a certain
 1198     transport is signaled over files t/online.disabled and t/IPv6.disabled respectively.
 1199     Both files are removed by t/99-cleanup
 1200 
 1201 Fix rt.cpan.org #34511
 1202     Priming query logic contained unneeded recursion. 
 1203     Now also falls back to hardcoded hints if there are no nameservers whatsoever.
 1204 
 1205 Fix rt.cpan.org #38390 and 37089
 1206     Added CD and AD bit control to the resolver.
 1207 
 1208     The CD flag defaults to being unset and the AD flags is set by default
 1209     whenever DNSSEC is available. 
 1210     Both flags default to unset in absence of DNSSEC.
 1211 
 1212 
 1213 Fix rt.cpan.org #37282
 1214    Improved error reporting during client disconnect from the nameserver
 1215 
 1216 NOTE rt.cpan.org # 40249
 1217 
 1218    Release 0.62 introduced a feature to parse data inside a packet only 
 1219    when needed. This can cause the following to happen:
 1220 
 1221    Exception: corrupt or incomplete data at
 1222                      /usr/lib/perl5/Net/DNS/RR.pm line 510.  
 1223    caught at -e line 1
 1224 
 1225    This may happen when you have undefined your packet data before all the
 1226    sections have been fully parsed. Such as in:
 1227 
 1228    $packet = Net::DNS::Packet->new(\$data);
 1229    undef($data);
 1230 
 1231    The workaround is to force parsing by calling the methods that 
 1232    parse the data. e.g.
 1233 
 1234    $packet = Net::DNS::Packet->new(\$data);
 1235    $packet->answer; $packet->additional; $packet->authority;
 1236    undef ($data) 
 1237 
 1238 
 1239 Fix rt.cpan.org # 41076 and # 41071
 1240 
 1241   Net::DNS::RR->new_from_hash function would not normalize the content
 1242   of the data so that a method getting a string representation would
 1243   get inconsistent results depending on whether a RR was created from
 1244   a string of from a hash. 
 1245 
 1246 Fix rt.cpan.org # 41296
 1247 
 1248   Compression buggy for large packets. Fix by Kim Minh.
 1249 
 1250 
 1251 Fix rt.cpan.org # 35752
 1252 
 1253   Perl 5.10.0 gave a number of issues on several platforms, preferring
 1254   XSLoader over Dynaloader seemed to fix those.
 1255  
 1256 
 1257 Bug rt.cpan.org #34510
 1258   Buggy setting of "Recursion too deep, aborted" corrected.
 1259   
 1260 Feature (rt.cpan.org #39284)
 1261 
 1262   The ReplyHandler now also receives a variable with an anonymous hash with the connection details. Variables
 1263   supplied to the Reply handler are:  $qname, $qclass, $qtype, $peerhost, $query, $conn	
 1264   The hash referenced by $conn contains the following buckets: sockhost, sockport,  peerhost, and peerport.
 1265   
 1266 
 1267 
 1268 Feature t/08-online.t and t/10-recurse.t
 1269 
 1270   In particular environments a query for a.t. will resolve and or
 1271   middleboxes will replace DNS packet content for queries to the root.
 1272   A bunch of test is skipped when this (broken) environment is
 1273   detected.
 1274   
 1275 
 1276 
 1277 Feature/Bug rt.cpan.org #22019 
 1278 
 1279   The initial fix for rt 22019 was to strip a trailing dot from all
 1280   attributes that were provided as argument for the
 1281   Net::DNS::RR::new_from_hash function.  We have introduced
 1282   Net::DNS::stripdot, a function that will strip the dots of domain
 1283   names, taking into account possible escapes (e.g. labels like
 1284   foo\\\..).  As a side effect the new_from_string method will now
 1285   convert possible spaces that are not trapped by some of the
 1286   new_from_string functions and convert them to \032 escapes.
 1287 
 1288   For information: The internal storage of domain names is using
 1289   presentation format without trailing dots. 
 1290 
 1291 
 1292 
 1293 Bug
 1294   @EXPORT and @EXPORT_OK moved to a BEGIN block so that Net::DNS::SEC 
 1295   can make use of exported functions
 1296 
 1297 
 1298 Feature/Bug
 1299 
 1300   The Notify handler introduced in 0.63 did not set the OPCODE on the
 1301   reply appropriately. This has been solved generically by allowing the
 1302   "Headermask" that is returned as 4th element by the reply or notify
 1303   handler in the nameserver also allows for the opcode to be set.
 1304   e.g. as in return ("NXDOMAIN",[],[],[],{ opcode => "NS_NOTIFY_OP" }
 1305   );
 1306 
 1307 
 1308 *** 0.63, 8 Feb 2008
 1309 
 1310 This version contains a Security Fix.
 1311 
 1312 Feature NotifyHandler in Nameserver
 1313 			
 1314   The NotifyHandler is a new attribute to the nameserver used in the
 1315   same way as the ReplyHandler except that it is executed when the
 1316   opcode is NS_NOTIFY (RFC1996). It takes the same arguments as the
 1317   reply handler (i.e. $qname, $qclass, $qtype, $peerhost, and $query).
 1318   Corrections made in the documentation.
 1319 
 1320 Fix rt.cpan.org #32937: 5.11 introduces new warning on uc(undef)
 1321 
 1322   The patch supplied fixes for methods where undefined arguments were
 1323   likely. For methods where undefined arguments don't make the warning
 1324   will be printed.
 1325 
 1326 
 1327 Fix rt.cpan.org #32147: Default LocalAddr broken in Net::DNS::Nameserver 0.62
 1328 
 1329   Listen on the default address if LocalAddr not defined.
 1330 
 1331 
 1332 Fix rt.cpan.org #30316  Security issue with Net::DNS Resolver.
 1333 
 1334   Net/DNS/RR/A.pm in Net::DNS 0.60 build 654 allows remote attackers
 1335   to cause a denial of service (program "croak") via a crafted DNS
 1336   response (http://nvd.nist.gov/nvd.cfm?cvename=CVE-2007-6341). Packet
 1337   parsing routines are now enclosed in eval blocks to trap exception
 1338   and avoid premature termination of user program.
 1339 
 1340 Bug: mbox-dname and txt-dname were not allowed to be empty in the RP RR.
 1341    Fix by Peter Koch
 1342 
 1343 
 1344 *** 0.62, 28 December 2007
 1345 
 1346 Features: Move of some functionality out of the Packet to the Question
 1347    and RR classes; parsing of elements in the packet is now performed
 1348    by calling the appropriate subclasses.
 1349 
 1350    New methods were introduced:
 1351    * Net::DNS::Packet->parse()
 1352    * Net::DNS::RR->parse()
 1353    * Net::DNS::Question->parse()
 1354 
 1355    The Packet class now defers parsing of authority/additional until
 1356    their content is really needed. This should cause a bit of
 1357    performance improvement.
 1358 
 1359    Dick Franks is acknowledged for this Good Work (TM).
 1360 
 1361    Added 20081216 see NOTE above under  rt.cpan.org # 40249
 1362 
 1363 Feature: the Net::DNS::Packet's answersize() method will from now on
 1364     ignore its arguments and just return the size of the packet.
 1365 
 1366 Feature: The Net::DNS::RR->new() method used to call
 1367     Net::DNS::RR->new_from_data() whenever called with the appropriate
 1368     combination of arguments. That (undocumented) behavior has been deprecated.
 1369     Use Net::DNS::RR->new_from_data() directly if you depended on that.
 1370 
 1371 Feature: Net::DNS::Packets unique_push now ignores the TTL in
 1372     comparison of uniqueness, this is closer to the intent of
 1373     RFC2181, but not yet fully compliant.
 1374 
 1375 Fix rt.cpan.org #29816
 1376     Acquiring the IP address for the Resolver under Cygwin is made
 1377     more resilient.
 1378 
 1379 Fix rt.cpan.org #31425
 1380     Empty question section in Base.pm search method detected
 1381 
 1382 Fix rt.cpan.org #31042
 1383     Makefile corrected to add a library target.
 1384 
 1385 Fix rt.cpan.org #29818
 1386     10-recurse.t used to fail in very specific environment (where a query for
 1387     qname="." and qtype="NS" would return with an empty additional section).
 1388     Fixed by adding the hints explicitly; this also forces the tests to take
 1389     place under the root served by a-m.root-servers.net
 1390     
 1391 
 1392 Fix rt.cpan.org #29877
 1393     Made 00-version.t recognize a "GIT" environment.
 1394 
 1395 
 1396 
 1397 
 1398 Fix rt.cpan.org #29878
 1399 
 1400    SPF.pm did not evaluate as true. Thanks Bjorn Hansen.
 1401 
 1402 
 1403 Fix rt.cpan.org #21398
 1404    answersize() and answerfrom() set for persistent sockets
 1405 
 1406 Fix rt.cpan.org #29883
 1407    Fix various tests only available through SVN, so they are 
 1408    more robust (Acknowledgements Bjoern Hansen)
 1409 
 1410 
 1411 Fix rt.cpan.org #24343
 1412    Resolver's nameserver() method would do silly things with undefined 
 1413    arguments.
 1414 
 1415 Fix rt.cpan.org #29531
 1416    Nameserver.pm, Packet.pm and Question.pm modified to avoid erroneous PTR
 1417    lookup in response to mischievous query packet containing an IP address.
 1418 
 1419 
 1420 Fix rt.cpan.org #27970 better netdns.o
 1421 
 1422     Marek Rouchal provided two minor improvements for linking the C
 1423     code snippets
 1424 
 1425 
 1426 Fix rt.cpan 28345
 1427 
 1428     A fix in Test::Simple revealed an off by 1 error in the testplan
 1429     for 05-rr-rrsort.t. The fix is to remove a test, creating a dependency
 1430     on Test::Simple 0.71 seemed overkill.
 1431 
 1432 
 1433 
 1434 *** 0.61, 1 August 2007
 1435 
 1436 Fix rt.cpan.org #28106, 28198, and 28590
 1437     Modification of $_ in various places.  
 1438 
 1439 Fix
 1440     t/11-inet6 assumed lowercase domain names.
 1441 
 1442 *** 0.60 20 June 2007
 1443 
 1444 Fix spelling mistakes in change log using interactive spell checker (aspell).
 1445 
 1446 Fix
 1447     Two redundant calls of $self->rdatastr() in Net::DNS::RR::string().
 1448 
 1449 Fix rt.cpan.org #27285 bis
 1450     Unreleased 0.59_1 dn_expand_PP() has security flaw allowing access to
 1451     arbitrary data using crafted packet with out of range compression pointer.
 1452     Patch by Dick Franks based on 0.59 code. 
 1453 
 1454 Fix rt.cpan.org #27391
 1455     dn_compress() produces corrupt packet for name containing empty label.
 1456 
 1457 Fix rt.cpan.org #26957
 1458     dn_compress() croaks for name having label which exceeds 63 characters.
 1459     Patch by Dick Franks truncates offending label.
 1460 
 1461 Feature check_soa test of NCACHE TTL
 1462     Dick Franks supplied an improved version of check_soa script which
 1463     performs a direct test of NCACHE TTL by looking up non-existent name and
 1464     reporting value if it exceeds 86400. Test is skipped unless minimumTTL is
 1465     above same threshold.  Recent BIND implementations impose a ceiling on
 1466     NCACHE TTLs internally, so a large minimumTTL value is unlikely to have
 1467     damaging consequences at many sites.
 1468 
 1469 Fix rt.cpan.org #27285
 1470     Break out of malformed packets with compression loops.
 1471     Steffen Ullrich is acknowledged for patch and test code.
 1472 
 1473 Feature check_zone "alternate domain" and "exception file" flags
 1474     Paul Archer supplied a patch for check_zone adding two new features.
 1475 
 1476 Feature Support for IPSECKEY RR
 1477     Rudimentary IPSECKEY RR support added.
 1478 
 1479 Fix rt.cpan.org  #25342
 1480     HINFO would only accept its data fields within quotes. That has now
 1481     been fixed to adhere to <character-string> by inheriting parsing functions
 1482     from TXT.
 1483 
 1484 Fix rt.cpan.org #24631 / Feature IP address prefix notation
 1485     Dick Franks supplied a cleaned up version of Question.pm.
 1486 
 1487     Revised code deals with incomplete IPv6 address bug and accepts RFC4291
 1488     address prefix notation. IPv4/prefix also supported for completeness.
 1489 
 1490     This involved a minor change to the API for reverse IP lookup.  Changing
 1491     qtype to PTR is now performed for A and AAAA only.  This allows queries
 1492     for NS and SOA records at interior nodes to be specified using the address
 1493     prefix.  Type ANY queries now also produce the expected result.
 1494 
 1495     Cleaned up TYPE/CLASS reversal code, exploiting fact that the intersection
 1496     of the sets of class and type names contains only one member (ANY).
 1497 
 1498     Minor cleanup of remaining code.
 1499 
 1500 
 1501 Fix rt.cpan.org #22019
 1502 
 1503     Expunge trailing dots from RR->new_from_hash() FQDN arguments.
 1504     Patch by Dick Franks.
 1505 
 1506 Fix Recursion and EDNS OPT record
 1507 
 1508     The Recursive resolver process would add an OPT-RR with each recursion
 1509     which causes FORMERRs with a number of authoritative servers.
 1510 
 1511 Feature SSHFP warn instead of die
 1512 
 1513     We do not die if a not implemented fingerprint type value is read
 1514     from the wire, instead we 'warn' and return undef.
 1515 
 1516 Feature NSEC3PARAM hook 
 1517 
 1518     A hook to load NSEC3PARAM when available has been added.
 1519     WARNING: Both NSEC3 and NSEC3PARAM are configured with their
 1520     experimental type codes.
 1521 
 1522 Feature rt r24525 
 1523 
 1524     Net::DNS::Resolver depended on Net::IP (2268 Kb) which depends on
 1525     heavy module Math::BigInt (1780 Kb). Valery Studennikov suggested to
 1526     ship Net::DNS::Resolver::Base with its own copies of ip_is_ipv[4|6] and
 1527     supplied a patch with those functions stripped from Net::IP.
 1528 
 1529     Note that the package still depends on Net::IP because
 1530     Net::DNS::Nameserver and a few tests depend on it.
 1531 
 1532 Fix rt 22334
 1533     Fixed "perl Makefile.PL --xs" behavior, patch by Tamas Palfalvi
 1534 
 1535 Fix rt 21752 and 24042
 1536     Applied the patch supplied by Alexandr Ciornii to be able
 1537     to compile on ActiveState perl .
 1538     Slight modifications based on comments by nimnul
 1539 
 1540 
 1541 Fix rt 23961
 1542     Randomized the ID on the queries. Thanks to "hjp" for reporting and
 1543     suggesting a fix.
 1544 
 1545     The randomization of the src port is supposed to be handled by the
 1546     setting the source port to "0" (default). Overriding the default
 1547     or using persistent sockets may be problematic.
 1548 
 1549     Also see:
 1550     http://www.potaroo.net/ietf/idref/draft-hubert-dns-anti-spoofing/
 1551 
 1552 Fix 
 1553     Minor compile time warnings for netdns.c on Fedora Core.
 1554 
 1555 
 1556 
 1557 
 1558 *** 0.59 September 18, 2006
 1559 
 1560 
 1561 
 1562 Fix rt.cpan.org 20836, 20857, 20994, and 21402
 1563 
 1564     These tickets all revolved around proper reverse mapping of IPv6
 1565     addresses.
 1566 
 1567     Acknowledgments to Dick Franks who has provided elegant solutions and
 1568     cleaned a bit of code.
 1569 
 1570     Note that directly calling Question->new() without arguments will
 1571     cause the qclass,qtype to be IN, A instead of ANY, ANY.
 1572 
 1573     Net::DNS::Resolver's search() method would always gracefully
 1574     interpret a qname in the form of an IPv4 address. It would go out
 1575     and do a PTR query in the reverse address tree. This behavior has
 1576     also been applied to IPv6 addresses in their many shapes and
 1577     forms. 
 1578 
 1579     This change did two things, 1) root zone not implicitly added to
 1580     search list when looking up short name, 2) default domain appended
 1581     to short name if DEFNAMES and not DNSRCH.
 1582 
 1583 
 1584 Fix rt.cpan.org 18113
 1585 
 1586    Minor error due to unapplied part of patch fixed.
 1587 
 1588 Feature: Experimental NSEC3 hooks. 
 1589 
 1590    Added hook for future support of (experimental) NSEC3 support
 1591    (NSEC3 having an experimental type code).
 1592 
 1593 
 1594 
 1595 
 1596 *** 0.58 July 4, 2006
 1597 
 1598 Feature: hooks for DLV support in Net::DNS::SEC
 1599 
 1600    added hooks for DLV support which is/will be available in
 1601    Net::DNS::SEC as of subversion version 592 (Tests are done against
 1602    the subversion number, not against the perl release version)
 1603    Net::DNS::SEC version 0.15 will have DLV support.
 1604 
 1605 Partly Fixed rt.cpan.org 18940
 1606 
 1607    djhale noticed a number of error conditions under which the
 1608    udp_connection in Nameserver dies. We now print a warning instead
 1609    of dying.
 1610 
 1611 
 1612 Fix rt.cpan.org 18958
 1613 
 1614    Fixed typebyname croak for SIGZERO. Acknowledgments to djhale.
 1615 
 1616 
 1617 Optimize rt.cpan.org 11931
 1618 
 1619    Hanno Stock optimized the method to get the list of available
 1620    interfaces in Win32.  I have only done very rudimentary tests on
 1621    my Windows XP system.
 1622 
 1623 Fix dependency on "CC" rt.cpan.org 19352
 1624 
 1625    The Makefile.PL depended on availability of "cc" and would bail
 1626    out on systems where gcc is exclusively available. Thanks to Rob
 1627    Windsor for noticing and patching.
 1628 
 1629 Fix compressed dnames in NAPTR/SRV
 1630 
 1631     Clayton O'Neill noted that the domain names in the NAPTR and
 1632     SRV RRs rdata were subject to name compression which does not
 1633     conform to specs. Also see RFC 2782 and 2915.
 1634 
 1635 
 1636 Fix rt.cpan.org 18897
 1637 
 1638    Zero-length rdata in TXT fixed (Acknowledgments to Roy Arends)
 1639 
 1640 Fix rt.cpan.org 18785
 1641 
 1642    SPF would not work unless the TXT RR was already loaded.
 1643    SPF fully inherits TXT and loading of TXT.pm is therefore a
 1644    prerequisite.
 1645 
 1646 
 1647 Fix rt.cpan.org 18713
 1648 
 1649     Net::DNS::Resolver now deals gracefully with persistent sockets
 1650     that got disconnected. It will first try to connect again to the
 1651     socket and if that fails it will try to connect to the next
 1652     available nameserver. tcp_timeout() is the parameter that
 1653     determines how long to wait during a reconnect.
 1654 
 1655 Fix rt.cpan.org 18268
 1656 
 1657      Added reference to RFC in croak message for label length > 63 in
 1658      dn_comp().
 1659 
 1660 Fix rt.cpan.org  18113
 1661 
 1662     The inet6 tests contained another bug when online-tests were disabled.
 1663     Klaus Heinz discovered and provided a patch.
 1664 
 1665 *** 0.57 February 24, 2006
 1666 
 1667 Fix rt.cpan.org 17783
 1668 
 1669     The inet6 tests do not skip enough tests when ipv6 is not available.
 1670     I did not catch this in my setup since IPv6 is available on all my
 1671     machines. 
 1672 
 1673     Since this breaks automatic CPAN installs a new release is
 1674     reasonable.
 1675 
 1676 
 1677 *** 0.56 February 20, 2006
 1678 
 1679 Fix rt.cpan.org 17694
 1680  
 1681    Net::DNS::typesbyval() now confesses on undefined
 1682    args. Acknowledgments to Dean Serenevy.
 1683 
 1684 Feature Implemented SPF (typecode 99).
 1685 
 1686    The class completely inherits from Net::DNS::RR::TXT (the easiest 
 1687    RR to implement ever).
 1688 
 1689 Feature added rrsort() function.
 1690    Feature was requested by Eric Hall in rt.cpan.org 13392
 1691 
 1692    This was a little tricky as I think that the sort functions are in
 1693    fact RR specific class attributes that should be accessed through
 1694    class methods. This is difficult to implement. I do think I found a
 1695    fairly clean manner. It does require a global variable in Net::DNS
 1696    to store the functions and some trickery when the sorting functions
 1697    are defined.
 1698 
 1699    See Net::DNS and Net::DNS::RR documentation for details.
 1700 
 1701    Defaults sorting functions are currently implemented in 
 1702       SRV: default sort: low priority to high priority and for
 1703            same preference highest weight first.
 1704 	   weight: sort all RRs based on weight, highest first
 1705 	   priority: see default sort
 1706 
 1707       MX:  default sort: lowest preference first.
 1708            preference: see default sort    
 1709            
 1710     NAPTR: default sort: lowest to highest order, for same order lowest
 1711            preference first
 1712 	   order: see default sort
 1713 	   preference: order on preference, lowest first
 1714 
 1715       PX:  See MX
 1716       RT:  See MX
 1717 
 1718 
 1719 Fix rt.cpan.org 14653 and 14049 
 1720    TCP fallback after V6 socket failure 
 1721 
 1722    Reworked Net::DNS::Base::Nameserver::send_tcp() to fallback to IPv4 when 
 1723    possible. (change applied to SVN Revision 538).
 1724 
 1725 
 1726 Feature Cleanup duplicated code
 1727 
 1728    axfr_send() and send_tcp() contained some duplicated code. I merged
 1729    this in one "helper" method _create_tcp_socket()
 1730 
 1731 
 1732 
 1733 Fix AXFR persistent sockets colliding with query sockets.
 1734 
 1735    I think that using the same persistent sockets for AXFR and
 1736    'ordinary' queries could lead to race conditions. Better safe than
 1737    sorry. For axfrs we create a different set of persistent sockets.
 1738 
 1739    Note that this prevents performing a SOA query first and then using
 1740    the same socket for the zone transfer itself(in Net::DNS these are
 1741    different code paths). This behavior of SOA and transfer on the
 1742    same socket-- seems to be suggested by 1035 section 4.2.2:
 1743 
 1744      "In particular, the server should allow the SOA and AXFR request
 1745      sequence (which begins a refresh operation) to be made on a
 1746      single connection."
 1747 
 1748    Obviously, on the client side this behavior is not mandatory.
 1749 
 1750 
 1751 Fix rt.cpan.org 17596
 1752     
 1753     The fixes and features above also fixed the timeout problem reported by
 1754     Paul Hoffman
 1755  
 1756 
 1757 Profiling
 1758 
 1759     It turned out that each time we were calling
 1760     Net::DNS::Resolver::Base::nameserver(); We were creating a
 1761     resolver object. Now a resolver object is only called when a
 1762     domain name is given as argument.
 1763 
 1764 
 1765 **** 0.55 December 14, 2005
 1766 
 1767 Fix Inconsistency in test
 1768 
 1769    There was an inconsistency in the t/05-rr.t that got triggered by
 1770    the release of Net::DNS::SEC version 0.13 (when installed). That
 1771    has been fixed.
 1772 
 1773 Feature Net::DNS::Nameserver loop_once()
 1774 
 1775    Uncommented the documentation of the loop_once() function and introduced
 1776    get_open_tcp() that reports if there are any open TCP sockets (useful
 1777    when using loop_once().
 1778 
 1779    loop_once() itself was introduced in version 0.53_02
 1780 
 1781 
 1782 Fix rt.cpan.org 16392
 1783 
 1784    TCP Sockets stayed open even if not requested. This may cause the kernel
 1785    to run out of TCP slots. 
 1786 
 1787    This bug is the reason for releasing version 0.55 shortly after 0.54.
 1788 
 1789    Spotted and patched by Robert Felber.
 1790 
 1791 
 1792 *** 0.54 December 7, 2005
 1793 
 1794 
 1795 Fix rt.cpan.org 15947
 1796 
 1797   Failure to bind a nameserver when specifying an IPv6 address.
 1798 
 1799 Fix rt.cpan.org 11931
 1800 
 1801   Using Net-DNS 0.53 on Win XP, it is unable to retrieve the
 1802   nameservers when the IP address of the interface is assigned by
 1803   DHCP.  This is due to the DHCP assigned IP address being stored in
 1804   DhcpIPAddress rather than IPAddress (which is then 0.0.0.0).  Adding
 1805   a check of DhcpIPAddress existence and not being 0.0.0.0 fixes the
 1806   problem.  Applied the patch submitted by "orjan". 
 1807 
 1808 Fix rt.cpan.org 15119
 1809 
 1810   main_loop() consumed 100% of CPU, because of a bug that
 1811   caused loop_once() to loop ad infinitum.
 1812 
 1813 Fix rt.cpan.org 15299
 1814 
 1815   Defining multiple constants with 'use constant { BLA => 1, FOO =>2 };
 1816   is a backwards incompatible feature. Thanks to Ian White for spotting and
 1817   fixing this.
 1818 
 1819 *** 0.53_02 Oct 18, 2005
 1820 
 1821 
 1822 
 1823 Fix rt.cpan.org 14046
 1824 
 1825   RRSIGs verify and create failed for a number of RR types. The 
 1826   error message showed something like:
 1827       Can't call method "dn_comp" on an undefined value 
 1828   This was caused by an omission in the _canonicalRdata() method
 1829   in Net::DNS::RR that was inherited by all failing RR types.
 1830 
 1831   Code was added to t/05-rr.t that will test signature creation
 1832   if Net::DNS::SEC is available and can be loaded.
 1833 
 1834 
 1835 Feature async nameserver behaviour.
 1836   
 1837    In rt.cpan.org 14622 Robert Stone suggested:
 1838 
 1839       The fact that it needs to take over the main running thread
 1840       limits its audience.  Since many daemon programs are already
 1841       driven by a top level select loop, it seems useful to provide an
 1842       API for the user to integrate Net::DNS::Nameserver processing to
 1843       their own select loop.
 1844 
 1845    He also supplied example code for which he is hereby acknowledged.
 1846    The patch was not used because simultaneously Robert Martin-Legène
 1847    supplied a patch to Nameservers.pm that allowed the same async
 1848    functionality through the use of loop_once method. Robert M-L's 
 1849    code also carefully manages the TCP sockets, so that they can 
 1850    deal with AXFRs.
 1851 
 1852    Robert S. has been so kind to review Robert M-L's code and is hereby
 1853    kindly acknowledged.
 1854 
 1855    NB. Since the code may be subject to change the documentation of the
 1856    loop_once method has been commented out.
 1857 
 1858 
 1859 Fix bgsend srcaddr for IPv6 Achim Adam previously noticed that the
 1860   source address wildard "::" works provides better portability than
 1861   "0". We forgot to fix the bgsend() part earlier.
 1862 
 1863 
 1864 
 1865 Fix rt.cpan.org 14624 
 1866 
 1867   Fixed documentation of Nameserver.pm Replyhandler and fixed a bug
 1868   that prevented the peerhost to be set.
 1869 
 1870 Fix rt.cpan.org 14700
 1871 
 1872   mistyped _name2wire helper function name. Noticed and patched by Simon 
 1873   Josefsson.
 1874 
 1875 Fix rt.cpan.org 13944
 1876 
 1877   Terminating dot not printed when printing SRV record. The SRV dname should
 1878   be printed as FQDN, that is, including the dot at the end.
 1879   Acknowledgments Jakob Schlyter. 
 1880 
 1881   While adding the "dot" I noticed that in the fileformat parsing code
 1882   there might be theoretical corner cases where rdata elements are not
 1883   properly read. The code needs an audit for this.
 1884 
 1885 Fix srcport for socket creation in bgsend method
 1886 
 1887    Lionel Cons noted and patched a small bug in bgsocket creation code for
 1888    lib/Net/DNS/Resolver/Base.pm
 1889 
 1890 
 1891 *** 0.53_01 July 31, 2005
 1892 
 1893 Fix rt.cpan.org 13809
 1894 
 1895    "Phar" noted that the peerhost is never passed to the make_reply function
 1896    in nameserver.pm and provided the trivial patch. 
 1897 
 1898 Fix rt.cpan.org 13922
 1899 
 1900     Fixed a problem with persistent TCP sockets which was introduced
 1901     because of using the address family as an index to the array of
 1902     persistent sockets. 
 1903 
 1904     Used AF_UNSPEC for the array index for the TCP socket; just to choose
 1905     a number. The key to the persistent sockets is the remote nameserver:port 
 1906     combination.
 1907 
 1908     Acknowledgments to Mike Mitchell for reporting the bug and testing
 1909     the solution.
 1910 
 1911 Feat t/01-resolve will not try to do tests from private IP space; hopefully
 1912     that cuts down on the number of false positives.
 1913 
 1914 
 1915 *** 0.53 July 22, 2005
 1916 
 1917 Fix rt.cpan.org 13669
 1918 
 1919     Danny Thomas provided a somewhat more elegant line of code for the 
 1920     typesbyval regexp.
 1921 
 1922 Fix rt.cpan.org 13534 
 1923 
 1924     Net::DNS::Resolver::Recurse would bail out when it happened to run
 1925     into lame servers.
 1926 
 1927 Doc rt.cpan.org 13387
 1928 
 1929     Documented the BUG caught by Robert Martin-Legène
 1930     Net::DNS::Nameserver running with multiple IP interfaces might
 1931     violate section 4 of RFC2181.
 1932 
 1933 
 1934 Fix IPv6 on AIX
 1935 
 1936     Binding to the local interface did not work when local address was
 1937     specified as "0" instead of "::". The problem was identified,
 1938     reported and fixed by Achim Adam.
 1939 
 1940 
 1941 
 1942 Fix rt.cpan.org 13232
 1943     One uncaught AF_INET6.
 1944 
 1945 *** 0.52 July 1, 2005
 1946 
 1947 Feature
 1948     Net::DNS::RR::OPT
 1949 
 1950     added the the size(), do(),set_do() and clear_do() methods.
 1951 
 1952 
 1953 
 1954 *** 0.51_02 June 22, 2005
 1955 
 1956 
 1957 Fix rt.cpan.org 13297 
 1958 
 1959     Persistent_udp option broken starting in version 0.50.
 1960     This was fixed, based on a patch by Sidney Markowitz.
 1961     Guido van Rooij independently submitted a similar patch.
 1962     
 1963 Fix rt.cpan.org 13289 	
 1964  
 1965     Was caused by a typo. 
 1966 
 1967 Fix rt.cpan.org 13243 and 13191 
 1968 
 1969     The escaped characters test failed on some system because the 
 1970     the systems dn_expand instead of the supplied dn_expand 
 1971     was used after the makemaker magic linked DNS.xs.
 1972 
 1973     This was fixed by renaming the dn_expand that comes with the
 1974     library to netdns_dn_expand.
 1975 
 1976 
 1977 Fix rt.cpan.org 13239:
 1978 
 1979     When queries are refused the resolver would not take the next
 1980     nameserver on the nameserver list for its next try but skip one.
 1981 
 1982     I was also made aware that the "use byte" pragma is incompatible
 1983     with pre 5.06 perl. 
 1984 
 1985     BEGIN { 
 1986           eval { require bytes; }
 1987     }
 1988 
 1989 
 1990     It should be noted that for perl versions < 5.006 I had to disable
 1991     the escaped character test. Don't expect domain names with labels
 1992     that contain anything else than host names to work for versions
 1993     earlier than perl 5.6.0.
 1994 
 1995     Thanks to Vladimir Kotal for the assistance in testing the code on
 1996     his system and the members of the NL-PM list for suggestions and
 1997     education.
 1998 
 1999 
 2000 *** 0.51_01 June 14, 2005
 2001 
 2002 Fix rt.cpan.org 13232:
 2003 
 2004     Replaced IF_INET6 by IF_INET6() so that use strict subs does not
 2005     complain in the absence of a definition of IF_INET6 in earlier
 2006     versions perl that did not have IF_INET6 defined in Socket.pm
 2007     The problem is similar to the problem described in:
 2008       http://lists.ee.ethz.ch/mrtg-developers/msg00198.html
 2009     
 2010 
 2011 
 2012 *** 0.51 June 10, 2005
 2013 
 2014 Fix rt.cpan.org 13184:
 2015 
 2016      Removed a 'stale' debug line (oops).  A "stale" debug line may
 2017      cause clutter in log files which may cause false positives on log
 2018      analysis tools. Harmful enough to warrant a quick patch.
 2019 
 2020 
 2021 *** 0.50 June 8, 2005
 2022 
 2023 No changes with respect to 0.49_03.
 2024 
 2025 
 2026 *** 0.49_03  June 1, 2005  (Version 0.50 release candidate 3)
 2027 
 2028 Fix: 
 2029       Concatenation of scalars caused modification of data because of 
 2030       Perl's habit to treat scalars as utf characters instead of bytes.
 2031       Inserted use bytes pragma throughout the code base. DNS is done
 2032       in octets.
 2033 
 2034 Feature:
 2035       Added "ignqrid" as an attribute to the Resolver.
 2036 
 2037       use as:
 2038       ok (my $res=Net::DNS::Resolver->new(nameservers => ['127.0.0.1'],
 2039 				    port => 5354,
 2040 				    recurse => 0,
 2041 				    igntc => 1,
 2042 				    ignqrid => 1,
 2043 				    ),
 2044 				    
 2045       When the attribute is set to a non-zero value replies with the
 2046       qr bit clear and replies with non-matching query ids are
 2047       happily accepted. This opens the possibility to accept spoofed
 2048       answers. YOU CAN BURN YOURSELF WITH THIS FEATURE.
 2049 
 2050       It is set to 0 per default and remains, except for this changes file
 2051       an undocumented feature.
 2052 
 2053 
 2054 *** 0.49_02  May 28, 2005  (Version 0.50 release candidate 2)
 2055 
 2056 Fix: Smoking Gun tests for non-cygwin Win32.
 2057       Makefile.PL failed to produce a proper Makefile under win32.
 2058       (e.g. www,nntp.perl.org/group/perl.cpan.testers/210570)
 2059       I worked around that by moving the library into the base
 2060       directory of the distribution as the "subdir" section 
 2061       seemed to be all funny.
 2062 
 2063 Fix: rt.cpan.org#11931 (the off-topic part)
 2064 
 2065       Sidney Markowitz spotted an awkward condition that rarely happens but is
 2066       significant enough to be dealt with.
 2067 
 2068       In the send_udp method there are two loops: one over the nameservers
 2069       and one that waits for the sockets to come forward with data.
 2070 
 2071       That second loop will sometimes timeout and then be entered with a 
 2072       repeated query to the same nameserver. It occasionally happens that the
 2073       old packet arrives on the socket. That packet is discarded but the 
 2074       loop does not return to the loop to wait for the remainder of the
 2075       timeout period for an answer on the second query, that may still arrive.
 2076       This has now been fixed.
 2077 
 2078       Thanks to Sidney for the assessment of the problem and the fix.
 2079 
 2080 
 2081 
 2082 *** 0.49_01    (Version 0.50 release candidate 1)
 2083 
 2084 Fix: Makefile.PL: Minor tweak to recognize Mac OS X 10.4 not so relevant
 2085     since netdnslib is distributed with the code.
 2086 
 2087 Feature: Calling the Net::DNS::Resolver::dnssec method with a non-zero
 2088     argument will set the udppacketsize to 2048. The method will
 2089     also carp a warning if you pass a non-zero argument when
 2090     Net::DNS::SEC is not installed.
 2091 
 2092 
 2093 Feature: IPv6 transport support
 2094      
 2095      IPv6 transport has been added to the resolver and to the
 2096      nameserver code.
 2097  
 2098      To use IPv6 please make sure that you have IO::Socket::INET6 version
 2099      2.01 or later installed.
 2100 
 2101      If IPv6 transport is available Net::DNS::Resolver::Recurse will make
 2102      use of it (picking randomly between IPv4 and IPv6 transport) use
 2103      the force_v4() method to only force IPv4.
 2104 
 2105 
 2106 
 2107 Feature: Binary characters in labels
 2108 
 2109      RFC 1035 3.1:
 2110      
 2111        Domain names in messages are expressed in terms of a sequence of
 2112        labels.  Each label is represented as a one octet length field
 2113        followed by that number of octets.  Since every domain name ends
 2114        with the null label of the root, a domain name is terminated by a
 2115        length byte of zero.  The high order two bits of every length octet
 2116        must be zero, and the remaining six bits of the length field limit
 2117        the label to 63 octets or less.
 2118      
 2119      Unfortunately dname attributes are stored strings throughout
 2120      Net::DNS.  (With hindsight dnames should have had their own class
 2121      in which one could have preserved the wire format.).
 2122      
 2123      To be able to represent all octets that are allowed in domain
 2124      names I took the approach to use the "presentation format" for
 2125      the attributes. This presentation format is defined in RFC 1035
 2126      5.1.
 2127      
 2128      I added code to parse presentation format domain names that has
 2129      escaped data such as \ddd and \X (where X is not a number) to
 2130      wireformat and vice verse. In the conversion from wire format to
 2131      presentation format the characters that have special meaning in a
 2132      zone file are escaped (so that they can be cut-n-pasted without
 2133      pain).
 2134      
 2135      These are " (0x22), $ (0x24), (0x28), ) (0x29), . (0x2e) , ;
 2136      (0x3b), @ (ox40) and \ (0x5c). The number between brackets
 2137      representing the ascii code in hex.
 2138      
 2139      Note that wherever a name occurs as a string in Net::DNS it is
 2140      now in presentation format.
 2141      
 2142      For those that dealt with 'hostnames' (subset of all possible
 2143      domain names) this will be a completely transparent change.
 2144      
 2145      Details:
 2146      
 2147      I added netdnslib which contains Net::DNS's own dn_expand. Its
 2148      implemented in C and the source is a hodgepodge of Berkeley based
 2149      code and snippets from ISC's bind9 distribution. The behavior, in
 2150      terms of which chars are escaped, is similar to bind9.
 2151      
 2152      There are some functions added to DNS.pm that do conversion from
 2153      presentation and wire format and back. They should only be used
 2154      internally (although they live in EXPORT_OK.)
 2155      
 2156      
 2157      For esoteric test cases see t/11-escapedchars.t.
 2158  
 2159 Fix: rt.cpan.org #11931 
 2160      Applied the patch suggested by "Sidney". It is a practical workaround
 2161      that may not be portable to all versions of the OS from Redmond. See
 2162      the ticket for details.
 2163 
 2164 
 2165 
 2166 *** 0.49 March 29, 2005
 2167 
 2168      No changes wrt 0.48_03.
 2169  
 2170 
 2171 *** 0.48_03 March 22, 2005 (Version 0.49 release candidate 3)
 2172 
 2173 Fix: Only remove leading zeros in the regular expressions for typesbyval
 2174      and classbyval methods. (patch by Ronald v.d. Pol)
 2175 
 2176 Fix: Properly return an empty array in the authority, additional and answer
 2177      methods (patch by Ronald v.d. Pol)
 2178 
 2179 
 2180 Fix: rt.cpan.org #11930 
 2181      Incorrect searchlist duplication removal in Net::DNS::Resolver::Win32 
 2182      Patch courtesy Risto Kankkunen.
 2183 
 2184 Problem: rt.cpan.org #11931
 2185 
 2186      Win32.pm used the DNSRegisteredAdapters registry key to determine which
 2187      local forwarders to send queries to. This is arguably the wrong key as it
 2188      is used to identify the server which to send dynamic updates to.
 2189 
 2190      A real fix for determining the set of nameservers to query has not been
 2191      implemented. For details see 
 2192      https://rt.cpan.org/Ticket/Display.html?id=11931
 2193 
 2194 
 2195 *** 0.48_02 March 14, 2005 (Version 0.49 release candidate 2)
 2196 
 2197 Fix: Bug report by Bernhard Schmidt (concerning a bug on the IPv6 branch).
 2198 
 2199       The bug caused dname compression to fail and to create
 2200       compression pointers causing loops.
 2201 
 2202 *** 0.48_01 March 7, 2005 (Version 0.49 release candidate 1)
 2203 
 2204 Fix: rt.cpan.org  #8882  
 2205       No redundant lookups on SERVFAIL response 
 2206      and #6149 	 
 2207       Does not search multiple DNS servers
 2208  
 2209       Net::DNS::Resolver will now use the other nameservers in the
 2210       list if the RCODE of the answer is not NOERROR (0) or NXDOMAIN
 2211       (3). When send() exhausted the last nameserver from the it will
 2212       return the answer that was received from the last nameserver
 2213       that responded with an RCODE.
 2214 
 2215       The errorstring will be set to "RCODE: <rcode from last packet>"
 2216 
 2217 
 2218 Fix: rt.cpan.org #8803 
 2219       TXT records don't work with semicolons 
 2220 
 2221       Since we are expecting "zonefile" presentation at input 
 2222       a comment will need to be escaped ( \; ).
 2223 
 2224       It could be argued that this is a to strict interpretation of 
 2225       1035 section 5.1.
 2226 
 2227       While working on this I discovered there are more problems with
 2228       TXT RRs. Eg; 0100 is a perfectly legal character string that
 2229       should be represented as "\000" in a zonefile. Net::DNS does 
 2230       pass character strings with "non-ASCII" chars from the wire
 2231       to the char_str_lst array but the print functions do not
 2232       properly escape them when printing.
 2233 
 2234       Properly dealing with zonefile presentation format and binary 
 2235       data is still to be done.
 2236 
 2237 
 2238 Fix: rt.cpan.org Ticket #8483 
 2239 	eval tests for DNS::RR::SIG fail when using a die handler 
 2240 	(Thanks Sebastiaan Hoogeveen)
 2241 	
 2242       Patch applied.
 2243 
 2244 Fix: rt.cpan.org: Ticket #8608 
 2245 	Net::DNS::Packet->data makes incorrect assumptions
 2246 
 2247       Implemented the "pop" method for the question.
 2248       Since having a qcount that is not 1 is somewhat rare (it appears
 2249       in TCP AXFR streams) the ability to pop the answer from a question
 2250       has not been documented in the "pod"
 2251 
 2252       Also fixed the incorrect assumption.
 2253 
 2254       (Thanks Bruce Campbell.)
 2255 
 2256 
 2257 Fix: Ticket #11106 
 2258       Incorrect instructions in README 
 2259 
 2260       Corrected in the README and in Makefile.PL
 2261 
 2262 
 2263 Olaf Kolkman took over maintenance responsibility from Chris
 2264 Reinhardt. This involved importing the code into another subversion
 2265 repository. I made sure the numbers jumped, but I did not have access
 2266 to the "original" subversion repository so I lost some of the history.
 2267 
 2268 
 2269 *** 0.48 Aug 12, 2004
 2270 
 2271 
 2272 Net::DNS is now stored in a subversion repository, replacing cvs.
 2273 As such the submodule version numbers have taken another big jump. 
 2274 Luckily those numbers don't matter as long as they work.
 2275 
 2276 Fixed a bug with Unknown RR types that broke zone signing [Olaf].
 2277 
 2278 Added callback support to Net::DNS::Resolver::Recurse.  The
 2279 demo/trace_dns.pl script demonstrates this.
 2280 
 2281 Added a note regarding answers with an empty answer section to the 
 2282 Net::DNS::Resolver::search() and Net::DNS::Resolver::query() 
 2283 documentation.
 2284 
 2285 The copyright notice for Net::DNS::RR::SSHFP was incorrect.  That file
 2286 is Copyright (c) 2004 RIPE NCC, Olaf Kolkman.
 2287 
 2288 *** 0.47_01 May 6, 2004
 2289 
 2290 ** NOTICE **
 2291 
 2292 RR subclasses no longer pull in parts of Net::DNS; Net::DNS is assumed
 2293 to be up and running when the subclass is compiled.  If you were using a
 2294 RR subclass directly, this may break your code.  It was never documented
 2295 that you could use them directly however, so hopefully you never did...
 2296 
 2297 Fixed bug where SRV records with a priority of 0 did not function 
 2298 correctly.  CPAN #6214
 2299 
 2300 Calls to various constants where using the &NAME syntax, which is not
 2301 inlined.  Changed to NAME().
 2302 
 2303 Added SSHFP support. [Olaf]
 2304 
 2305 CERT fixes.  [Olaf]
 2306 
 2307 *** 0.47 April 1, 2004
 2308 
 2309 safe_push() is back in Net::DNS::Packet, due to the excellent debate
 2310 skills of Luis E Munoz.  However, the name safe_push() is deprecated,
 2311 use the new name unique_push() instead.
 2312 
 2313 Fixed a bug in Net::DNS::Nameserver which caused the class to build 
 2314 packets incorrectly in some cases. [Ask Bjorn Hansen]
 2315 
 2316 Error message cleanups in Net::DNS::typesbyname()
 2317 and Net::DNS::typesbyval() [Ask Bjorn Hansen]
 2318 
 2319 Net::DNS::RR::new_from_hash() now works with unknown RR types [Olaf].
 2320 
 2321 *** 0.46 February 21, 2004
 2322 
 2323 IPv6 reverse lookups can now be done with Net::DNS::Resolver::search(),
 2324 as well as with query().
 2325 
 2326 Hostnames can now be used in the 'nameservers' argument to 
 2327 Net::DNS::Resolver->new()
 2328 
 2329 *** 0.45_01 February 9, 2004
 2330 
 2331 Net::DNS now uses UDP on windows.
 2332 
 2333 Removed Net::DNS::Select from the package.  IO::Select appears to work
 2334 on windows just fine.
 2335 
 2336 Fixed a bug that caused MXes with a preference of 0 to function
 2337 incorrectly, reported by Dick Franks.
 2338 
 2339 Net::DNS had a few problems running under taint mode, especially under
 2340 cygwin.  These issues have been fixed.  More issues with taint mode may
 2341 lie undiscovered.
 2342 
 2343 Applied Matthew Darwin's patch added support for IPv6 reverse lookups to
 2344 Net::DNS::Resolver::query.
 2345 
 2346 *** 0.45 January 8, 2004
 2347 
 2348 No changes from 0.44_02.
 2349 
 2350 ** 0.44_02 January 3, 2004
 2351 
 2352 The XS detection code was broken.  We actually use the XS bits now.
 2353 
 2354 Major cleanups/optimizations of the various RR subclasses.  This release
 2355 of Net::DNS is over twice as fast at parsing dns packets as 0.44.
 2356 
 2357 ** NOTICE **
 2358 
 2359 $rr->rdatastr no longer returns '; no data' if the RR record has no
 2360 data.  This happens in $rr->string now.
 2361 
 2362 Net::DNS::Packet::safe_push() no longer exists.  The method is now only 
 2363 available from Net::DNS::Update objects.
 2364 
 2365 
 2366 ** 0.44_01 January 3, 2004
 2367 
 2368 Net::DNS::RR objects were not playing nice with Storable, this caused 
 2369 the axfr demo script to fail.  Thanks to Joe Dial for the report.
 2370 
 2371 ** NOTICE **
 2372 This may cause RR objects that are already serialize to not deserialize
 2373 correctly.  
 2374 
 2375 Reply handlers in Net::DNS::Nameserver are now passed the query object.
 2376 
 2377 Fixed a nasty bug in Nameserver.pm related to the qr bit.  As Olaf
 2378 explained:
 2379 
 2380   Replies are sent if the query has its "qr" bit set. The "qr" bit is an
 2381   indication that the packet is sent as a response to a query. Since
 2382   there are more implementations that suffer from this bug one can cause
 2383   all kinds of nasty ping-pong loops by spoofing the initial packet or
 2384   have an infinite query loop by spoofing a query from the localhost:53
 2385   address.
 2386 
 2387 Various Win32/Cygwin cleanups from Sidney Markowitz.
 2388 
 2389 
 2390 *** 0.44 December 12, 2003
 2391 
 2392 	The Wrath of CPAN Release.
 2393 	
 2394 CPAN.pm doesn't understand the nature of revision numbers.  1.10 is 
 2395 newer than 1.9; but CPAN.pm treats them as floats.  This is bad.
 2396 All the internal version numbers in Net::DNS have been bumped to
 2397 2.100 in order to fix this.
 2398 
 2399 No actual code changes in this release.
 2400 
 2401 
 2402 *** 0.43 December 11, 2003
 2403 
 2404 Added warning of deprecation of Net::DNS::Packet::safe_push.  This will
 2405 move into Net::DNS::Update, as Net::DNS::Update is now a proper subclass
 2406 of Net::DNS::Packet.
 2407 
 2408 ** 0.42_02 December 11, 2003
 2409 
 2410 Fixed a long standing bug with zone transfers in the "many-answers" format. 
 2411 CPAN #1903.
 2412 
 2413 Added the '--online-tests' flag to Makefile.PL.  This activates the online
 2414 tests without asking the user interactively.  "--no-online-tests" turns
 2415 the tests off.  
 2416 
 2417 Cleaned up Makefile.PL a little.  The "--pm" flag is now deprecated, use
 2418 "--no-xs" instead.
 2419 
 2420 Added support for unknown RR types (rfc3597). Note for developers: the
 2421 typesbyname, typesbyval, classesbyname and classesbyval hashes should
 2422 not be used directly, use the same named wrapper functions
 2423 instead. [Olaf Kolkman]
 2424 
 2425 Added two hashes for administrative use; they store which types are
 2426 qtypes and metatypes (rfc2929). [Olaf Kolkman]
 2427 
 2428 ** 0.42_01 November 30, 2003
 2429 
 2430 Major work to get Net::DNS functioning properly on Cygwin by Sidney 
 2431 Markowitz.
 2432 
 2433 Fixed a bug in Net::DNS::Nameserver's error handling.  CPAN #4195
 2434 
 2435 *** 0.42 October 26, 2003
 2436 
 2437 Fixed compilation problems on panther (Mac OS 10.3).
 2438 
 2439 Fixed a bug in Net::DNS::Resolver::Recurse which allowed an endless
 2440 loop to arise in certain situations.  (cpan #3969, patch
 2441 by Rob Brown) 
 2442 
 2443 Applied Mike Mitchell's patch implementing a persistent UDP socket.  
 2444 See the Net::DNS::Resolver documentation for details.
 2445 
 2446 *** 0.41 October 3, 2003
 2447 
 2448 Added some documentation about modifying the behavior of Net::DNS::Resolver. 
 2449 
 2450 ** 0.40_01 September 26, 2003
 2451 
 2452 Fixed some uninitialized value warnings when running under windows.
 2453 
 2454 Fixed a bug in the test suite that caused 00-version.t to fail with
 2455 certain versions of ExtUtils::MakeMaker.   Thanks to David James, Jos 
 2456 Boumans and others for reporting it.
 2457 
 2458 Reply handlers in Net::DNS::Nameserver are now passed the peerhost.
 2459 (Assen Totin <assen@online.bg>)
 2460 
 2461 Reply handlers in Net::DNS::Nameserver can now tweak the header bits
 2462 that the nameserver returns.  [Olaf]
 2463 
 2464 The AD header bit is now documented, and twiddlable. [Olaf]
 2465 
 2466 The change log has been trimmed, entries for versions older than 0.21
 2467 have been removed. 
 2468 
 2469 ** NOTICE **
 2470 Net::DNS::Resolver::axfr_old() has been removed from the package.  
 2471 An exception will be thrown if you attempt to use this method.  Use
 2472 axfr() or axfr_start() instead.
 2473 
 2474 *** 0.40 September 1, 2003
 2475 
 2476 Various POD tweaks.
 2477 
 2478 ** 0.39_02 August 28, 2003
 2479 
 2480 Net-DNS-SEC updates, seems that IETF has been busy redefining DNSSEC.
 2481 [Olaf]
 2482 
 2483 Added version to all the modules in the distribution.
 2484 
 2485 ** 0.39_01 August 12 2003
 2486 
 2487 Added a META.yaml.  The crystal ball says an upgrade to Module::Install may
 2488 be coming soon.
 2489 
 2490 Changed how the versions of the various submodules were set.  The CPAN 
 2491 indexer cannot execute "$VERSION = $Net::DNS::VERSION".  The single line
 2492 with the $VERSION assignment is pulled out of the file and eval'ed; at
 2493 that time, Net::DNS is not loaded.  The submodules now pull their version 
 2494 numbers out of CVS.
 2495 
 2496 *** 0.39 August 7 2003
 2497 
 2498 Fixed a bug on Win32 where some machines separated lists with commas, 
 2499 not whitespace.  Thanks to Jim White for pointing it out.
 2500 
 2501 ** 0.38_02 July 29 2003
 2502 
 2503 Reworked the POD for Net::DNS::Resolver.
 2504 
 2505 When parsing resolver configuration files, IPv6 addresses are now skipped,
 2506 as Net::DNS does not yet have IPv6 support. 
 2507 
 2508 ** 0.38_01 Jun 22 2003
 2509 
 2510 Broke Net::DNS::Resolver into separate classes.  UNIX and Win32 
 2511 classes are currently implemented.  Many of the globals in 
 2512 Net::DNS::Resolver no longer exist.  They were never documented
 2513 so you never used them.... right?
 2514  
 2515 Options to Net::DNS::Resolver->new() are now supported, including
 2516 using your own configuration file.  See the Net::DNS::Resolver man
 2517 page for details.
 2518 
 2519 Tweaked Net::DNS::RR::TXT to fail more gracefully when the quotes 
 2520 in the data section are not balanced.
 2521 
 2522 Add more tests (of course).
 2523 
 2524 Moved next_id() from Resolver.pm to Header.pm (which is where it is
 2525 used).
 2526 
 2527 Net::DNS::Select now uses $^O directly, this means that the second
 2528 argument to Net::DNS::Select::new() (the OS) is now ignored.
 2529 
 2530 *** 0.38 Jun 5 2003
 2531 
 2532 Various buglets fixed in the new Makefile.PL.
 2533 
 2534 Use Dynaloader instead of XSLoader.  Turns out that XSLoader is only 
 2535 in more recent perls.
 2536 
 2537 Added deprecation warning to Net::DNS::Resolver::axfr_old().
 2538 
 2539 HP-UX fixes [cpan #2710], I don't have the name of the reporter/patcher.
 2540 
 2541 *** 0.37 May 28 2003
 2542 
 2543 Renamed the test C file to compile.c, test.c was confusing the 'make test'
 2544 target.
 2545 
 2546 *** 0.36 May 28 2003
 2547 
 2548 Removed Rob Brown's RPM stuff.  Something odd happened in the 0.35 tarball
 2549 and at the moment I don't have the time to investigate.
 2550 
 2551 *** 0.35 May 26 2003
 2552 
 2553 POD fixes, added tests for POD.
 2554 
 2555 *** 0.34_03 May 22 2003
 2556 
 2557 Reworked Makefile.PL to try and detect if you have a working C compiler.
 2558 
 2559 Added '--pm' and '--xs' command line options to Makefile.PL
 2560 
 2561 Fixed linking problem on linux.
 2562 
 2563 Tie::DNSHash removed from the package, see Tie::DNS from CPAN for a more
 2564 complete implementation of a DNS hash.
 2565 
 2566 *** 0.34_02 May 21 2003
 2567 
 2568 Net::DNS::Packet::dn_expand is now implemented using the function of the
 2569 same name from libresolv.  This method of decompressing names is around
 2570 twice as fast as the perl implementation.
 2571 
 2572 Applied Jan Dubois's patch to fix nameserver lookup on Windows 2000/95/98/ME.
 2573 
 2574 *** 0.34 6 Mar 2003
 2575 
 2576 Applied David Carmean's patch for handling more than one string in a 
 2577 TXT RR's RDATA section.
 2578 
 2579 Applied Net::DNS::Resolver::Recurse bug fixes from Rob Brown.
 2580 
 2581 Added check of the answer's rcode in Net::DNS::Resolver::axfr_next().
 2582 
 2583 Applied Kenneth Olving <kenneth.olving@eoncompany.com> Windows changes.
 2584 
 2585 Applied patch from Dan Sully (daniel@electricrain.com) allowing multiple
 2586 questions to be part of a DNS packet.
 2587 
 2588 *** 0.33 8 Jan 2003
 2589 
 2590 Fixed 00-load.t to skip the Net::DNS::SEC modules.  The test suite
 2591 should now pass if you have Net::DNS::SEC installed. 
 2592 
 2593 Fixed the regular expression in RR.pm to comply with the RFCs, turns
 2594 out we were _too_ paranoid.  [Olaf]
 2595 
 2596 
 2597 *** 0.32 5 Jan 2003
 2598 
 2599 Various cleanups for perl 5.004.  Thanks to nathan@anderson-net.com
 2600 ([cpan #1847])
 2601 
 2602 Applied Olaf's SIG patch (thanks as always).
 2603 
 2604 Win32 now looks at the environment variables when building the 
 2605 configuration defaults.  Thanks to net-dns-bug@oak-wood.co.uk 
 2606 (That's the only name I have... [cpan #1819])
 2607 
 2608 Added Rob Brown's Net::DNS::Resolver::Recurse module.
 2609 
 2610 
 2611 *** 0.31 17 Nov 2002
 2612 
 2613 Applied Olaf's patch for an initialization bug in OPT.pm
 2614 
 2615 Applied Rob Brown's patch for udp timeouts.
 2616 
 2617 Added stuff from Rob Brown for making RPM creation easier.
 2618 
 2619 Fixed a typo in FAQ.pod that was making apropos and whatis
 2620 grumpy.  Thanks to Florian Hinzmann for pointing it out and a patch.
 2621 
 2622 
 2623 *** 0.30 7 Nov 2002
 2624 
 2625 Applied Andrew Tridgell's (tridge@samba.org) patch for TKEY support.
 2626 
 2627 Added Net::DNS::Packet->safe_push() to allow for automatically
 2628 checking for duplicate RRs being pushed into a packet.  Inspired by Luis
 2629 Munoz.
 2630 
 2631 Added more tests.
 2632 
 2633 
 2634 *** 0.29 2 Oct 2002
 2635 
 2636 Fixed $_ from creeping out of scope in Resolver.pm. Thanks to
 2637 Ilya Martynov for finding the problem and the patch to fix it.
 2638 
 2639 Fixed divide by zero bug there is no usable network interface(s).
 2640 Thanks to twilliams@tfcci.com, misiek@pld.ORG.PL (and one other
 2641 person that I can't seem to find the address of) for reports. 
 2642  
 2643 
 2644 *** 0.28 20 Aug 2002
 2645 
 2646 Fixed a bug in the new AUTOLOAD routines that made it impossible to set
 2647 attributes to '0'.
 2648 
 2649 Fixed a bug in the RR patch that broke many updates. 
 2650 
 2651 
 2652 *** 0.27 15 Aug 2002
 2653 
 2654 Added (untested) support for perl 5.004.
 2655 
 2656 We now allow whitespace at the beginning of a RR.
 2657 
 2658 Fixed an issue that gave Net::DNS::SEC problems, %Net::DNS::RR::RR is now 
 2659 in a scope that the Net::DNS::SEC hook can see it from.
 2660 
 2661 Fixed SRV records.
 2662 
 2663 Fixed debug message in Net::DNS::Resolver::bgread().
 2664 
 2665 
 2666 *** 0.26 5 Aug 2002
 2667 
 2668 Fixed various bugs in the test suite.
 2669 
 2670 Fixed warning in Net::DNS::RR::AUTOLOAD with perl 5.005.
 2671 
 2672 ---
 2673 Olaf Kolkman <olaf@net-dns.org>
 2674 Chris Reinhardt 
 2675 Michael Fuhr 
 2676 
 2677