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
at 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?
Thanks,
Philip
[1] /etc/dovecot/conf.d/90-migration.conf:
## IMAP
imapc_host = imap.example.com
imapc_port = 993
imapc_ssl = imaps
imapc_ssl_verify = yes
imapc_user = %u
imapc_master_user = cyrus
imapc_password = **********
imapc_features = rfc822.size fetch-headers
mail_prefetch_count = 20
imapc_list_prefix = INBOX
## POP3
pop3c_host = pop3.example.com
pop3c_port = 995
pop3c_ssl = pop3s
pop3c_ssl_verify = yes
pop3c_user = %u
pop3c_master_user = cyrus
pop3c_password = **********
namespace {
prefix = POP3-MIGRATION-NS/
location = pop3c:
list = no
hidden = yes
}
protocol doveadm {
mail_plugins = $mail_plugins pop3_migration
}
plugin {
pop3_migration_mailbox = POP3-MIGRATION-NS/INBOX
}
> On 28 Sep 2019, at 12.21, Philip Iezzi via dovecot <dovecot at 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 at 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
> On 28 Sep 2019, at 11:28, Sami Ketola via dovecot <dovecot at dovecot.org> wrote: > > > >> On 28 Sep 2019, at 12.21, Philip Iezzi via dovecot <dovecot at 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 at 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. > > SamiHi 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 at 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