[Dovecot] INBOX.INBOX.Sent causes problems in 2.0

Christoph Bußenius busseniu at in.tum.de
Fri Oct 12 17:10:28 EEST 2012


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:

1) Create a folder named "INBOX.INBOX.Sent" (using the IMAP CREATE command)
2) Save a message to "INBOX" (in my example the message is 7 MB)
3) dovecot-quota contains:

priv/quota/storage
7129025
priv/quota/messages
1

4) doveadm quota recalc -u user1
5) 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


More information about the dovecot mailing list