Package: cyrus-imapd Version: 3.0.11-1~bpo10+1 Severity: important 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: - INBOX/foo - INBOX/foo/1 - INBOX/foo-1 imap command '. list "" * ' marks folder "foo" as HasNoChildren. root@debian-buster:~# telnet localhost 143 Trying ::1... Connected to localhost. Escape character is '^]'. * OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE AUTH=DIGEST-MD5 AUTH=CRAM-MD5 AUTH=NTLM AUTH=LOGIN AUTH=PLAIN SASL-IR] debian-buster Cyrus IMAP 3.0.11-Debian-3.0.11-1~bpo10+1 server ready . login testuser password . OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxten QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SEARCH=FUZZY SORT SORT=MODSEQ SORT=DISPLAY SORT=UID THREAD=ORDEREDSUBJECT THREAD=REFERENCES THREAD=REFS ANNOTATEMORE ANNOTATE-EXPERIMENT-1 METADATA LIST-EXTENDED LIST-STATUS LIST-MYRIGHTS LIST-METADATA WITHIN QRESYNC SCAN XLIST XMOVE MOVE SPECIAL-USE CREATE-SPECIAL-USE DIGEST=SHA1 X-REPLICATION URLAUTH URLAUTH=BINARY LOGINDISABLED COMPRESS=DEFLATE X-QUOTA=STORAGE X-QUOTA=MESSAGE X-QUOTA=X-ANNOTATION-STORAGE X-QUOTA=X-NUM-FOLDERS IDLE] User logged in SESSIONID=<cyrus-6552-1567434229-1-698549360105201265> . create INBOX.foo . OK Completed . create INBOX.foo.1 . OK Completed . create INBOX.foo-1 . OK Completed . list "" * * LIST (\HasChildren) "." INBOX * LIST (\HasNoChildren) "." INBOX.foo * LIST (\HasNoChildren) "." INBOX.foo-1 * LIST (\HasNoChildren) "." INBOX.foo.1 . OK Completed (0.000 secs 4 calls) . list "" INBOX.% * LIST (\HasNoChildren) "." INBOX.foo * LIST (\HasNoChildren) "." INBOX.foo-1 * LIST (\Noselect \HasChildren) "." INBOX.foo . OK Completed (0.000 secs 3 calls) . list "" INBOX.foo * LIST (\HasChildren) "." INBOX.foo . OK Completed (0.000 secs 2 calls) 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. -- System Information: Debian Release: 10.0 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Kernel: Linux 4.19.0-5-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages cyrus-imapd depends on: ii cyrus-common 3.0.11-1~bpo10+1 ii dpkg 1.19.7 ii libc6 2.28-10 ii libcom-err2 1.44.5-1 ii libsasl2-2 2.1.27+dfsg-1 ii libssl1.1 1.1.1c-1 ii libwrap0 7.6.q-28 ii zlib1g 1:1.2.11.dfsg-1 Versions of packages cyrus-imapd recommends: ii rsync 3.1.3-6 cyrus-imapd suggests no packages. -- no debconf information