FORMER 03 | Baltasar Cevc wrote:
Hi,
On 05.09.2007, at 22:19, WJCarpenter wrote:
bc> When I put a standard quota into the config as follows, the bc> delivery succeeds (apparently deliver checks the standard quota, bc> while IMAP correctly checks the quota from the database if it is bc> returned. Sep 5 21:46:11 ms4
bc> The mailbox is still over quota here, but deliver does not seem to bc> notice.
I recently debugged that situation in my own configuration. Are you using prefetches for your user query?
If you are using prefetch for your userdb lookups, you still need a separate user query to be used by deliver (it doesn't do the password query). The wiki pages show a configuration for keeping the prefetch for IMAP but having a user query for deliver. I don't know if that works since I simply got rid of my prefetch completely and moved on to a different problem when that cured it. (I plan to try to put the prefetch back in later when I get some spare time.)
I do use prefetch, I have an separate query, too. Without that the quota fails completely.
Having both statements and prefetch, the quota works fine with IMAP and deliver when I have no quota line in the plugin section, when I add the line (see !!MARK!! below), the deliver takes the quota from that line instead of the database information. IMAP uses the information from the database all the time, no matter if I have a quota line in the config. [...]
plugin { # !!MARK!! # deliver seems to use the userdb quota only when I don't have the following line quota = maildir:storage=102400:messages=1000 acl = vfile:/etc/dovecot/acls trash = /etc/dovecot/dovecot-trash.conf } I discovered something similar. User's quota from the DB was not used when the user's quota was over the limit of the plugin part. According to the docs the db quota values should always come first before the plugin part but it does not.
Marcin.