[Dovecot] 1.1rc4 problem with maildir++ quota and POP3
Hi, it looks like there is a bug (in dovecot or in my config) with quota on maildir mailboxes when accessed via POP3.
The maildirsize is not created when not already present (even after a DELE + QUIT command). The quota limit (the first line of maildirsize) is not updated if values are not in sync with those in the database. If maildirsize is present, DELE commands are correctly reported in maildirsize.
maildirsize is correctly updated when the same mailbox is accessed in IMAP or mail is delivered with dovecot LDA.
Here is my config. Timo 'dovecot -n' does not show the lda config part...
# 1.1.rc4: /etc/dovecot.conf protocols: imap pop3 ssl_disable: yes login_dir: /var/run/dovecot/login login_executable(default): /usr/libexec/dovecot/imap-login login_executable(imap): /usr/libexec/dovecot/imap-login login_executable(pop3): /usr/libexec/dovecot/pop3-login login_greeting: please to meet you login_greeting_capability(default): yes login_greeting_capability(imap): yes login_greeting_capability(pop3): no login_processes_count: 100 login_max_processes_count: 512 max_mail_processes: 3072 mail_uid: 1000 mail_gid: 1000 mail_location: maildir:~/ mmap_disable: yes maildir_stat_dirs: yes mail_executable(default): /usr/libexec/dovecot/imap mail_executable(imap): /usr/libexec/dovecot/imap mail_executable(pop3): /usr/libexec/dovecot/pop3 mail_plugins(default): imap_quota quota mail_plugins(imap): imap_quota quota mail_plugins(pop3): quota mail_plugin_dir(default): /usr/lib/dovecot/imap mail_plugin_dir(imap): /usr/lib/dovecot/imap mail_plugin_dir(pop3): /usr/lib/dovecot/pop3 imap_client_workarounds(default): outlook-idle imap_client_workarounds(imap): outlook-idle imap_client_workarounds(pop3): pop3_client_workarounds(default): pop3_client_workarounds(imap): pop3_client_workarounds(pop3): outlook-no-nuls auth default: user: nobody passdb: driver: sql args: /etc/dovecot-mysql.conf userdb: driver: sql args: /etc/dovecot-mysql.conf userdb: driver: prefetch socket: type: listen master: path: /var/run/dovecot/auth-master mode: 432 user: mailonly group: mailonly plugin: quota: maildir quota_rule2: Trash:storage=12288:messages=100
--- SQL queries ----
# prefetch auth
password_query = SELECT cpasswd as password, home as userdb_home, concat('*:bytes=',quotas,':messages=',quotai) AS userdb_quota_rule FROM mail
WHERE email='%u'
# for delivery
user_query = SELECT home, concat('*:bytes=',quotas,':messages=',quotai) AS quota_rule FROM mail
WHERE email='%u'
-- Laurent Papier - 03 88 75 80 50 Admin. système - SdV Plurimedia - http://www.sdv.fr/
On Mon, 2008-04-28 at 17:58 +0200, Laurent Papier wrote:
Hi, it looks like there is a bug (in dovecot or in my config) with quota on maildir mailboxes when accessed via POP3.
The maildirsize is not created when not already present (even after a DELE + QUIT command). The quota limit (the first line of maildirsize) is not updated if values are not in sync with those in the database. If maildirsize is present, DELE commands are correctly reported in maildirsize.
Hmm. This happens because POP3 doesn't ask for the limit at any point. Dovecot just thinks that if the maildirsize file doesn't exist, why bother creating it since it can be left to be done later when something actually wants to know the quota.
But I guess it should do the extra work anyway..: http://hg.dovecot.org/dovecot-1.1/rev/2475c57fadb0
passdb: driver: sql args: /etc/dovecot-mysql.conf userdb: driver: sql args: /etc/dovecot-mysql.conf userdb: driver: prefetch
prefetch is never called with this setup. You should put it before the userdb sql.
participants (2)
-
Laurent Papier
-
Timo Sirainen