You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The problem is that the internal mailbox separator is ASCII '.', which sorts after valid mailbox characters like '-' and space. It's fixed by enabling the following setting in imapd.conf:
improved_mboxlist_sort: 0
If enabled, a special comparator will be used which will correctly sort
mailbox names that contain characters such as ' ' and '-'.
Note that this option SHOULD NOT be changed on a live system. The mail‐
boxes database should be dumped (ctl_mboxlist) before the option is
changed, removed, and then undumped after changing the option. When not
using flat files for the subscriptions databases the same has to be done
(cyr_dbtool) for each subscription database See
improved_mboxlist_sort.html.
Ideally this setting would default to enabled, or indeed, be the only behaviour (with no option at all). But it has ramifications for existing deployments, so we can't just change it. I assume that it's not simply enabled in the imapd.conf that the Debian package ships for much the same reason.
The problem they're seeing (as well as other similar issues between similarly-named folders that differ by a character that sorts before ASCII '.') are unfixable in stable releases without enabling this option.
I don't understand all the ramifications of an admin changing the improved_mboxlist_sort option. It might be as "simple" as the documentation suggests (dumping and undumping mailboxes and subscription databases) or it might be more complicated these days. I'd suggest they join the info-cyrus list and see if anyone has been through this process recently and has guidance to offer.
Issue reported to Debian BTS, reference: 939264 by Gernot Schilling
Dear Maintainer,
I installed a fresh buster for reproduction.
I tested with cyrus-imapd version "3.0.8" from buster and "3.0.11" from stable-backports.
Create user "imapuser" with password "password"
User created 3 folders:
imap command '. list "" * ' marks folder "foo" as HasNoChildren.
Because of the "\HasNoChildren" some clients fail to select subfolder INBOX.foo.1
The code seems to depend on the order of mailboxes and sets "HasChildren" on the previous Entry if the current entry is a child.
The text was updated successfully, but these errors were encountered: