[Comm] OpenLDAP - возможно баг?
Alex Moskalenko
=?iso-8859-1?q?mav_=CE=C1_elserv=2Emsk=2Esu?=
Чт Июл 7 09:27:35 MSD 2005
Здравствуйте!
Дано:
[mav на tmpsrv mav]$ cat /etc/altlinux-release
ALT Linux Master 2.4 (Citron)
[mav на tmpsrv mav]$ rpm -qa | grep openldap
openldap-doc-2.1.30-alt3
openldap-2.1.30-alt3
openldap-clients-2.1.30-alt3
openldap-servers-2.1.30-alt3
В LDAP лежат учетные записи пользователей. Настроен nss, samba, postfix.
Понадобилось прикрутить cyrus-imapd. Попытался сделать авторизацию через LDAP
(imapd -> saslauthd -> ldap). И наткнулся на интересную вещь - saslauthd не
может авторизоваться в LDAP. При этом в логах следующее
Jul 6 23:22:57 testmail saslauthd[13363]: user ldap_search_st() failed: Size
limit exceeded
Jul 6 23:22:57 testmail saslauthd[13363]: Retrying authentication
Jul 6 23:22:57 testmail saslauthd[13363]: user ldap_search_st() failed: Size
limit exceeded
Jul 6 23:22:57 testmail saslauthd[13363]: do_auth : auth failure:
[user=username] [service=imap] [realm=] [mech=ldap] [reason=Unknown]
То есть получаем ldap error 4.
При более подробных раскопках обнаружил следующее
[mav на tmpsrv mav]$ ldapsearch -x -LL -b ou=Accounts,dc=example,dc=ru
"(&(uid=username)(objectClass=inetOrgPerson))" dn
version: 1
dn: uid=username,ou=Users,ou=Accounts,dc=example,dc=ru
[mav на tmpsrv mav]$ ldapsearch -z 1 -x -LL -b ou=Accounts,dc=example,dc=ru
"(&(uid=username)(objectClass=inetOrgPerson))" dn
version: 1
dn: uid=username,ou=Users,ou=Accounts,dc=example,dc=ru
Size limit exceeded (4)
[mav на tmpsrv mav]$ ldapsearch -z 2 -x -LL -b ou=Accounts,dc=example,dc=ru
"(&(uid=moskalenko)(objectClass=inetOrgPerson))" dn
version: 1
dn: uid=moskalenko,ou=Users,ou=Accounts,dc=example,dc=ru
То есть имеем одну запись в каталоге, удовлетворяющую условию поиска, но при
поиске ее с -z 1 (насколько я понял, saslauthd делает именно так) получаем ту
же error 4. Соответственно вопросы:
1) Из-за чего такое может быть? Не баг ли это в openLDAP? Ведь запись одна, и
запросили одну - почему тогда size limit exeeded?
2) Как в свете всего вышеперечисленного получить рабочий saslauthd либо
аутентифицироваться в cyrus-imapd из LDAP минуя saslauthd?
3) Если это все-таки баг - не вылезет ли это где-нибудь еще, кроме saslauthd?
--
WBR, Alex Moskalenko
Подробная информация о списке рассылки community