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