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-----