Странное поведение при поиске ldap (локальная ошибка)

Уже несколько дней мы боремся со странной ошибкой ldap. Следующий код работал нормально более года. Внезапно это возвращает local error (0x52) для нескольких пользователей CN.

Соответствующий код (соединение и связывание всегда работают, только поиск не удается для некоторых пользовательских CN):

$ldapconn = ldap_connect("LDAP URL")
or die("Connection failed.");

ldap_bind($ldapconn, 'USERNAME', 'PASSWORD')
or die("Binding failed");

$ldapsearch = ldap_search($ldapconn, '', '(&(uniqueMember=CN=FIRSTNAME LASTNAME,O=COMPANY)(objectClass=groupOfNames))')
or die("Search failed: ".ldap_error($ldapconn));

Странно то, что этот код работает для большинства пользователей, а для некоторых — нет.

Так, например:

$ldapsearch = ldap_search($ldapconn, '', '(&(uniqueMember=CN=FIRSTNAME_1 LASTNAME_1,O=COMPANY)(objectClass=groupOfNames))')
-> works

$ldapsearch = ldap_search($ldapconn, '', '(&(uniqueMember=CN=FIRSTNAME_2 LASTNAME_2,O=COMPANY)(objectClass=groupOfNames))')
-> fails

Но оба CN определенно существуют (в более мягком браузере ldap обе команды поиска работают, также в Lotus Notes оба пользователя кажутся идентичными, только с некоторыми клиентами ldap и кодом php, который он терпит неудачу).

Мы также нашли следующее заявление от ibm на этой странице:
https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_71/apis/ldap_error_condt.htm

0x52 - Some local error occurred. This usually indicates that either the LDAP support (IBM® i option 32) is not installed on the system, or a malloc() operation has failed

Поддержка Ldap установлена, и мы не знаем, где может быть ошибка выделения памяти.

Если вам нужна дополнительная информация, пожалуйста, дайте мне знать.

Любая помощь приветствуется

ОБНОВИТЬ:

Мы попытались выполнить поиск в CentOS с помощью cli и получили ту же локальную ошибку (так что это не проблема php ldap, скорее проблема с сервером notes domino):

ldapsearch -D "USERNAME" -w PASSWORD -h LDAP_URL -b "" -s sub "(&(uniqueMember=CN=FIRSTNAME LASTNAME,O=COMPANY)(objectClass=groupOfNames))"-> ldap_result: Local error (-2)

Ошибка возникает всегда для одних и тех же пользователей. Пользовательские CN, в которых возникает проблема, не имеют специальных символов или аналогичных символов и не содержат двойных имен и фамилий.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]