debian/TODO.Debian
Henrique de Moraes Holschuh
hmh at debian.org
Mon Jan 30 01:37:11 UTC 2006
On Sat, 28 Jan 2006, Benjamin Seidenberg wrote:
> EXTRA HIGH
> o --name for start-stop-daemon
start-stop-daemon should never be called using -exec (for stop), it must use
-name instead.
> o master leaks memory when a service path is not null
True for 2.1. This needs to be verified in 2.2. I believe running cyrus
master under valgrind and giving it a good kick (HUP) is all it takes.
> o Update copyright to my new template
We need to update that file for team maintenance anyway.
> o Shout loudly if anything in .stage needs cleaning up
If cyrus is stopped, and any files are to be found in .stage directories in
the spools, something is wrong.
> o VERIFY SASL LEAKING CRAP TO prot_stream
> [info-cyrus Re: Log messages going into imap/pop stream]
2.1. I believe fixed in 2.2. No matter what you do in cyrus, you
ABSOLUTELY MUST never hook to fds 0,1,2. If you do anything stupid (like
close()'ing one of them, you have a window of opportunity for syslog() or
something else to use one of those fds. Cyrus will *override* that fd by
force later, and you end up with syslog sending stuff into the IMAP control
channel for example(!). Immediate client confusion issues, client and
server usually lose sync, and abort the connection.
So basically, nothing can close fds 0,1 and 2 and leave them closed, they
must be permanently open (maybe to /dev/null).
> o Revise rehash, it is busted...
rehash in 2.2 is probably fixed. It is a matter of testing if it can convert
2.1 spools to 2.2 and 2.2-with-virtual-domain spool layouts, for all
combinations incuding hashed spools and FULLHASHed spools.
> o Write nice shell wrapper for chk_cyrus and suggest a event to run it
Self-explanatory.
> 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.
See above about .stage files.
> o https://bugzilla.andrew.cmu.edu/show_bug.cgi?id=1735
Probably still broken on 2.2, there are patches floating on the info-cyrus
ML, and cyrus-devel.
> o Verify kerberos build is still OK [gssapi]
We need to rethink the kerberos stuff, really. Kerberus 4 is gone AFAIK,
etc.
> 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
Easier to fix in 2.2. Just leave it as a todo for now.
> o Reenable idled support (requires idled as a babysat service first)
Must verify this in 2.2, leave it as a todo for now.
> o Fulldir-hash detection using the same mech as db-backend
We should support fullhash mode and if cyrus cannot detect and adapt at
runtime (must check 2.2), we need to use the old "backend mismatch" stuff to
do it.
> o auth_ldap, and runtime-selection of auth backends. Add kerberos backend
> and kerberos support while at it, as well. [ cyrus 2.2 only ]
ptloader stuff. leave as a todo for now.
> LOW
> o Verify alpha build logs, and fix the warnings
Think of it as "read all build logs for all archs and fix all warnings that
are not bogus".
> o Better logcheck.ignore
Self-explanatory.
> o verify section of libcyrus-*-perl, as well as the manpages'
archive section for libcyrus*, and manpage section.
> o Fix bogosity on perl manpages .TH
.TH is being used incorrectly by the perl manpage generator PoS. Or at least
it was at the time I wrote that entry.
> o netsaint example of full monitoring (imap, pop, lmtp, master via snmp)
Make it nagios, now :P
> 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.?]
drop this.
> 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.
Keep these to remind us to remain sane.
> BACKBURNER IDEAS
> o master
> - capabilities, so as to be able to bind to ports <1024
keep.
> - jailing at user level (and what of shared mbx?)
drop.
> - Better handling of fucked up children that refuse to start?
> + requires 5th forked state in master
keep.
> o i18n (GNU gettext, with kerberos guard for logs, messages;
> sanity-enforced txt files for return messages)
definately keep.
--
"One disk to rule them all, One disk to find them. One disk to bring
them all and in the darkness grind them. In the Land of Redmond
where the shadows lie." -- The Silicon Valley Tarot
Henrique Holschuh
More information about the Pkg-Cyrus-imapd-Debian-devel
mailing list