$Id: TODO,v 1.4 2003/05/04 14:26:57 mjt Exp $

TODO list for rbldnsd, in no particular order.

 * recheck whenever SOA behaviour is correct

 * allow specifying different TTLs for different records in generic dataset,
   for SOAs and per dataset.

 * review logging.  It should be possible to specify which packets
   (qtype, rcode, bad etc) to log in addition to filtering by client's IP.

 * in dn[v]set and generic, do not return NXDOMAIN for e.g. com.bl.example.com
   if spammer.com.bl.example.com exists.
   
 * rewrite all 3 name-based datasets to use reversed domain names and only
   one lookup.

 * pre-calculate query's IP address (for ip4[v]set) and reverse DN (for
   name-based datasets) before calling query procedures, based on dataset
   flags.

 * maybe multi-children environment.  Seems to be unnecessary.

 * review all names to be consistent (partially done)

 * implement TCP mode (in separate process, to reduce number of syscalls)

 * implement AXFR query - stupid idea but AXFR is widely used

 * maybe: AXFR client to convert DNS zones into rbldnsd fomat

 * control socket for reloads.  This may be done in a separate
   process which will listen for requests on control socket and
   send signal to it's child.  This will also give us an ability
   to monitor and restart failed child (ala supervise)

 * on reloads, fork a child with current in-memory zones, to
   serve requests while reloading?  With "supervised" variant,
   that may be two different childs: fork new child for new
   data, wait when it will be ready and kill old child.  Requires
   twice more memory.

 * allow 127.0.0.1/255.255.255.0 form?  Seems to be redundrand
   (CIDR exists), and it's not obvious how to handle masks like
   255.0.255.0 (what a mess)

 * add `fnmatch' (or dnpat) type, to handle shell-style wildcards
   (no regexps please)

 * how about AAAA queries?  IPv6-enabled sendmail on Solaris9 requests
   AAAA records (2.0.0.127.blocklist.example.com AAAA).  Currently,
   bind chokes on rbldnsd refusal here (returning SERVFAIL to sendmail),
   so the whole thing does not work.  Should rbldnsd make "fake"
   AAAA records from existing A records here?  Note that asking AAAA
   in this case is just a waste of resources.

