1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
  
     | 
    
      To Do list for Net::DNS
=======================
(
  While taking over Net::DNS maintenance I've also inhereted this TODO list.
  I have not yet "updated" the TODO list to reflect my feeling of priority 
  with these items. 
  Olaf March 2005
)
* Work on Resolver.pm:
  - Show more info about the query when $res->debug(1).
  - Work on a way to use the same socket for background queries.
  - Document $res->errorstring messages.
  - Work on efficiency of IO::Socket handling.
  - Implement AA ONLY queries.  Here's a code fragment to set the
    nameserver list to the hosts returned in the authority section:
	  $res->nameservers(map  { $_->nsdname }
	                    grep { $_->type eq "NS" }
		            $ans->authority);
  - Need more tests
  - Proper identification of the set of nameservers to query in Cygwin.pm
    and Win32.pm. Using the registy is highly unreliable. Also see
    rt.cpan.org ticket 11931.
* Get rid of .* in AAAA.pm; write more tests for AAAA.pm.
* Allow Net::DNS::RR::LOC->latlon to set the lat/lon.
* Work on the dynamic update code.  Some things remaining to do:
  - Append the default zone in update packets if the name doesn't
    contain a dot.  Does this break people's code?
  - Do sanity checking on user-created RR objects.  Update the BUGS
    section in RR.pm when this is complete.
  - Allow yxrrset & friends to take an RR object as an argument.
  - Do more sanity checking on yxrrset & friends.
  - Add an "update" method to the resolver class to send the update
    packet to the zone's authoritative nameservers (see also RFC
    2136, Section 4).
    
* Improve the error handling and reporting.  Some things to do:
  - Make sure empty RDATA sections don't cause the program to print
    the obnoxious "no such method" warning.
  - Set a more descriptive error if a zone transfer fails, especially
    if the nameserver isn't authoritative (current code returns NOERROR
    if the nameserver answered but wasn't authoritative).
  - Consider documenting the use of "eval" to avoid a fatal error
    in certain places.  Idea by Dirk Herr-Hoyman.
* Restructure some of the code.  Some things to look at:
  - Net::DNS::Resolver->send (needs to be broken into smaller pieces).
* Add more RR types.  Currently unimplemented are:
    MD		RFC 1035 (obsolete)
    MF		RFC 1035 (obsolete)
    WKS		RFC 1035
    NSAP_PTR	RFC 1348 (deprecated)
    GPOS	RFC 1712 (withdrawn)
    ATMA	???
* Check the EID, NIMLOC, and NULL RR handling.
* Add test cases for NULL, EID, and NIMLOC to private zone data.
  NULL isn't allowed in master files per RFC 1035, Section 3.3.10;
  BIND 8.1-REL doesn't appear to implement EID or NIMLOC (perhaps
  via dynamic update?).
* Write some front-end methods to do CNAME translations automagically.
* Do more study of resolver behavior as recommended in RFCs 1035, 1123,
  and 2136.
* Check code for conformance to the guidelines listed in The Perl 5 Module
  List.  Check style & efficiency according to the perlstyle manpage and
  the Camel.
* Consider rewriting the packet-parsing code in C for increased speed,
  or possibly going back to using Dave Shield's resparse library.
* And a number of things listed on the request tracker rt.cpan.org.
---
$Id: TODO 519 2005-12-07 12:30:16Z olaf $
 
     |