Todo list
---------

CONFIRMED TODO FOR 2.2:
o Cyrus 2.1 has alarm() lock breaking on lib/lock_fcntl().  This has
  not been ported to 2.2 yet.  And it should not be ported until
  #358742 is fixed. Note that if the user has to *kill* imapd to
  unstick the lock, the issue is not in the alarm() code.


EXTRA HIGH
o master leaks memory when a service path is not null

HIGH
o Update copyright to my new template
o Shout loudly if anything in .stage needs cleaning up
o VERIFY SASL LEAKING CRAP TO prot_stream 
	[info-cyrus  Re: Log messages going into imap/pop stream]
o Revise rehash, it is busted...
o Write nice shell wrapper for chk_cyrus and suggest a event to run it
o Clean up script, that finds all crap over one day old in .stage
  and delete it (after logging a warning). Add it as event.

o https://bugzilla.andrew.cmu.edu/show_bug.cgi?id=1735

MEDIUM
o Verify kerberos build is still OK [gssapi]
o Add switch to enable do-not-add-return-path-if-it-is-already-there to
  deliver and LMTP input:
   - Return-path:  Override (default: drop old return-paths, add ours)
                   add (add if there isn't one in there already)
  note that no return-path is NOT an option ;-)
  Obs: - lmtpengine uses msg->return_path to know wether it got a mail from!
       - dropping old return-paths is non-trivial
o Fulldir-hash detection using the same mech as db-backend
o auth_ldap, and runtime-selection of auth backends. Add kerberos backend
  and kerberos support while at it, as well. [ cyrus 2.2 only ]

LOW
o Verify alpha build logs, and fix the warnings
o Better logcheck.ignore
o verify section of libcyrus-*-perl, as well as the manpages'
o Fix bogosity on perl manpages .TH
o netsaint example of full monitoring (imap, pop, lmtp, master via snmp)
o cyrus2-admin.menu
o find and package snmp loggers for cyrus (as examples)
o automated database backend conversion?
o sanitize usernames and folders to lowercase, no spaces or ill. chars
  [does this make any sense? shouldn't that be done by user name canon.?]

WON'T DO
o cyrus2-{pop3d,imapd} should deal with cyrus.conf
  - not needed; cyrus deals gracefully with missing binaries
o Debconf configuration
  - too troublesome; lusers are not welcome to using cyrus
    without reading docs anyway, and it is all SASL's fault.

BACKBURNER IDEAS
o master
  - capabilities, so as to be able to bind to ports <1024
  - jailing at user level (and what of shared mbx?)
  - Better handling of fucked up children that refuse to start?
    + requires 5th forked state in master
o i18n (GNU gettext, with kerberos guard for logs, messages;
  sanity-enforced txt files for return messages)
