[Dovecot] Problem with quota calculation...

Klaus Tachtler klaus at tachtler.net
Tue May 27 11:04:12 UTC 2014


Hello,

since I changed the quota backend from maildir (maildir:User quota)
to dictionary (dict:User quota::proxy::quota), I have problems with
tha calculated size and messages count.

--- Input/Output ---

# du -hs
23M	.

# doveadm quota get -u ich at tachtler.net
Quota name Type    Value   Limit                                        
                        %
User quota STORAGE 46602 1024000                                        
                        4
User quota MESSAGE   166       -                                        
                        0

# doveadm quota recalc -u ich at tachtler.net

# doveadm quota get -u ich at tachtler.net
Quota name Type    Value   Limit                                        
                        %
User quota STORAGE 23301 1024000                                        
                        2
User quota MESSAGE    83       -                                        
                        0

--- Input/Output ----

It seems, that all was counted twice?

----- doveconf -n -----

# dovecot -n
# 2.2.10: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-431.17.1.el6.x86_64 x86_64 CentOS release 6.5 (Final)
auth_master_user_separator = *
auth_mechanisms = plain digest-md5 cram-md5 login
auth_verbose = yes
dict {
   quota = mysql:/etc/dovecot/dovecot-dict-sql.conf.ext
}
hostname = dovecot.tachtler.net
listen = *
mail_location = maildir:~/Maildir
mail_plugins = " quota acl zlib mail_log notify"
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope  
encoded-character vacation subaddress comparator-i;ascii-numeric  
relational regex imap4flags copy include variables body enotify  
environment mailbox date ihave
mbox_write_locks = fcntl
namespace {
   list = children
   location = maildir:%%h/Maildir:INDEX=%h/shared/%%u:CONTROL=%h/shared/%%u
   prefix = shared/%%u/
   separator = /
   subscriptions = yes
   type = shared
}
namespace inbox {
   inbox = yes
   location =
   mailbox Drafts {
     auto = subscribe
     special_use = \Drafts
   }
   mailbox Junk {
     auto = subscribe
     special_use = \Junk
   }
   mailbox Sent {
     auto = subscribe
     special_use = \Sent
   }
   mailbox "Sent Messages" {
     special_use = \Sent
   }
   mailbox Trash {
     auto = subscribe
     special_use = \Trash
   }
   prefix = INBOX/
   separator = /
}
passdb {
   args = /etc/dovecot/master-users
   driver = passwd-file
   master = yes
   pass = yes
}
passdb {
   args = /etc/dovecot/dovecot-sql.conf.ext
   driver = sql
}
plugin {
   acl = vfile
   acl_shared_dict = file:/var/lib/dovecot/db/shared-mailboxes.db
   mail_log_fields = uid box msgid size from
   quota = dict:User quota::proxy::quota
   quota_grace = 10%%
   quota_rule = INBOX/Trash:storage=+100M
   quota_status_nouser = DUNNO
   quota_status_overquota = 552 5.2.2 Mailbox is over quota
   quota_status_success = DUNNO
   quota_warning = storage=95%% quota-warning 95 %u
   quota_warning2 = storage=80%% quota-warning 80 %u
   sieve = ~/.dovecot.sieve
   sieve_dir = ~/sieve
   zlib_save = gz
   zlib_save_level = 6
}
postmaster_address = postmaster at tachtler.net
protocols = imap lmtp sieve
service auth {
   unix_listener auth-userdb {
     group = vmail
     user = vmail
   }
}
service dict {
   unix_listener dict {
     group = vmail
     mode = 0660
     user = vmail
   }
}
service imap-login {
   process_min_avail = 1
   service_count = 0
}
service lmtp {
   inet_listener lmtp {
     address = 192.168.0.80
     port = 24
   }
}
service managesieve-login {
   inet_listener sieve {
     port = 4190
   }
}
service quota-status {
   client_limit = 1
   executable = quota-status -p postfix
   inet_listener {
     address = 192.168.0.80
     port = 12340
   }
}
service quota-warning {
   executable = script /usr/local/bin/quota-warning.sh
   user = vmail
}
ssl_cert = </etc/pki/dovecot/certs/CAcert-class3-wildcard_all_in_one.crt
ssl_key = </etc/pki/dovecot/private/tachtler.net.key
userdb {
   driver = prefetch
}
userdb {
   args = /etc/dovecot/dovecot-sql.conf.ext
   driver = sql
}
verbose_proctitle = yes
protocol lmtp {
   mail_plugins = " quota acl zlib mail_log notify sieve"
}
protocol imap {
   mail_plugins = " quota acl zlib mail_log notify imap_quota imap_acl  
imap_zlib"
}

Thank you for any help,
Klaus.


--

------------------------------------------
e-Mail  : klaus at tachtler.net
Homepage: http://www.tachtler.net
DokuWiki: http://www.dokuwiki.tachtler.net
------------------------------------------



More information about the dovecot mailing list