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 at example.net
userdb: janfrode at example.net
home : /usr/local/atmail/users/j/a/janfrode at example.net
mailQuota : quota_rule=*:storage=2100000
$ doveadm -f tab quota get -u janfrode at 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 at example.net
userdb: omar at example.net
home : /usr/local/atmail/users/o/m/omar at example.net
mailQuota : quota_rule=*:storage=1000000
$ sudo doveadm -f tab quota get -u omar at example.net
Quota name Type Value Limit %
UserQuota STORAGE 0 - 0
UserQuota MESSAGE 0 - 0
$ doveadm user testkunde at example.net
userdb: testkunde at example.net
home : /usr/local/atmail/users/t/e/testkunde at example.net
mailQuota : quota_rule=*:storage=1000000
$ doveadm -f tab quota get -u testkunde at 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