On 28 Sep 2019, at 11:48, Philip Iezzi via dovecot <dovecot@dovecot.org> wrote:
On 28 Sep 2019, at 11:28, Sami Ketola via dovecot <dovecot@dovecot.org> wrote:
On 28 Sep 2019, at 12.21, Philip Iezzi via dovecot <dovecot@dovecot.org> wrote:
Hi there
We are running Cyrus-to-Dovecot migrations using dsync on destination Dovecot server (Debian Stretch / latest Dovecot 2.3.7.2 from community repo) like this:
$ doveadm -o mail_fsync=never backup -R -u <username> imapc:
For imapc configuration to connect to remote Cyrus server, see below [1]. While this works great for hundreds of mailaccounts, dsync fails with the following error on accounts with @-sign in mailbox names:
dsync(<username>): Error: Failed to access mailbox INBOX/entrance/admin@example: Invalid mailbox name
I can confirm, Dovecot supports @-sign in mailbox names and no client (tested with Thunderbird, Apple Mail, Roundcube webmail) has issue with this character. Also Cyrus was always supporting this. So I guess this is an issue with dsync. Can we somehow tune charset (UTF-8 ?) in imapc configuration?
Hi,
can you please try to record imapc rawlogs for such an session? I would like to see what kind of mUTF7 name string Cyrus sends for these folders that have special characters. We have been able to work around some of the broken mUTF7 implementations with some BROKENCHAR magic.
Sami
Hi Sami,
Thanks for your support. I have tried the following... Added this to conf.d/20-imap.conf:
protocol imap { rawlog_dir = /tmp/rawlog/%u }
Then restarted Dovecot, and re-run the following dsync migration:
$ doveadm -o mail_fsync=never backup -R -u <username> imapc: dsync(<username>): Info: imapc(imap.example.com:993): Connected to x.x.x.x:993 (local y.y.y.y:45726) dsync(<username>): Error: Failed to access mailbox INBOX/entrance/admin@example: Invalid mailbox name
Then checked /tmp/rawlog, which is still empty. According to https://wiki.dovecot.org/Debugging/Rawlog, setting
rawlog_dir
should be the only thing needed, right? What did I do wrong? I am glad to provide you the raw logs as soon as I can generate them.Thanks, Philip
okay, I probably just need to configure rawlog as post-logins script...
service imap { executable = imap postlogin } service pop3 { executable = pop3 postlogin } service postlogin { executable = script-login -d rawlog unix_listener postlogin { } }
Need to change trains now, will try later.
Best, Philip