Problem with cached userdb info

Ángel L. Mateo amateo at um.es
Tue Oct 30 14:05:55 EET 2018


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 at myotis60:/etc/dovecot/conf.d$ sudo doveadm user -f quota_rule 
angel.luis at um.es
*:storage=2G

in the log I get:
Oct 29 14:29:46 myotis60 dovecot: auth: Debug: master in: 
USER#0111#011angel.luis at um.es#011service=doveadm#011debug
Oct 29 14:29:46 myotis60 dovecot: auth: Debug: 
prefetch(angel.luis at um.es): passdb didn't return userdb entries, trying 
the next userdb
Oct 29 14:29:46 myotis60 dovecot: auth: Debug: ldap(angel.luis at um.es): 
userdb cache miss
Oct 29 14:29:46 myotis60 dovecot: auth: Debug: ldap(angel.luis at um.es): 
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)(|(uid=angel.luis at um.es)(mail=angel.luis at um.es))) 
fields=mail,quota,umServiceUniqueId,umServiceUniqueId,umPersonalUniqueId
Oct 29 14:29:46 myotis60 dovecot: auth: Debug: ldap(angel.luis at um.es): 
result: mail=angel.luis at um.es 
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(angel.luis at um.es): 
result: mail=angel.luis at um.es 
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#011angel.luis at um.es#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 at myotis60:/etc/dovecot/conf.d$ sudo doveadm auth cache flush 
angel.luis at um.es
0 cache entries flushed

with debug log:
Oct 29 14:31:00 myotis60 dovecot: auth: Debug: master in: 
CACHE-FLUSH#0111#011angel.luis at um.es

4. Finally, I get again the quota:

amateo_adm at myotis60:/etc/dovecot/conf.d$ sudo doveadm user -f quota_rule 
angel.luis at um.es
*:storage=2G

with debug log:

Oct 29 14:31:49 myotis60 dovecot: auth: Debug: master in: 
USER#0111#011angel.luis at um.es#011service=doveadm#011debug
Oct 29 14:31:49 myotis60 dovecot: auth: Debug: 
prefetch(angel.luis at um.es): passdb didn't return userdb entries, trying 
the next userdb
Oct 29 14:31:49 myotis60 dovecot: auth: Debug: ldap(angel.luis at um.es): 
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#011angel.luis at um.es#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(angel.luis at um.es): 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


More information about the dovecot mailing list