We're running a huge imapc-Migration from an old Courier-IMAP to Dovecot.
Courier always uses "INBOX."-prefix for his folders, so we set
namespace inbox { [...] separator = . prefix = INBOX. [...] }
on our new Dovecot 2.2.20 system.
And also we added:
imapc_list_prefix=INBOX
to avoid the dublication of the INBOX prefix.
At the end, doveadm/dsync/imapc see "INBOX.Virus", adds his Prefix, has "INBOX.INBOX.Virus", deletes his imapc_list_prefix and the end we have "INBOX.Virus" again which is identical to the source folder from Courier.
Works perfect BUT:
It looks like there is a "hidden feature" in Dovecot that always maps "INBOX.INBOX" back to "INBOX". For me that looks like a workaround for broken mailclients to fix some of the common problems after changing the namespace prefix.
I never heard about that "hidden feature", but even if I don't (!) have INBOX.INBOX:
root@imap01:~/MIGRATION # doveadm mailbox list -u test INBOX INBOX.Virus INBOX.Spam INBOX.Trash
I'm always able to access INBOX.INBOX which is identical to INBOX:
root@imap01:~/MIGRATION # doveadm fetch -u test uid mailbox INBOX.INBOX uid: 1
Looks like there is such a magic-mapping and looks like this "hard coded mapping" (?) breaks the imapc_list_prefix-magic.
If the user has on the SOURCE-server (Courier):
Source-Server: INBOX (5 messages) INBOX.Inbox (3 messages)
and I do migrate that user using doveadm/dsync/imapc, this user has on the DESTINATION-server (Dovecot)
Destination-server: INBOX (5 messages) INBOX.Inbox (5 messages from "real INBOX")
and his 3 messages from INBOX.Inbox are lost.
I can NOT find any errors in the debug/error-output of doveadm/dsync/imapc. From the view of doveadm everything worked perfect as you can see in the attached logfile.
Or am I completly wrong?!
Peer
-- Heinlein Support GmbH Schwedter Str. 8/9b, 10119 Berlin
http://www.heinlein-support.de
Tel: 030 / 405051-42 Fax: 030 / 405051-19
Zwangsangaben lt. §35a GmbHG: HRB 93818 B / Amtsgericht Berlin-Charlottenburg, Geschäftsführer: Peer Heinlein -- Sitz: Berlin