Cyrus IMAP 2.1.12 and LSUB command
Bernd Nies
bernd.nies at adnovum.ch
Thu Apr 24 04:59:11 EDT 2003
Hi,
We're using Cyrus IMAP 2.1.12 together with SquirrelMail 1.4.0 and other
IMAP clients (Mozilla/Netscape). It seems that there is a little bug
with listing the subscribed folders using LSUB and various mailbox
wildcard patterns combined with the way I configured the IMAP server
(altnamespace and unixhierarchysep).
The "%" matches all mailboxes without hierarchy delimiter. The output
below is correct.
. LSUB "" %
* LSUB (\Noinferiors) "/" "INBOX"
* LSUB () "/" "Drafts"
* LSUB () "/" "Junk"
* LSUB () "/" "Sent"
* LSUB () "/" "Trash"
* LSUB () "/" "sysadm"
* LSUB (\Noselect \HasChildren) "/" "Other Users"
* LSUB (\Noselect \HasChildren) "/" "Shared Folders"
. OK Completed (0.000 secs 9 calls)
The "*" matches all mailboxes including hierarchy delimiter. The output
below is also correct.
. LSUB "" *
* LSUB (\Noinferiors) "/" "INBOX"
* LSUB () "/" "Drafts"
* LSUB () "/" "Junk"
* LSUB () "/" "Sent"
* LSUB () "/" "Trash"
* LSUB () "/" "sysadm"
* LSUB () "/" "Other Users/kauf/Trash"
* LSUB () "/" "Shared Folders/jokes"
* LSUB () "/" "Shared Folders/mailinglists/cert-advisory at cert.org"
* LSUB () "/" "Shared Folders/mailinglists/ietf-mta-filters at imc.org"
* LSUB () "/" "Shared Folders/mailinglists/info-cyrus at andrew.cmu.edu"
* LSUB () "/" "Shared Folders/mailinglists/postfix-users at postfix.org"
* LSUB () "/" "Shared
Folders/mailinglists/squirrelmail-users at lists.sourceforge.net"
* LSUB () "/" "Shared Folders/tasteless"
. OK Completed (0.010 secs 15 calls)
But SquirrelMail 1.4.0 uses the pattern "*%" which should match both.
But the toplevel "Shared Folders" is missing.
. LSUB "" *%
* LSUB (\Noinferiors) "/" "INBOX"
* LSUB () "/" "Drafts"
* LSUB () "/" "Junk"
* LSUB () "/" "Sent"
* LSUB () "/" "Trash"
* LSUB () "/" "sysadm"
* LSUB (\Noselect \HasChildren) "/" "Other Users"
* LSUB (\Noselect \HasChildren) "/" "Other Users/kauf"
* LSUB () "/" "Other Users/kauf/Trash"
>>> * LSUB (\Noselect \HasChildren) "/" "Shared Folders" <<< Missing!
* LSUB () "/" "Shared Folders/jokes"
* LSUB (\NonExistent \Noselect \HasChildren) "/" "Shared
Folders/mailinglists"
* LSUB () "/" "Shared Folders/mailinglists/cert-advisory at cert.org"
* LSUB () "/" "Shared Folders/mailinglists/ietf-mta-filters at imc.org"
* LSUB () "/" "Shared Folders/mailinglists/info-cyrus at andrew.cmu.edu"
* LSUB () "/" "Shared Folders/mailinglists/postfix-users at postfix.org"
* LSUB () "/" "Shared
Folders/mailinglists/squirrelmail-users at lists.sourceforge.net"
* LSUB () "/" "Shared Folders/tasteless"
. OK Completed (0.010 secs 22 calls)
This looks like a Cyrus IMAP bug to me because "Other Users" is listed
separately but "Shared Folders" not. RFC 3501 says:
The character "*" is a wildcard, and matches zero or more
characters at this position. The character "%" is similar to "*",
but it does not match a hierarchy delimiter. If the "%" wildcard
is the last character of a mailbox name argument, matching levels
of hierarchy are also returned. If these levels of hierarchy are
not also selectable mailboxes, they are returned with the
\Noselect mailbox name attribute (see the description of the LIST
So this pattern should be correct.
My Cyrus imapd.conf is:
configdirectory: /var/cyrus
sievedir: /opt/sieve
lmtpsocket: /var/cyrus/socket/lmtp
defaultpartition: default
partition-default: /data/mail1
partition-share: /data/mail2
servername: imap.domain.tld
admins: cyrus root
unixhierarchysep: yes
altnamespace: yes
sendmail: /opt/postfix/bin/sendmail
logtimestamps: yes
defaultacl: anyone lrsp
allowplaintext: yes
sasl_pwcheck_method: saslauthd
sasl_mech_list: PLAIN
The other IMAP clients display the folders correctly but they use
another method of getting the list of subscribed mailboxes.
Thanks in advance for help and fixing bugs.
Regards,
Bernd Nies
More information about the Info-cyrus
mailing list