[Dovecot] Case-sensitive INBOX or client issue?
I am using dovecot as an IMAP server for a Cisco product (Cisco Agent Desktop by Calabrio) and noticed some odd behavior when trying to access emails. The mail is delivered to the main INBOX, then a Cisco server moves it to a directory within the INBOX based on the queue it is meant for. Here is the directory structure of the Maildir:
Maildir/INBOX Maildir/INBOX/tmp Maildir/INBOX/63 Maildir/INBOX/63/tmp Maildir/INBOX/63/dovecot.index.cache Maildir/INBOX/63/cur Maildir/INBOX/63/cur/1395445673.M548066P32100.uc-util,S=6403:2, Maildir/INBOX/63/dovecot.index.log Maildir/INBOX/63/dovecot-uidlist Maildir/INBOX/63/maildirfolder Maildir/INBOX/63/new Maildir/INBOX/dovecot.index.cache Maildir/INBOX/cur Maildir/INBOX/dovecot.index.log Maildir/INBOX/dovecot-uidlist Maildir/INBOX/62 Maildir/INBOX/62/tmp Maildir/INBOX/62/dovecot.index.cache Maildir/INBOX/62/cur Maildir/INBOX/62/cur/1395445491.M591207P32114.uc-util,S=6380:2, Maildir/INBOX/62/dovecot.index.log Maildir/INBOX/62/dovecot-uidlist Maildir/INBOX/62/maildirfolder Maildir/INBOX/62/new Maildir/INBOX/new
Email is delivered to INBOX then gets moved to INBOX/62 or INBOX/63. The desktop software is then supposed to read the email and process it. I did a packet capture of the conversation and saw the following:
IMAP Response: * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE AUTH=PLAIN] Dovecot ready. IMAP Request: A0 AUTHENTICATE PLAIN IMAP Response: + IMAP Request: <redacted> IMAP Response: A0 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS] Logged in IMAP Request: A1 LIST "" Inbox/63 IMAP Response: A1 OK List completed. IMAP Request: A2 CREATE Inbox/63 IMAP Response: A2 NO [ALREADYEXISTS] Mailbox exists.
If I login manually and do 'LIST "" INBOX/63' it works fine, but not with "Inbox/63". I was under the impression that INBOX was not case-sensitive. Is this a bug or is the client doing something silly?
Thanks, Henry
dovecot -n # 2.1.7: /etc/dovecot/dovecot.conf # OS: Linux 2.6.32-5-amd64 x86_64 Debian 6.0.7 disable_plaintext_auth = no mail_location = maildir:~/Maildir:LAYOUT=fs namespace inbox { inbox = yes location = mailbox Drafts { special_use = \Drafts } mailbox Junk { special_use = \Junk } mailbox Sent { special_use = \Sent } mailbox "Sent Messages" { special_use = \Sent } mailbox Trash { special_use = \Trash } prefix = } passdb { driver = pam } protocols = " imap" ssl = no ssl_cert = </etc/dovecot/dovecot.pem ssl_key = </etc/dovecot/private/dovecot.pem userdb { driver = passwd }
-- "The best way to predict the future is to invent it" - Alan Kay
Am 22.03.2014 01:33, schrieb SB Code Ninja:
IMAP Response: * OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE AUTH=PLAIN] Dovecot ready. IMAP Request: A0 AUTHENTICATE PLAIN IMAP Response: + IMAP Request: <redacted> IMAP Response: A0 OK [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS MULTIAPPEND UNSELECT IDLE CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS] Logged in IMAP Request: A1 LIST "" Inbox/63 IMAP Response: A1 OK List completed. IMAP Request: A2 CREATE Inbox/63 IMAP Response: A2 NO [ALREADYEXISTS] Mailbox exists.
If I login manually and do 'LIST "" INBOX/63' it works fine, but not with "Inbox/63". I was under the impression that INBOX was not case-sensitive. Is this a bug or is the client doing something silly?
by RFC folder names are *not* case-sensitive, if dovecot handles them case-sensitive it is a bug, however there are broken clients as well
if anybody ever struggeled with different MS Outlook versions and no new mails displayed just rename 'Inbox' to 'INBOX' on the server
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Fri, 21 Mar 2014, SB Code Ninja wrote:
If I login manually and do 'LIST "" INBOX/63' it works fine, but not with "Inbox/63". I was under the impression that INBOX was not case-sensitive.
As far as I know that applies to INBOX, but not its children, see RFC1730 sec. 9. "Formal Syntax"
mailbox ::= "INBOX" / astring ;; INBOX is case-insensitive; other names may be ;; case-sensitive depending on implementation.
For a workaround see: http://wiki2.dovecot.org/Plugins/MailboxAlias
Is this a bug or is the client doing something silly?
mail_location = maildir:~/Maildir:LAYOUT=fs
Steffen Kaiser -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux)
iQEVAwUBUzAvD3D1/YhP6VMHAQLZ+wgAohQ2DQ0outoOhUvD+ZnPpNj236FIiEIN vYtGKL665E6ef1mSEZC87yanb5zNzQVEDfCsFbYL0dFSP2OofYvxBBACp7iLMxod wq70qutUEWjMfgMK0eP5XLjYsrzYFpjWRDcglULhr6U/mvgUg8AFbzv5ajw75Q4i LgrEbhn4LBVy68ERVY4J33zP3NZAlSjDGs+759F1mSnEet1n7hJt7P4wenpU5YM+ Lr7sonp4xRf4gF2dTtotJCHTaREkr/wD0ZQpuud3WXOgNI+bSoyShMCuWHpdnOAg 86i0XtozqKOtYJNlowF6pWa5jL+VKC2lsvCn3QwFcF0r57r1C+MzSA== =rnPm -----END PGP SIGNATURE-----
participants (3)
-
Reindl Harald
-
SB Code Ninja
-
Steffen Kaiser