I have a strange problems with quota on v2.0.14. We have an ldap user directory, and all users should have a mailQuota defined there. My problem is that some users gets the quota enforced, while others don't, and "doveadm user" doesn't seem to agree with "doveadm quota ge gett"
Ref:
$ doveadm user janfrode@example.net
userdb: janfrode@example.net
home : /usr/local/atmail/users/j/a/janfrode@example.net
mailQuota : quota_rule=*:storage=2100000
$ doveadm -f tab quota get -u janfrode@example.net
Quota name Type Value Limit %
UserQuota STORAGE 760 1000000 0
UserQuota MESSAGE 62 - 0
Why limit 1000000 instead of 2100000 ?
$ doveadm user omar@example.net
userdb: omar@example.net
home : /usr/local/atmail/users/o/m/omar@example.net
mailQuota : quota_rule=*:storage=1000000
$ sudo doveadm -f tab quota get -u omar@example.net
Quota name Type Value Limit %
UserQuota STORAGE 0 - 0
UserQuota MESSAGE 0 - 0
$ doveadm user testkunde@example.net
userdb: testkunde@example.net
home : /usr/local/atmail/users/t/e/testkunde@example.net
mailQuota : quota_rule=*:storage=1000000
$ doveadm -f tab quota get -u testkunde@example.net
Quota name Type Value Limit %
UserQuota STORAGE 33918 - 0
UserQuota MESSAGE 137 - 0
Why no storage limit ?
Config below:
$ grep -v ^# /etc/dovecot/dovecot-ldap.conf.ext |grep -v ^$ hosts = ldapm1.example.net:389 ldapm2.example.net:389 auth_bind = yes auth_bind_userdn = uid=%n,ou=people,o=%d,o=ISP,o=example,c=NET base = ou=people,o=%d,o=ISP,o=example,c=NET deref = never scope = onelevel user_attrs = mailMessageStore=home, mailLocation=mail, mailQuota=mailQuota=quota_rule=*:storage=%$ user_filter = (&(objectClass=examplePerson)(uid=%n))
$ doveconf -n # 2.0.14: /etc/dovecot/dovecot.conf doveconf: Warning: service auth { client_limit=4396 } is lower than required under max. load (4521) # OS: x86_64 Red Hat Enterprise Linux Server release 5.x (Tikanga) auth_verbose = yes auth_verbose_passwords = sha1 disable_plaintext_auth = no mail_gid = 3000 mail_location = maildir:~/:INDEX=/indexes/%1u/%1.1u/%u mail_plugins = quota mail_uid = 3000 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 mmap_disable = yes namespace { inbox = yes location = prefix = INBOX. type = private } passdb { args = /etc/dovecot/dovecot-ldap.conf.ext driver = ldap } plugin { quota = maildir:UserQuota sieve = /sieve/%1u/%1.1u/%u/.dovecot.sieve sieve_dir = /sieve/%1u/%1.1u/%u sieve_max_script_size = 1M } protocols = imap pop3 lmtp sieve service auth-worker { user = $default_internal_user } service auth { client_limit = 4396 } service imap-login { inet_listener imap { address = * port = 143 } } service imap-postlogin { executable = script-login /usr/local/sbin/imap-postlogin.sh } service imap { executable = imap imap-postlogin process_limit = 2048 } service lmtp { client_limit = 1 inet_listener lmtp { address = * port = 24 } process_limit = 25 } service managesieve-login { inet_listener sieve { address = * port = 4190 } service_count = 1 } service pop3-login { inet_listener pop3 { address = * port = 110 } } service pop3-postlogin { executable = script-login /usr/local/sbin/pop3-postlogin.sh } service pop3 { executable = pop3 pop3-postlogin process_limit = 2048 } ssl = no userdb { args = /etc/dovecot/dovecot-ldap.conf.ext driver = ldap } protocol lmtp { mail_plugins = quota sieve } protocol imap { imap_client_workarounds = delay-newmail mail_plugins = quota imap_quota } protocol pop3 { mail_plugins = quota pop3_client_workarounds = outlook-no-nuls oe-ns-eoh pop3_uidl_format = UID%u-%v } protocol sieve { managesieve_logout_format = bytes=%i/%o }
-jf