[Dovecot] Maildir++ quota inconsistency

Anand Buddhdev arb at anand.org
Thu Aug 31 16:25:37 EEST 2006


I've found what I think is an inconsistency in the Maildir quota 
implementation. According to the Maildir++ quota specification at:

http://www.inter7.com/courierimap/README.maildirquota.html

Maildir++ quota can be specified as maximum size, or maximum number of 
messages, or even both. The size specification is supposed to be in bytes. 
So I could use '10000000S' to set a quota of around 10MB.

Now, the Exim MTA has an independent Maildir++ quota implementation, and it 
follows the specification, so if I set the quota in Exim to 10000000, it 
will work perfectly with sqwebmail and courier-imap. However, it doesn't 
play well with Dovecot, because Dovecot chooses to interpret the quota as 
kilobytes, rather than bytes. An example:

If I set the quota to 10240 in Dovecot, it creates a maildirsize file with 
the value 10240000 in it. If I then set the quota to 10M in Exim, Exim 
calculates that as 10485760. It detects that the value in the maildirsize 
file is wrong, and recreates the file with a quota of 10485760 bytes.

Exim's behaviour is consistent with the courier family of packages, as well 
as the specification, so I'm venturing to say that Dovecot's implementation 
is slightly non-standard, and should be fixed so that the quota setting is 
interpreted as bytes, and not as kilobytes, to avoid a situation like the 
above.

--
Anand


More information about the dovecot mailing list