[Dovecot] Sorting in IMAP list command?
Hi All,
I'm running Dovecot 1.2.9 and have noticed the IMAP list command does not appear to send a sorted list of folders with list command. For example on our Cyrus server I get a sorted list of folders (with INBOX listed first):
2 list "" "*"
- LIST (\Noinferiors) "/" "INBOX"
- LIST (\HasNoChildren) "/" "CalProject"
- LIST (\HasNoChildren) "/" "Deleted Messages"
- LIST (\HasNoChildren) "/" "Drafts" ...
while on our Dovecot server I get seemingly random listing:
2 list "" "*"
- LIST (\HasNoChildren) "/" "lsf"
- LIST (\HasNoChildren) "/" "mrg"
- LIST (\HasNoChildren) "/" "studiosysadmins"
- LIST (\HasNoChildren) "/" "Deleted Messages"
- LIST (\HasNoChildren) "/" "TriTeam"
- LIST (\HasNoChildren) "/" "systemupdates"
- LIST (\HasNoChildren) "/" "bb"
- LIST (\HasNoChildren) "/" "nagios"
- LIST (\HasNoChildren) "/" "server" ...
Is this intentional, or have I done something wrong? I didn't see any option in the dovecot.conf to set the behavior of the list output.
Here is dovecot -n
:
# 1.2.9: /usr/local/etc/dovecot.conf # OS: Linux 2.6.18-164.6.1.el5 x86_64 Red Hat Enterprise Linux Server release 5.4 (Tikanga) nfs protocols: imap imaps managesieve ssl_cert_file: /etc/pki/dovecot/certs/dovecot.pem ssl_key_file: /etc/pki/dovecot/private/dovecot.pem disable_plaintext_auth: no login_dir: /usr/local/var/run/dovecot/login login_executable(default): /usr/local/libexec/dovecot/imap-login login_executable(imap): /usr/local/libexec/dovecot/imap-login login_executable(managesieve): /usr/local/libexec/dovecot/managesieve-login mail_access_groups: BOLT mail_location: maildir:/var/dovecot/imap/%u/Maildir mmap_disable: yes mail_nfs_storage: yes mail_nfs_index: yes mail_executable(default): /usr/local/libexec/dovecot/imap mail_executable(imap): /usr/local/libexec/dovecot/imap mail_executable(managesieve): /usr/local/libexec/dovecot/managesieve mail_plugins(default): acl imap_acl autocreate mail_plugins(imap): acl imap_acl autocreate mail_plugins(managesieve): mail_plugin_dir(default): /usr/local/lib/dovecot/imap mail_plugin_dir(imap): /usr/local/lib/dovecot/imap mail_plugin_dir(managesieve): /usr/local/lib/dovecot/managesieve namespace: type: private separator: / inbox: yes list: yes subscriptions: yes namespace: type: public separator: / prefix: Public/ location: maildir:/var/dovecot/imap/public:CONTROL=/var/dovecot/imap/%u/Maildir/public:INDEX=/var/dovecot/imap/%u/Maildir/public list: yes namespace: type: public separator: / prefix: Boltlogs/ location: maildir:/var/dovecot/imap/boltlogs/Maildir/:CONTROL=/var/dovecot/imap/%u/Maildir/public-boltlogs:INDEX=/var/dovecot/imap/%u/Maildir/public-boltlogs list: yes lda: postmaster_address: postmaster@example.com mail_plugins: sieve acl mail_plugin_dir: /usr/local/lib/dovecot/lda/ auth default: passdb: driver: pam userdb: driver: passwd plugin: acl: vfile sieve: /var/dovecot/imap/%u/home/.dovecot.sieve sieve_dir: /var/dovecot/imap/%u/home/sieve home: /var/dovecot/imap/%u/home autocreate: Trash autosubscribe: Trash
Cheers, Ron
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi Ronald,
On 2010-01-05 09:19, Ronald Johnson wrote:
Hi All,
I'm running Dovecot 1.2.9 and have noticed the IMAP list command does not appear to send a sorted list of folders with list command. For example on our Cyrus server I get a sorted list of folders (with INBOX listed first):
2 list "" "*"
- LIST (\Noinferiors) "/" "INBOX"
- LIST (\HasNoChildren) "/" "CalProject"
- LIST (\HasNoChildren) "/" "Deleted Messages"
- LIST (\HasNoChildren) "/" "Drafts" ...
while on our Dovecot server I get seemingly random listing: [...]
RFC 3501 section 6.3.8. doesn't say anything about sorting, and it says "The LIST command SHOULD return its data quickly, without undue delay."
- so I guess it's up to the client to do the sorting?
Patrick.
STAR Software (Shanghai) Co., Ltd. http://www.star-group.net/ Phone: +86 (21) 3462 7688 x 826 Fax: +86 (21) 3462 7779
PGP key E883A005 https://stshacom1.star-china.net/keys/patrick_nagel.asc Fingerprint: E09A D65E 855F B334 E5C3 5386 EF23 20FC E883 A005 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.12 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/
iEYEARECAAYFAktCpfoACgkQ7yMg/OiDoAWKZwCgjoT6KTmjoDvTUigJALcwh86R lJYAoICh7xbj83FLj2XqterdncJZadzm =DkEZ -----END PGP SIGNATURE-----
On 5.1.2010, at 3.19, Ronald Johnson wrote:
I'm running Dovecot 1.2.9 and have noticed the IMAP list command does not appear to send a sorted list of folders with list command.
I thought all IMAP clients did the sorting internally. So yeah, I haven't added extra unnecessary code for it. Although I think if you're using Maildir (with Maildir++ layout) it'll get sorted.
Timo Sirainen wrote:
On 5.1.2010, at 3.19, Ronald Johnson wrote:
I'm running Dovecot 1.2.9 and have noticed the IMAP list command does not appear to send a sorted list of folders with list command.
I thought all IMAP clients did the sorting internally. So yeah, I haven't added extra unnecessary code for it. Although I think if you're using Maildir (with Maildir++ layout) it'll get sorted.
Hi Timo,
Thanks for the info. I think most clients do sorting, but it seems Smartsieve doesn't. I guess since it is Cyrus-centric, it must assume the list is already pre-sorted from Cyrus so it just uses a PHP imap-list method to get the list of folders. Using Dovecot with Smartsieve shows the unsorted folder list.
I tried setting the LAYOUT=maildir++ option, but still don't get a sorted list. I'll try with a new account, but otherwise I can just modify Smartsieve to sort the returned list.
Cheers, Ron
participants (3)
-
Patrick Nagel
-
Ronald Johnson
-
Timo Sirainen