MINI MINI MANI MO
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 $
OHA YOOOO