TODO for POP3Lite					-*- outline -*-
=================

* During 0.3.x
** new config & module system
   see dist/NEW_SYSTEM
** documentation: hacker's manual
   + detailed discussion of functions
   + detailed discussion on how to implement various things
   + a node about how to write proper third-party modules
** new modules
   + sqlmail:
     - get mail from an SQL table
     - overwrites retr/top/trans_init/update/dele
   + drop-collection:
     - merge together a bunch of mail drivers
     - going to be tricky !
   + bulletin
     - this should implement one mailbox-like thingy (a
     replaceable backend should be implemented through hooks).
     - without drop-collection, it would serve as a
     bulletin-system. It should not care about user's mail,
     that's drop-collection's job. It keeps track of which
     user saw which bulletins and it doesn't list those
     again. It should provide all the standard TRANS commands.
     The message should be marked seen if it is deleted.
   + maildir driver:
     - get mail from a Maildir
     - locking (?) & graceful error handling will be hard
     - should get some docs on the format, the maildir.c files I saw
     in a few places could be of some help, though, not enough I guess.
   + stats:
     - override all commands available, and log some stats upon exit
** miscellaneous
   + reduce memory usage:
     + on retr/top DO NOT read the whole message into
     memory, instead, read by smaller chunks.
       + write a TRANS_read_echo function, that will:
         - read a small amount of message (MAILBOX.BUFFER_SIZE)
         - control->send_raw the thing, UP TO,
         but not including the first cr or lf.
         - send a crlf
         - do this until no more crlf is found,
         then echo the remaining text
       + this same function should be usable by TOP
