Red Hat Bugzilla – Bug 18038
Maildir patches taken out of RedHat 7 because of bug: Now fixed.
Last modified: 2008-05-01 11:37:59 EDT
I noticed that the Maildir patches were taken out of RedHat 7
(pine-4.21-23) because of a bug (Bug # 9736) in recursive stat'ing of
files. I have verified this bug and provided a fix for it at
This fix takes
care of the problem reported in Bug # 9736. Please re-add the maildir
patches (with the appropriate fix provided here). They are useful for
client as well as server systems.
Thanks also for making it so that sendmail doesn't get installed over
another MTA in RedHat 7.0. That really makes things a lot easier.
Thanks, I'll look into it.
The site is hard to connect to...
Can't find it there.
Woops, I probably moved them to another directory. The link is now there
again. Sorry for the problems.
Are these patches still valid for PINE 4.31?
If so, please email me them, with details as I'm not familiar with
what they are for, etc.. but if it is useful, I will consider putting
it in my PINE 4.31 packages.
Please check out http://summersoft.fay.ar.us/pub/qmail/qmail-pine for the
pine-4.30-2mdir1 and imap-2000-3mdir2 source and binary RPMS. These patches
allow QMAIL users to have a qmail Mailbox file or Maildir directory. You might
not to put the patch in that changes the default mailbox to ~/Mailbox and
the user configure that in his /etc/pine* files or ~/.pinerc file. But if you
put in the Maildir
patches then people can configure for "regular" mail or for qmail Mailbox file
Let me know if I can answer any more questions.
*** Bug 30948 has been marked as a duplicate of this bug. ***
A patch for version 4.33 is avail:
Both of the patches linked to by previous comments are *broken*. They're both
based on the same patch originally written by Mattias Larsson <firstname.lastname@example.org>
for imap-4.5. Having stared at the patch I see at least the following problems:
1) maildir_append() must be updated to match the new driver interface in
imap-2000 (may crash server right now because the call doesn't match the
2) the sorting code incorrectly sorts on the filename of the messages. This
violates the maildir standard (http://cr.yp.to/proto/maildir.html). It should
sort first on the UID (if already assigned), then on the mtime of the message
file, putting messages that haven't been assigned a UID last. If you doubt the
correctness of that, then email Dan Bernstein and ask him how to do it, but the
current code is definitely wrong.
3) It doesn't always check return codes (for example, of stat())
4) Speaking of stat(), when scanning a maildir it stat()s every file twice. It
should cache the needed info from when it first sorts the messages.
5) The original version of the patch used a non-standard 'info' component for
the message files ":3,". That caused interoperability problems so it now works
with the standard ":2,". However, it still gives new messages the ":3," bit
instead of the ":2,", i.e., the change over wasn't complete.
After looking into this several times, reading the various patches and
comments noted above, and playing with the code a bit, I am not satisfied
with the results. The patch seems hackish to me, and hasn't had a very
good track record from my findings. It was removed because it was broken,
among other reasons, and IMHO it is still broken as commented above.
The IMAP 2000 documentation discusses Maildir, and the reasoning of why
it isn't included in the first place. It also mentions that cyrus-imapd
has Maildir support, and as such it is recommended that if you need Maildir
to use cyrus-imapd instead.
We include cyrus-imapd on our powertools CD, although I do not know if it
is built to support Maildir or not as I know nothing about it.
Considering these many factors, along with recommendations of people whom
I've discussed this request with, have made me decide that the Maildir
patch is not a viable feature to add to our imap packages at this time.
Please use cyrus-imapd instead if you require Maildir support.