Timo Sirainen wrote:
http://dovecot.org/releases/dovecot-1.0.rc31.tar.gz http://dovecot.org/releases/dovecot-1.0.rc31.tar.gz.sig
mbox + NFS combination shouldn't break anymore. v1.0 still planned to be released next friday.
- mbox: Give "mbox file was modified while we were syncing" error
only if we detect some problems in the mbox file. The check can't be trusted with NFS. - Convert plugin: If directory for destination storage doesn't exist, create it.
Timo, first of all, the deliver problems I was having last week were caused by my failure to update all my sql configuration files to return user home directories. I changed the login sql config, but not the one deliver uses, to return a home directory value.
Now then, the convert plugin tries to create it's dotlock before opening/creating the destination path. So, unless the user's home directory exists, it fails with:
open(/var/mailstore/af/4f/510590/.temp.node7.neonova.net.15565.f668d4af504740ee) failed: No such file or directory
Moving the dotlock creation after a successful call to mail_storage_create_with_data makes everything happy, but I defer to you whether it's safe to call that before locking. If it's not, then I'll just have to deal with creating the homedir via postlogin scipting. Even if you don't want to change this, can you let me know what potential problems can arise? I may just include this with all the other changes I'm making to convert-plugin.c to suppose CommuniGate mailboxes. Here's the diff:
269,279d268 < path = t_strconcat(home_dir, "/"CONVERT_LOCK_FILENAME, NULL); < dotlock_settings.use_excl_lock = < (source_storage->flags & < MAIL_STORAGE_FLAG_DOTLOCK_USE_EXCL) != 0; < ret = file_dotlock_create(&dotlock_settings, path, 0, &dotlock); < if (ret <= 0) { < if (ret == 0) < i_error("Mailbox conversion: Lock creation timeouted"); < return -1; < } < 297a287,297
path = t_strconcat(home_dir, "/"CONVERT_LOCK_FILENAME, NULL); dotlock_settings.use_excl_lock = (source_storage->flags & MAIL_STORAGE_FLAG_DOTLOCK_USE_EXCL) != 0; ret = file_dotlock_create(&dotlock_settings, path, 0, &dotlock); if (ret <= 0) { if (ret == 0) i_error("Mailbox conversion: Lock creation timeouted"); return -1; }
- Convert plugin: Mailbox names weren't converted in subscription
list.