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.
>