[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