Hi,
I'm having a problem with my cached userdb information.
These are my passdb and userdbs:
passdb {
driver = ldap
args = /etc/dovecot/dovecot-ldap.conf.ext
}
userdb {
driver = prefetch
}
userdb {
driver = ldap
args = /etc/dovecot/dovecot-ldap-userdb.conf.ext
}
In /etc/dovecot/dovecot-ldap-userdb.conf.ext (userdb) I have:
user_attrs =
=user=%{ldap:mail},=quota_rule=%{ldap:quota:*:storage=10G},=home_prefix=/mail/mailboxes/%L{domain},=index_prefix=/mail/indexes/%L{domain},=relpath=%2L{ldap:umServiceUniqueId}/%L{ldap:umServiceUniqueId},=uuid=%L{ldap:umPersonalUniqueId}
user_filter =
(&(objectClass=CourierMailAccount)(irisUserStatus=urn:mace:rediris.es:um.es:userstatus:correo:estado:activo)(irisMailhost=popimapclu11.um.es)(|(uid=%{auth_user})(mail=%{auth_user})))
and in /etc/dovecot/dovecot-ldap.conf.ext (passdb) I have:
pass_attrs =
=userdb_user=%{ldap:mail},=userdb_quota_rule=%{ldap:quota:*:storage=10G},=userdb_home_prefix=/mail/mailboxes/%L{domain},=userdb_index_prefix=/mail/indexes/%L{domain},=userdb_relpath=%2L{ldap:umServiceUniqueId}/%L{ldap:umServiceUniqueId},=userdb_uuid=%L{ldap:umPersonalUniqueId},=uuid=%L{ldap:umPersonalUniqueId}
pass_filter =
(&(objectClass=CourierMailAccount)(irisUserStatus=urn:mace:rediris.es:um.es:userstatus:correo:estado:activo)(irisMailhost=popimapclu11.um.es)(|(uid=%u)(mail=%u)))
The problem I have is that quota information is not updated when I
changed in my ldap.
These are the steps I'm running:
1. First, I check current quota (dovecot just restarted):
amateo_adm@myotis60:/etc/dovecot/conf.d$ sudo doveadm user -f quota_rule
[email protected]
*:storage=2G
in the log I get:
Oct 29 14:29:46 myotis60 dovecot: auth: Debug: master in:
USER#0111#[email protected]#011service=doveadm#011debug
Oct 29 14:29:46 myotis60 dovecot: auth: Debug:
prefetch([email protected]): passdb didn't return userdb entries, trying
the next userdb
Oct 29 14:29:46 myotis60 dovecot: auth: Debug: ldap([email protected]):
userdb cache miss
Oct 29 14:29:46 myotis60 dovecot: auth: Debug: ldap([email protected]):
user search: base=ou=Usuarios,dc=Telematica scope=subtree
filter=(&(objectClass=CourierMailAccount)(irisUserStatus=urn:mace:rediris.es:um.es:userstatus:correo:estado:activo)(irisMailhost=popimapclu11.um.es)(|([email protected])([email protected])))
fields=mail,quota,umServiceUniqueId,umServiceUniqueId,umPersonalUniqueId
Oct 29 14:29:46 myotis60 dovecot: auth: Debug: ldap([email protected]):
result: [email protected]
umServiceUniqueId=3aa35516-d2bd-11e8-8708-d0cb8a49c4ef
umPersonalUniqueId=3aa34f3a-d2bd-11e8-8708-d0cb8a49c4ef
quota=*:storage=2G; mail,umPersonalUniqueId,quota,umServiceUniqueId unused
Oct 29 14:29:46 myotis60 dovecot: auth: Debug: ldap([email protected]):
result: [email protected]
umServiceUniqueId=3aa35516-d2bd-11e8-8708-d0cb8a49c4ef
umPersonalUniqueId=3aa34f3a-d2bd-11e8-8708-d0cb8a49c4ef quota=*:storage=2G
Oct 29 14:29:46 myotis60 dovecot: auth: Debug: userdb out:
USER#0111#[email protected]#011quota_rule=*:storage=2G#011home_prefix=/mail/mailboxes/um.es#011index_prefix=/mail/indexes/um.es#011relpath=3a/3aa35516-d2bd-11e8-8708-d0cb8a49c4ef#011uuid=3aa34f3a-d2bd-11e8-8708-d0cb8a49c4ef
2. Then I change user quota.
3. And later, I flush auth cache:
amateo_adm@myotis60:/etc/dovecot/conf.d$ sudo doveadm auth cache flush
[email protected]
0 cache entries flushed
with debug log:
Oct 29 14:31:00 myotis60 dovecot: auth: Debug: master in:
CACHE-FLUSH#0111#[email protected]
4. Finally, I get again the quota:
amateo_adm@myotis60:/etc/dovecot/conf.d$ sudo doveadm user -f quota_rule
[email protected]
*:storage=2G
with debug log:
Oct 29 14:31:49 myotis60 dovecot: auth: Debug: master in:
USER#0111#[email protected]#011service=doveadm#011debug
Oct 29 14:31:49 myotis60 dovecot: auth: Debug:
prefetch([email protected]): passdb didn't return userdb entries, trying
the next userdb
Oct 29 14:31:49 myotis60 dovecot: auth: Debug: ldap([email protected]):
userdb cache hit:
quota_rule=*:storage=2G#011home_prefix=/mail/mailboxes/um.es#011index_prefix=/mail/indexes/um.es#011relpath=3a/3aa35516-d2bd-11e8-8708-d0cb8a49c4ef#011uuid=3aa34f3a-d2bd-11e8-8708-d0cb8a49c4ef
Oct 29 14:31:49 myotis60 dovecot: auth: Debug: userdb out:
USER#0111#[email protected]#011quota_rule=*:storage=2G#011home_prefix=/mail/mailboxes/um.es#011index_prefix=/mail/indexes/um.es#011relpath=3a/3aa35516-d2bd-11e8-8708-d0cb8a49c4ef#011uuid=3aa34f3a-d2bd-11e8-8708-d0cb8a49c4ef
I'm also confussed about that dovecot is always loggin:
prefetch([email protected]): passdb didn't return userdb entries, trying
the next userdb
even if I have made a imap/pop3 before the doveadm user command.
Am I doing something wrong? Is there any way to flush this userdb cache
(without restarting dovecot)?
--
Angel L. Mateo Martínez
Sección de Telemática
Área de Tecnologías de la Información
y las Comunicaciones Aplicadas (ATICA)
http://www.um.es/atica
Tfo: 868889150
Fax: 868888337