[Dovecot] LDAP: error with iterate_query

Evgeny Basov ya.mwork at yandex.ru
Tue Apr 2 15:14:30 EEST 2013


Hello.

Used 2.2.rc3.

Try  LDAP search:

# ldapsearch -LLL -D "uid=dovecot,ou=Services,o=m" -b "ou=C,o=m" -w 1 -s
subtree "(objectClass=mailUser)" mail
dn: uid=test,dc=m.u,ou=C,o=m
mail: test at m.u

dn: uid=basov,dc=m.u,ou=C,o=m
mail: basov at m.u
mail: wow at m.u

dn: uid=postmaster,dc=m.u,ou=C,o=m
mail: postmaster at m.u

dn: uid=ogo,dc=rest.com,ou=C,o=m
mail: ogo at rest.com

All is fine.

Dovecot's config file:

uris = ldapi://%2fvar%2frun%2fopenldap%2fslapd.sock
dn = uid=dovecot,ou=Services,o=m
dnpass = 1
debug_level = 128
auth_bind = yes
auth_bind_userdn = uid=%n,dc=%d,ou=C,o=m
ldap_version = 3
base = ou=C,o=m
deref = never
scope = subtree
user_attrs = \
    =home=/var/vmail/%d/%n/, \
    =proxy_maybe=y, \
    =nodelay=y, \
    =host=%{ldap:mailHost}, \
    =quota_rule=*:storage=%{ldap:mailQuota}M
user_filter = (&(objectClass=mailUser)(uid=%n))
iterate_attrs = mail=user
iterate_filter = (objectClass=mailUser)

Request for one user:

# doveadm  user -u basov at mega.ru
userdb: basov at m.u
  home      : /var/vmail/m.u/basov/
  proxy_maybe: y
  nodelay   : y
  host      : mailsys
  quota_rule: *:storage=20M

log file:

dovecot: auth: Debug: Loading modules from directory:
/usr/lib64/dovecot/auth
dovecot: auth: Debug: Read auth token secret from
/var/run/dovecot/auth-token-secret.dat
dovecot: auth: Debug: master in: USER#0111#011basov at m.u#011service=doveadm
dovecot: auth: Debug: ldap(basov at m.u): user search: base=ou=C,o=m
scope=subtree filter=(&(objectClass=mailUser)(uid=basov))
fields=mailHost,mailQuota
dovecot: auth: Debug: ldap(basov at m.u): result: mailHost=mailsys
mailQuota=20; mailQuota,mailHost unused
dovecot: auth: Debug: ldap(basov at m.u): result: mailHost=mailsys mailQuota=20
dovecot: auth: Debug: userdb out:
USER#0111#011basov at m.u#011home=/var/vmail/m.u/basov/#011proxy_maybe=y#011nodelay=y#011host=mailsys#011quota_rule=*:storage=20M
dovecot: auth: Fatal: master: service(auth): child 4156 killed with
signal 11 (core dumps disabled)

all looks good.


Try iterate query for all users:

# doveadm  user *@*
doveadm(root): Error: User listing returned failure
doveadm(root): Fatal: user listing failed

log file:

dovecot: auth: Debug: master in: LIST#0111#011user=*@*#011service=doveadm
dovecot: auth-worker(4185): Debug: ldap: iterate: base=ou=C,o=m
scope=subtree filter=(objectClass=mailUser) fields=mail
dovecot: auth-worker(4185): Error: ldap(*@*): LDAP search returned
multiple entries
dovecot: auth-worker(4185): Fatal: master: service(auth-worker): child
4185 killed with signal 11 (core dumps disabled)
dovecot: auth-worker(4187): Debug: Loading modules from directory:
/usr/lib64/dovecot/auth



Is it error of rc3 release or somebody wrong in my configuration?


More information about the dovecot mailing list