On Wed, 2007-04-11 at 08:57 +0200, Frank Elsner wrote:
On Tue, 10 Apr 2007 17:58:03 +0200 guenther wrote:
On Tue, 2007-04-10 at 17:06 +0300, Timo Sirainen wrote:
On Sun, 2007-04-08 at 23:26 +0200, Frank Elsner wrote:
Apr 8 23:13:36 seymour dovecot: IMAP(migrant): Mailbox conversion: Couldn't create mailbox directory .gnome2_private
Maildir uses "." as hierarchy separator, so this filename is invalid. I'm not sure if convert_skip_broken_mailboxes=yes should just cause these to be ignored, but for now it doesn't..
Just spotted the above error message (deleted previous posts already), and it strikes me as seriously odd.
Dots in mbox file names are usually embedded (as in "dovecot.org"), where it makes sense, as opposed to beginning with a dot. Even worse, this particular name is kind of weird for a mail folder...
However, this name is well known to me:
[guenther@monkey ~]$ ls -ld .gnome2_private drwx------ 2 guenther users 4096 Jul 21 2005 .gnome2_private/
Me Too :-)
Hmm, so one of your users really got a mail folder named gnome2_private? Odd...
Anyway, another idea hit me -- is this really an invalid name, as Timo said? I don't know the convert plugin and what it logs, and I don't know the exact details of Maildir either. However, creating a mail folder named "gnome2_private" in your MUA will result in a dir by that name with a leading dot. Just like the name in the error message, no?
I'd check where the Maildir data actually is being created and what files are being attempted to convert. Almost looks like the Maildir dirs are being created in the users $HOME...
No, dovecot.conf contains
I did not want you to paste the settings again, but to check if the Maildir files are being created where you expect them. Grepping or changing conf files doesn't mean anything, if the running process doesn't use this particular version. ;)
guenther
-- char *t="\10pse\0r\0dtu\0.@ghno\x4e\xc8\x79\xf4\xab\x51\x8a\x10\xf4\xf4\xc4"; main(){ char h,m=h=*t++,*x=t+2*h,c,i,l=*x,s=0; for (i=0;i<l;i++){ i%8? c<<=1: (c=*++x); c&128 && (s+=h); if (!(h>>=1)||!t[s+h]){ putchar(t[s]);h=m;s=0; }}}