dsync having problems with @-sign in mailbox names

Philip Iezzi lists at iezzi.ch
Sat Sep 28 12:52:25 EEST 2019


> On 28 Sep 2019, at 11:48, Philip Iezzi via dovecot <dovecot at dovecot.org> wrote:
> 
> 
>> 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.
>> 
>> 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 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

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


More information about the dovecot mailing list