On Sat, Oct 19, 2002 at 12:42:25PM -0400, Charlie Brady wrote:
So when we needed an IMAP server for use with our webmail (based on SquirrelMail), we were forced to go with the UW-IMAP server, with the maildir patch that's been scattered around the 'net. This worked, for a while; we also use the maildir patch with pine after all. However, the maildir patch is not very good. Not at all, even, and it only seems to work by pure chance.
The best one I've found is the patch last modified AFAICT by Miquel van Smoorenburg, which has maildir filenames like: time.pid.host,U=xxx,W=yyy:2,flags
We use two different patches, both of which have a bit of Mike in them. One is for the IMAP server, which is an old version ('uw-imap-2000' or something like that comes to mind, but it came from the pine 4.10 source) from before the mailbox->append prototype changed (but with Mike's bilennium-patch.) A big problem with later patches was that the append method changed in the pine source, but not in the maildir patch. We considered using a newer uw-imap but decided that the current one works good enough ;P
For pine we currently use the patch that comes with Debian's 'pine-tracker' package (which is an installer for pine with patches, since you aren't allowed to distributed modified binaries.) This patch also has some Mike in it, but I'm not sure howmuch, as at least parts of it seem to be backed out later. This patch works okay except for the two problems I noted in my original mail: it depends on directory order not to change except when '.uidvalidity' gets touched, and it depends on alphanumerical sort order of files matching chronological (or at least uid-based, which should be the same) sort order. The latter breaks with (standard) procmail, the former occasionally with btree and (presumably) hashed directory indices.
The storage of RFC822.SIZE, aka the on-the-wire size, in the filename makes a very big difference to performance.
That's interesting. I'll keep that in mind for when we begin to see performance issues with UW-IMAP. (I'm hoping I never have to look at the pine source again, though.)
But even this patch (from, e.g. http://www.star.le.ac.uk/~tjg/misc/uw_imap-2001a_maildir-02.patch) has a number of bugs. I've fixed a few of them. You can find a source RPM at ftp://ftp.e-smith.org/pub/e-smith/dev/5.6dev/SRPMS/. The fixes are:
<snip fixes>
I couldn't find the source RPM for pine or (uw-)imap in that directory, but it doesn't sound like your changes solve our fundamental problems. It's not that big a deal, I think we've decided internally (I know _I_ have :) that we can't offer real IMAP services based on UW-IMAP; we'd sooner go for Cyrus or Courier, even if it does mean disallowing mboxes with IMAP. But dovecot is an even better alternative, once it has all the features we need :)
-- Thomas Wouters thomas@xs4all.net
Hi! I'm a .signature virus! copy me into your .signature file to help me spread!