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 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 246 bytes Desc: OpenPGP digital signature URL: <http://dovecot.org/pipermail/dovecot/attachments/20140324/71620a7e/attachment.sig>
-----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-----
-----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-----