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