[Dovecot] INBOX.INBOX.Sent causes problems in 2.0
Hi,
we have our namespace rooted at "INBOX.". Sometimes, users have folders like "INBOX.INBOX.Sent" or "INBOX.INBOX.INBOX.Sent". I do not know why these folders are created; I suspect it is due to buggy MUAs.
If a mailbox like INBOX.INBOX.Sent exists, then in some cases Dovecot counts all messages in INBOX twice.
This behavior can be demonstrated as follows:
- Create a folder named "INBOX.INBOX.Sent" (using the IMAP CREATE command)
- Save a message to "INBOX" (in my example the message is 7 MB)
- dovecot-quota contains:
priv/quota/storage 7129025 priv/quota/messages 1
- doveadm quota recalc -u user1
- Now dovecot-quota contains
priv/quota/storage 14258050 priv/quota/messages 2
I.e. the user will experience that his quota fills up very fast.
"doveadm -f flow fetch -u user1 'mailbox guid' ALL" prints:
mailbox=INBOX guid=040ce73645177850497d000040c59ffc mailbox=INBOX guid=040ce73645177850497d000040c59ffc
However, "doveadm -f flow fetch -u user1 'mailbox guid' mailbox INBOX" prints the message only once:
mailbox=INBOX guid=040ce73645177850497d000040c59ffc
How can we prevent this kind of confusion? What I'd like most is prevent the creation of these weird folders. Most MUAs have problems listing them properly, especially if both "INBOX.Sent" and "INBOX.INBOX.Sent" exist.
Dovecot 2.1 does not seem to count anything twice.
Cheers, Christoph
Config:
# 2.0.21: /usr/local/dovecot/etc/dovecot/dovecot.conf doveconf: Warning: service auth { client_limit=4096 } is lower than required under max. load (6224) # OS: Linux 2.6.32-42-server x86_64 Ubuntu 10.04.4 LTS disable_plaintext_auth = no mail_gid = vmail mail_location = mdbox:~/mail mail_plugins = quota mail_uid = vmail namespace default { inbox = yes location = prefix = INBOX. separator = . type = private } passdb { args = scheme=CRYPT username_format=%u /usr/local/dovecot/etc/dovecot/users driver = passwd-file } plugin { quota = dict:ROOT::file:%h/dovecot-quota quota_rule = *:storage=5G } protocols = imap pop3 service auth { unix_listener auth-userdb { group = vmail mode = 0660 } } service imap { process_limit = 5000 } ssl_cert = </etc/ssl/certs/dovecot.pem ssl_key = </etc/ssl/private/dovecot.pem userdb { args = /usr/local/dovecot/etc/dovecot/users driver = passwd-file } protocol imap { imap_client_workarounds = tb-extra-mailbox-sep mail_max_userip_connections = 20 mail_plugins = quota imap_quota }
And the contents of the "users" file:
user1:{plain}secret:::user1:/mail/users/user1::
-- Christoph Bußenius Rechnerbetriebsgruppe der Fakultäten Informatik und Mathematik Technische Universität München +49 89-289-18519 <> Raum 00.05.040 <> Boltzmannstr. 3 <> Garching
participants (1)
-
Christoph Bußenius