On Fri, 2010-09-03 at 15:57 +0100, Timo Sirainen wrote: > On Fri, 2010-09-03 at 15:44 +0100, Timo Sirainen wrote: > > > The maildir code hasn't changed much since v1.2. Hmm. Except that > > maildir filenames are now tried to be preserved when copying, so copying > > messages elsewhere and back does sound like it could cause this > > (although there is code to prevent it).. > > You could try with attached patch to disable this feature and see if it > helps.. dsync mirroring will break with it though.
Whops, that patch wasn't enough. This one is. :)
diff -r 124dd0840ed8 src/lib-storage/index/maildir/maildir-copy.c --- a/src/lib-storage/index/maildir/maildir-copy.c Fri Sep 03 15:18:55 2010 +0100 +++ b/src/lib-storage/index/maildir/maildir-copy.c Fri Sep 03 15:58:57 2010 +0100 @@ -144,7 +144,7 @@ do_ctx->dest_path = str_new(default_pool, 512); - if (mail_get_special(mail, MAIL_FETCH_GUID, &guid) < 0) + /*if (mail_get_special(mail, MAIL_FETCH_GUID, &guid) < 0)*/ guid = ""; if (*guid == '\0') { /* the generated filename is _always_ unique, so we don't diff -r 124dd0840ed8 src/lib-storage/index/maildir/maildir-save.c --- a/src/lib-storage/index/maildir/maildir-save.c Fri Sep 03 15:18:55 2010 +0100 +++ b/src/lib-storage/index/maildir/maildir-save.c Fri Sep 03 15:58:57 2010 +0100 @@ -383,7 +383,7 @@ T_BEGIN { /* create a new file in tmp/ directory */ - const char *fname = _ctx->guid; + const char *fname = NULL;/*_ctx->guid;*/ ctx->fd = maildir_create_tmp(ctx->mbox, ctx->tmpdir, &fname); if (ctx->fd == -1)