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

Reply via email to