[Dovecot] writing an MDA, help me avoid corrupted indexes

Lee Howard faxguy at howardsilvan.com
Wed Dec 14 21:52:59 EET 2005

Timo Sirainen wrote:

>On Wed, 2005-12-14 at 10:03 -0800, Lee Howard wrote:
>>Curtis Maloney wrote:
>>>Have you checked out Dovecot's own LDA?
>>No, but I just did, and it looks like exactly what I need... except that 
>>it doesn't support passwd-file auth.  Or am I missing that?
>It uses dovecot-auth directly, so you don't have to configure users for
>the LDA separately.

I'm was trying to follow the instructions here:


I didn't realize that I had to create a "socket listen" in auth 
default... I was trying to use the other "socket listen" instances that 
are found in the example config for other uses.

Once I got that sorted out I got the socket fine.  But because 
permissions wouldn't allow it, I had to put the socket somewhere other 
than /var/run/dovecot/auth-master, and that was easy enough with 
dovecot.conf, but the dovecot-deliver.conf file shown on the Wiki 
indicates an auth_socket_path option which doesn't seem to have an 
effect.  I had to look at the code to see that it's modified with the -a 
option now.

Okay, so that's now all sorted out on this end.  My own LDA now uses 
Dovecot deliver, and it works well... I don't seem to have the problems 
that I had just sticking the mail file into the maildir new directory on 
my own.

If I could offer a suggestion here it would be to get some more accurate 
documentation out there for deliver... even if it is just runtime 
"--help" or some such messages.

>As long as the filenames are always unique (eg. inode numbers get
>reused), there should be no problem. Dovecot doesn't require any index
>updates either from MDA.

This certainly doesn't appear to be the case.

> What errors are you getting?

Well, I'm not getting those errors any more because I'm using Dovecot 
deliver ;-)

However, when I was just sticking the files into the maildir new 
directory "by hand" (yes, they used unique filenames)...

With the dovecot-0.99.13-4.FC2 binary installation I was getting 
"Corrupted index file" errors pointing at the .imap.index file in the 
maildir and with a "Fixed duplicate" error message the mail would get 
moved to the cur directory and the POP3 client would never download it.

With the 1.0alpha5 tarball installation that I performed (after 
uninsalling the binary RPM installation) I didn't get the "Corrupted 
index file" messages, but I did get the "Fixed duplicate" messages, and 
the mail would still get moved to the cur directory.

Having now installed both 0.99 and 1.0alpha I can see obvious 
improvements in the newer version.  However, admittedly I found 0.99 
less complicated to configure than 1.0alpha.  I think that the 
formatting of the config file is a bit too programmer-esque and would be 
more user-friendly with context-style (.ini) entries like this:

  [auth default]
  passdb = passwd-file
  passwd-file-path = /usr/local/etc/dovecot-users

  uidl_format = %08Xu%08Xv

In any case, thank you for all that you do.  Dovecot is a wonderfully 
better than Cyrus from an installation and maintenance perspective.


More information about the dovecot mailing list