Re: [Dovecot] Mailbox format conversion with dsync

2009-11-18 Thread Pascal Volk
On 11/12/2009 12:42 AM Pascal Volk wrote:
 On 11/11/2009 06:47 PM Timo Sirainen wrote:
 example:
 dsync -e 'dsync -r -O -o mail_location=maildir:~/Maildir'
 
 For the archive:
 I'm using virtual users, without system access. So I had to add
 '-u user' to both dsync commands. It was also necessary to set the
 permissions of the auth-userdb socket to 0666. Because each user
 has its own UID and GID per domain.
 
 doveconf -n
 …
 service auth {
   unix_listener auth-userdb {
 mode = 438
   }
 }
 …

Converting from one mailbox format to another one is now simple as never
before.
Assuming that the mail_location is set to mdbox:~/mdbox and before it
was maildir:~/Maildir:
execute:
dsync convert maildir:~/Maildir

If you are root and want to covert the format of a mailbox from a
virtual user (w/o) system access, execute:
dsync -u john@example.com maildir:~/Maildir

Don't forget to update your sieve rules when switching to dbox or mdbox.
For example:
fileinto lists.dovecot;
becomes:
fileinto lists/dovecot;


Regards,
Pascal
-- 
The trapper recommends today: cafefeed.0932...@localdomain.org


[Dovecot] Mailbox format conversion with dsync [was: Re: v2.0.tip Panic: file index-storage.c: line 385 (index_storage_mailbox_open): assertion failed: (!box-opened)]

2009-11-11 Thread Pascal Volk
On 11/11/2009 06:47 PM Timo Sirainen wrote:
 convert-tool is going away. dsync is the new way to do conversion. For
 example:
 
 dsync -e 'dsync -r -O -o mail_location=maildir:~/Maildir'

For the archive:
I'm using virtual users, without system access. So I had to add
'-u user' to both dsync commands. It was also necessary to set the
permissions of the auth-userdb socket to 0666. Because each user
has its own UID and GID per domain.

doveconf -n
…
service auth {
  unix_listener auth-userdb {
mode = 438
  }
}
…

@Timo
dsync has written a few errors to the console:

dsync-src(user): Error: file_dotlock_open() failed with file 
/home/user/mdbox/mailboxes/INBOX/dbox-Mails/dovecot.index.log: No such file or 
directory
dsync-src(user): Error: Can't create mailbox INBOX: Internal error occurred. 
Refer to server log for more information. [2009-11-11 23:39:47]
dsync-src(user): Error: Trying to open a non-listed mailbox with 
guid=d32126213b2cfb4a145dea7ee395
dsync-src(user): Error: msg iteration failed: Couldn't open mailbox
dsync-src(user): Error: Trying to open a non-listed mailbox with 
guid=d32126213b2cfb4a145dea7ee395
dsync-src(user): Error: Trying to open a non-listed mailbox with 
guid=d32126213b2cfb4a145dea7ee395
dsync-dest(user): Error: read() from proxy client failed: EOF 
[after pressing the return key I had my propmt back.]

There were only a few 'Debug: …' messages logged at 2009-11-11 23:39:47

Where can I specify the path separator?
In the maildir  was a folder like:
Maildir/.INBOX.Lists.Dovecot
In the mdbox is now this directory:
mdbox/mailboxes/INBOX.Lists.Dovecot

I would have expected to find a structure like:
mdbox/mailboxes/INBOX/Lists/Dovecot


Regards,
Pascal
-- 
The trapper recommends today: beeffeed.0931...@localdomain.org