Что такое код ldap_errno


Содержание

ldap_errno

(PHP 3>= 3.0.12, PHP 4)

ldap_errno — возвращает номер LDAP-ошибки последней LDAP-команды.

Описание

int ldap_errno (resource link_identifier)

Возвращает номер LDAP-ошибки последней LDAP-команды для данной ссылки.

Эта функция возвращает стандартизованный номер ошибки, возвращённой последней LDAP-командой для данного идентификатора ссылки link_identifier. Это число может быть конвертировано в текстовое сообщение об ошибке с помощью ldap_err2str().

ldap_errno

ldap_errno — Return the LDAP error number of the last LDAP command

Описание

Returns the standardized error number returned by the last LDAP command. This number can be converted into a textual error message using ldap_err2str() .

Список параметров

Возвращаемые значения

Return the LDAP error number of the last LDAP command for this link.

Примеры

Unless you lower your warning level in your php.ini sufficiently or prefix your LDAP commands with @ (at) characters to suppress warning output, the errors generated will also show up in your HTML output.

Пример #1 Generating and catching an error

Смотрите также

  • ldap_err2str() — Convert LDAP error number into string error message
  • ldap_error() — Return the LDAP error message of the last LDAP command

/привет/мир/etc

Периодические заметки о программировании

четверг, 31 октября 2013 г.

Что такое LDAP и с чем его едят

Эта статья — кратчайшее введение в LDAP и службы каталогов. Для иллюстрации излагаемого материала я буду пользоваться инструментом Softerra LDAP Browser, который можно свободно скачать с сайта производителя.

Концепцию служб каталогов и требования к их реализации определяет серия стандартов X.500 ITU-T. Здесь каталог — это специализированная база данных, оптимизированная для поиска и извлечения информации, также поддерживающая добавление и изменение данных.

Среди реализаций служб каталогов наиболее известные — OpenLDAP и MS Active Directory. Клиентами каталогов являются адресные книги почтовых клиентов, сетевые службы, такие как DNS, SMTP, корпоративные приложения и информационные системы.

Как правило, служба каталогов

  • реализует протокол для взаимодействия с клиентами,
  • поддерживает разграничение доступа,
  • поддерживает репликацию каталогов,
  • не поддерживает механизм транзакций.

Для взаимодействия со службами каталогов X.500 широко используется протокол LDAP (Lightweight Directory Access Protocol), специфицированный в RFC4510. LDAP работает поверх TCP/IP и является легковесной альтернативой протокола DAP (Directory Access Protocol), весьма требовательного к вычислительным ресурсам.

LDAP реализует протокол взаимодействия со службой каталогов и задает модель данных, соответствующую X.500. Эта модель данных такова:

  • В каталоге хранятся записи (entry).
  • Запись — это коллекция атрибутов (attribute), имеющая уникальное имя (Distinguished Name, DN).
  • Каждый атрибут имеет тип (type) и одно или несколько значений. Синтаксис значений зависит от типа.
  • Атрибут objectClass позволяет контролировать, какие атрибуты обязательны и какие допустимы в записи. Таким образом, записи, как и атрибуты, имеют тип (object class).
  • Записи в каталоге организованы иерархически в виде дерева.
  • Определения типов записей (object classes) и типов атрибутов сами являются записями в каталоге, в специальном поддереве, известном как schema.
Илон Маск рекомендует:  Что такое код hw_getsrcbydestobj

Запустим Softerra LDAP Browser и откроем одну из публичных служб каталогов, параметры соединения с которыми предустановлены по умолчанию. (Настроив соединение с MS Active Directory или OpenLDAP в вашей корпоративной сети, вы можете исследовать структуру и содержимое корпоративного каталога.)

Иерархическая организация данных в каталоге часто отражает географическую или организационную структуру. Записи на верхнем уровне могут представлять страны, на нижних — области стран и организации, еще ниже — отделы внутри организаций, людей, оборудование, ресурсы. А можно построить дерево по доменным именам Internet.

Текущая выбранная запись в каталоге Carnegie Mellon University (см. картинку выше) имеет уникальное имя DN o=CMRI,o=CMU,dc=cmu,dc=edu . Компоненты DN — имена узлов иерархической структуры от корневого до текущего (справа налево). Самый левый компонент DN называется относительным уникальным именем (Relative Distinguished Name, RDN). Таким образом, DN o=CMRI,o=CMU,dc=cmu,dc=edu состоит из RDN o=CMRI и DN родительской записи o=CMU,dc=cmu,dc=edu .

Можно рассматривать DN как абсолютный путь к файлу (по аналогии с файловой системой) или как первичный ключ записи в таблице (по аналогии с реляционной БД).

В рассматриваемом DN o=CMRI,o=CMU,dc=cmu,dc=edu два верхних уровня названы по доменным именам Internet. А уровнем ниже текущей записи располагаются записи, идентифицируемые значением атрибута ou (см. картинку выше). Здесь имена атрибутов, идентифицирующие записи разных уровней, имеют следующие значения:

dc аббревиатура от domain component o аббревиатура от organization ou аббревиатура от organizational unit

Эти имена, как и десятки других, — имена стандартных атрибутов, специфицированных в RFC 2256 и предназначенных для использования в объектных классах, описывающих людей, организации, их подразделения и т.п. Все реализациии LDAP поддерживают эти стандартные типы атрибутов. Вот еще несколько примеров: telephoneNumber , name , givenName , postalAddress , sn (аббревиатура от surname).

В рассматриваемой записи с DN o=CMRI,o=CMU,dc=cmu,dc=edu имеются три атрибута, objectClass , o и businessCategory , по каждому из которых можно искать эту запись в каталоге.

Для поиска записей в LDAP-каталоге задаются три компонента:

base DN (базовое уникальное имя) показывает, откуда в иерархии начать поиск scope (область поиска) показывает область поиска, одно из:

  • одна запись, идентифицированная base DN
  • записи уровнем ниже base DN, т.е. дочерние, но не внучатые
  • поддерево с корнем base DN, включая корень

filter (фильтр) задает условие отбора записей

Например, поиск по условию

вернет все записи из поддерева с корнем o=CMU,dc=cmu,dc=edu , удовлетворяющие фильтру (синтаксис фильтра в этом примере легко читаемый, но неправильный, см. далее).

На заметку: cуществуют специальные базовые DN для запроса информации о возможностях сервера, для доступа к схеме (schema) и данным мониторинга.

В Softerra LDAP Browser по Ctrl+F3 вызывается окно поиска, в котором удобно экспериментировать с параметрами поиска LDAP:

В фильтре можно использовать следующие проверки для атрибутов (атрибут ou взят для примера):

Заметьте, что отсутствуют проверки > и . Проверка на приближенное равенство

= использует фонетические сравнение. Расширенная проверка для сравнения образца со значением атрибута использует реализованное LDAP-сервером правило, идентификатор которого указан после двоеточия. Примеры выражений для проверки наличия подстроки (звездочка означает 0 или более символов):

Проверки в фильтре можно комбинировать при помощи логических операторов:

Внимание! Последний фильтр с NOT вернет также записи, не содержащие атрибута cn .

Формируя запрос, можно указать типы атрибутов, которые должны быть включены сервером каталога в ответ. Если список типов атрибутов пуст, то окно поиска LDAP Browser отображает идентифицирующие атрибуты найденных записей (это RDN) и DN родительских записей — вместе они образуют DN найденных записей. Поиск LDAP всегда возвращает DN найденных записей, помимо и независимо от списка атрибутов. Зададим явно список атрибутов, которые мы хотим видеть и повторим запрос (несуществующие типы атрибутов в списке игнорируются сервером и не приводят к ошибке):

Чтобы хорошо освоить синтаксис фильтра, попробуйте разные проверки и их логические комбинации.

Как уже упоминалось, служба каталогов позволяет не только извлекать, но также добавлять и модифицировать записи. Softerra LDAP Browser поддерживает только просмотр данных в каталоге, поэтому для внесения изменений в каталог необходим другой инструмент (например, платный Softerra LDAP Administrator).

Для работы с LDAP практически из любого языка программирования можно воспользоваться существующими библиотекми для этого языка. В будущих статьях, посвященных LDAP, я рассмотрю работу с MS Active Directory в Oracle PL/SQL и в языке программирования Python.

Аутентификация LDAP — настройки

Страница Аутентификация LDAP служит для настройки сервера LDAP с целью аутентификации пользователей устройств (многофункциональное периферийное устройство, цифровой копир или устройство цифровой отправки). Если аутентификация LDAP выбрана в качестве Способа регистрации для одного или нескольких Функций устройств на странице Диспетчер аутентификации, пользователь должен ввести действительные имя пользователя и пароль для получения доступа к этим функциям.

Процедура аутентификации состоит из двух взаимозависимых этапов. На первом этапе устройство проверяет имя пользователя и пароль на сервере LDAP. После ввода правильного имени пользователя и пароля и их проверки устройство ищет адрес электронной почты пользователя и его имя. При возникновении ошибки хотя бы на одном этапе блокируется доступ пользователя к функциям, требующим аутентификации LDAP.

На странице Аутентификация LDAP можно задать параметры доступа к серверу LDAP и поиска информации пользователя. Обратите внимание, что данную страницу можно использовать только в том случае, если LDAP выбран в качестве Способа регистрации на странице Диспетчер аутентификации.

Подключение к серверу LDAP

Способ привязки сервера LDAP

Параметр Способ привязки сервера LDAP определяет, как устройство будет осуществлять подключение к серверу LDAP. Обратитесь к администратору сервера LDAP, чтобы определить наиболее оптимальный для вас способ.

  • Простой — Выбранный сервер LDAP не поддерживает шифрование. Обратите внимание, что пароль (если он существует) будет отправлен по сети в открытом виде.
  • Простой через SSL — Выбранный сервер LDAP поддерживает шифрование с помощью протокола SSL. Все данные, в том числе имя пользователя и пароль, будут шифроваться. Сервер LDAP должен быть настроен для поддержки SSL, включая настройку сертификата для его идентификации. Кроме того, сетевой интерфейс устройства должен быть настроен с использованием сертификата Центра сертификации (CA) для проверки сервера LDAP. Сертификат CA настраивается на вкладке Сеть Web-интерфейса. В некоторых конфигурациях серверов LDAP необходимо также создавать сертификат клиента, который настраивается на этой же вкладке Сеть.
Илон Маск рекомендует:  Метка элемента формы label

Сервер LDAP

Параметр Сервер LDAP представляет собой имя хоста или IP-адрес сервера LDAP, которое будет использоваться для аутентификации пользователей устройства. В случае использования SSL введенное здесь имя или адрес должны соответствовать имени в сертификате, направляемом сервером.

В этом поле можно указать несколько серверов, разделяя их адреса знаком вертикальной полосы (‘|’, ASCII 0x7c). Эту функцию можно, например, использовать для указания основного и резервного серверов. Сетевой интерфейс поддерживает поддерживает только один сертификат CA, поэтому все серверы LDAP в этом списке должны использовать один сертификат CA.

Параметр Порт определяет номер порта TCP/IP, на котором сервер обрабатывает запросы LDAP. Обычно это порт 389 для Простой привязки или 636 для привязок Простой через SSL.

Имя пользователя и пароль для поиска

В аутентификации LDAP используется два способа аутентификации пользователя.

Первый способ называется Имя и пароль пользователя устройства ; он предполагает “конструирование” DN (отличительного имени) пользователя для аутентификации (“привязки”) в каталоге LDAP. В начало информации, вводимой пользователем на панели управления, добавляется Префикс DN , и данная строка добавляется к строке Привязка и начало поиска . Например префикс DN “CN” в сочетании с введенной пользователем строкой john.doe@nasa.gov и строкой привязки и начала поиска OU=Engineering,DC=NASA,DC=GOV определит DN пользователя: CN=john.doe@nasa.gov,OU=Engineering,DC=NASA,DC=GOV

Второй способ называется Использование имени пользователя и пароля администратора и позволяет искать DN пользователя вместо его «реконструкции». В данном способе для первоначальной привязки используются регистрационные данные администратора (DN и пароль), и начинается поиск DN пользователя, проходящего аутентификацию. При обнаружении DN этого пользователя устройство предпримет попытку выполнить аутентификацию с помощью полученного значения DN и пароля, введенного пользователем на панели управления устройства. Если аутентификация выполнена успешно, считывается адрес электронной почты пользователя и он получает доступ к функциям устройства.

Способ Имя и пароль пользователя устройства следует использовать, когда все пользователи находятся в одном контейнере каталога LDAP, а первым следует слагаемое DN, которое пользователь обычно использует для аутентификации. Обратите внимание, что допускается ввод нескольких строк привязки и начала поиска при условии разделения их знаком “|”, и устройство предпримет попытки поочередно аутентифицировать пользователя по каждому из значений привязки и начала поиска. Данный способ может быть применен, если пользователи находятся в нескольких контейнерах каталога LDAP.

Способ Использование имени пользователя и пароля администратора следует применять в том случае, если пользователи находятся в нескольких контейнерах, либо если первое слагаемое DN обычно неизвестно некоторым пользователям или не используется для аутентификации в других системах. При использовании этого способа пользователю может быть предложено ввести уникальный атрибут LDAP, такой как SAMAccountName или даже номер телефона пользователя — атрибут TelephoneNumber.

Имя и пароль пользователя устройства

В этом способе используется префикс привязки — строка, которую пользователь вводит на панели управления устройства, а также строка Привязка и начало поиска для воссоздания DN пользователя. Воссозданный DN используется для аутентификации пользователя.

Префикс привязки

Параметр Префикс привязки — это атрибут LDAP, используемый для построения DN пользователя для целей аутентификации. Этот префикс комбинируется с именем пользователя, введенным на панели управления, образуя относительное отличительное имя (RDN). Обычно используется префикс «CN» (для общего имени) или «UID» (для идентификатора пользователя).

Использование имени пользователя и пароля администратора

Это DN (отличительное имя) пользователя, имеющего права чтения каталога LDAP. Введенная здесь учетная запись может не иметь административного доступа к каталогу. Прав чтения достаточно.

Пароль пользователя, чей DN введен в поле «DN администратора».

Поиск по базе данных LDAP

Привязка и начало поиска

При выборе способа Имя и пароль пользователя устройства значение Привязка и начало поиска используется на обоих этапах аутентификации. На этапе проверки имени пользователя и пароля это значение комбинируется с RDN для воссоздания полного отличительного имени пользователя (DN). На этапе поиска информации пользователя это значение является DN записи LDAP, с которой начинается поиск.

При выборе способа Использование имени пользователя и пароля администратора строка Привязка и начало поиска используется только как начало поиска. Начало поиска в базе каталога LDAP может быть задано, и устройство выполнит поиск по всему дереву LDAP объекта пользователя, соответствующего введенному имени пользователя.

Строка состоит из пар «атрибут=значение», разделенных запятыми. Например:

При выборе способа «Имя и пароль пользователя устройства» в это поле можно ввести несколько несколько строк привязки, разделенных знаком вертикальной черты (‘|’, ASCII 0x7c). Это можно использовать, например, для указания альтернативных доменов LDAP. Устройство предпримет попытку привязать сервер LDAP, используя поочередно все строки в заданном порядке. После успешного выполнения привязки тот же корневой объект используется для поиска информации пользователя устройства.

Атрибут LDAP, соответствующий имени пользователя

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

Получение

адреса электронной почты, используя атрибут

После того, как пользователь устройства найден в базе данных LDAP, его электронный адрес находят в базе данных с помощью атрибута LDAP, указанного в поле адрес электронной почты, используя атрибут.

и имя, используя атрибут

Экранное имя пользователя получают из атрибута LDAP, указанного в поле имя, используя атрибут.

Тестирование

Функция Тестирование используется для проверки правильности параметров перед их применением. При нажатии этой кнопки вам будет предложено ввести имя пользователя и пароль, как если бы вы регистрировались на панели управления устройства. Если введенные регистрационные данные прошли аутентификацию и информация пользователя найдена в базе данных LDAP, появляется сообщение об успешном выполнении проверки. В противном случае появится сообщение об ошибке с указанием на отрицательный результат аутентификации.

Extended errno in LDAP

Following are the lines of my code in C:

Here the string 52e after data represents the extended error. Can anyone please suggest how do I access this extended error directly. Currently I am parsing the string to extract this value. Normally when I print LDAP_OPT_ERROR_NUMBER it returns just 49(INVALID_CREDENTIALS) but that is not sufficient for me. How do I get the code(only code) of extended error.
I even tried printing ld->ld_errno but it is not allowing me since no memory has been alloted to ld.

Илон Маск рекомендует:  Sum - Функция Delphi

Расширенный ERRNO в LDAP

Ниже приведены строки моего кода в C:

Здесь строка 52е после данных представляет собой расширенную ошибку. Может кто — нибудь предложить , пожалуйста , как получить доступ к этой расширенной ошибке непосредственно. В настоящее время я разбор строки для извлечения этого значения. Обычно , когда я печатаю LDAP_OPT_ERROR_NUMBER он возвращает только 49 (INVALID_CREDENTIALS) , но этого не достаточно для меня. Как я могу получить код (только код) расширенной ошибки.
Я даже попробовал печать ld-> ld_errno но это не позволяет мне так никакой памяти не было отведенное на л.д..

Вы должны разобрать строку ошибки для того , чтобы извлечь номер ошибки, так как вы не в состоянии увидеть код ошибки из структуры LDAP, потому что opaque datatype и вы можете получить доступ к элементу из LDAP structure только через routines который можно увидеть неполное определение структуры.

Что такое код ldap_errno

Доброго времени суток! Руководство поставило задачу поднять прокси-сервер для запуска сотрудников и мониторинга посещений через авторизацию на AD. Выбор упал на squid3 + Kerberos + групповая блокировка через AD (ext_kerberos_ldap_group_acl). Получилось сделать первые два, т.е. поднять сквида + авторизация через Kerberos на AD, однако блокировка доступа через ext_kerberos_ldap_group_acl не работает, из источников гугла(в частности и на вашем форуме) выяснил, что это может быть проблема с обратной зоной для домена или с библиотеками cyrus-sasl-gssapi, однако все установил, обратную зону сделал на домене(на прокси-сервере резолвится ptr без проблем).

[b]ОС [/b]- CentOS 7 x86_64 minimal
[b]Squid[/b] — v3.5.20

Вот что пишет ext_kerberos_ldap_group_acl при проверке пользователя в группе:

[root@vm-srv-proxy02 squid]# ./ext_kerberos_ldap_group_acl -d -a -i -g proxy_on@EXAMPLE.COM
kerberos_ldap_group.cc(278): p > support_group.cc(382): p > support_group.cc(447): p > support_netbios.cc(83): p > support_netbios.cc(87): p > support_lserver.cc(82): p > support_lserver.cc(86): p > [b]test@EXAMPLE.COM[/b] —Вот здесь ввожу пользователя в группе proxy_on
kerberos_ldap_group.cc(376): p > support_member.cc(63): p > support_member.cc(65): p > support_ldap.cc(898): p > support_krb5.cc(127): p > support_krb5.cc(138): p > support_krb5.cc(144): p > support_krb5.cc(158): p > support_krb5.cc(169): p > support_krb5.cc(181): p > support_krb5.cc(196): p > support_krb5.cc(260): p > support_ldap.cc(927): p > support_ldap.cc(933): p > support_resolv.cc(379): p > support_resolv.cc(183): p > support_resolv.cc(407): p > support_resolv.cc(443): p > support_resolv.cc(445): p > support_resolv.cc(445): p > support_ldap.cc(942): p > support_ldap.cc(953): p > support_sasl.cc(276): p > support_ldap.cc(957): p > support_ldap.cc(942): p > support_ldap.cc(953): p > support_sasl.cc(276): p > support_ldap.cc(957): p > support_ldap.cc(979): p > support_ldap.cc(1048): p > support_member.cc(76): p > support_member.cc(91): p > support_member.cc(119): p > ERR
kerberos_ldap_group.cc(411): p >
p.s. так же в /etc/default/squid установлено

KRB5_KTNAME=/etc/squid/proxy.keytab
export KRB5_KTNAME

Авторазация и блокировки работают (это видно в статистике squidanalyzer), но почему-то напрочь сквид отказывается работать с
ext_kerberos_ldap_acl_group

Прошу помощи, взаимопонимания(если где-то туплю) и указания в какую сторону копать, ибо перерыл уже весь инет и толком ничего не нашел.

Расширенный ERRNO в LDAP

December 2020

253 раз

Ниже приведены строки моего кода в C:

Здесь строка 52е после данных представляет собой расширенную ошибку. Может кто — нибудь предложить , пожалуйста , как получить доступ к этой расширенной ошибке непосредственно. В настоящее время я разбор строки для извлечения этого значения. Обычно , когда я печатаю LDAP_OPT_ERROR_NUMBER он возвращает только 49 (INVALID_CREDENTIALS) , но этого не достаточно для меня. Как я могу получить код (только код) расширенной ошибки.
Я даже попробовал печать ld-> ld_errno но это не позволяет мне так никакой памяти не было отведенное на л.д..

1 ответы

Вы должны разобрать строку ошибки для того , чтобы извлечь номер ошибки, так как вы не в состоянии увидеть код ошибки из структуры LDAP, потому что opaque datatype и вы можете получить доступ к элементу из LDAP structure только через routines который можно увидеть неполное определение структуры.

Invalid credentials (49) в ldap

убери из конфига все, что касается сасла и тлс.

еще проблема может быть в

access to attrs=lmPassword,ntPassword
by dn=»cn=root,ou=Users,dc=home,dc=ru» write
by * none

поправь на «cn=root,dc=home,dc=ru»

Re: Invalid credentials (49) в ldap

К сожалению не помогло :-(((

Re: Invalid credentials (49) в ldap

Re: Invalid credentials (49) в ldap

Re: Invalid credentials (49) в ldap

идиотизм, конечно, но попробуй пасс хотя бы 6 символов сделать.

да, откуда лдап ставил?

Re: Invalid credentials (49) в ldap

да, результат прогона slaptest фстудию.

Re: Invalid credentials (49) в ldap

Re: Invalid credentials (49) в ldap

Re: Invalid credentials (49) в ldap

а ldap.conf редактировал?

у меня такое ощущение, что твои файлы лежат совсем не в том месте, где им лежать положено :))

Re: Invalid credentials (49) в ldap

вообще было бы намного лучше, если бы ты стукнул в 9996421 или eill(chewbakka)jabber.ru.

быстрее бы решили твою проблему.

Re: Invalid credentials (49) в ldap

ставил я openldap-stable-20060227 (откуда не помню)

конфиг файлы лежат в /etc/openldap/slapd.conf (который выложен на форуме) там же находится некий ldap.conf #——————————————————————- # LDAP Defaults # # See ldap.conf(5) for details # This file should be world readable but not world writable. BASE dc=home, dc=ru URI ldap://127.0.0.1 #ldap://ldap-master.example.com:666 #SIZELIMIT 12 #TIMELIMIT 15 #DEREF never ———————————————————————— и еше один ldap.conf находится в /etc/ host 127.0.0.1 base dc=home,dc=ru ldap_version 3 rootbinddn cn=root,dc=home,dc=ru scope one pam_filter object > почта не прошла :-((

Re: Invalid credentials (49) в ldap

Re: Invalid credentials (49) в ldap

в общем, посмотри в /usr/local/etc/openldap

для того, чтобы таких экцессов не было, надо собирать важные проги с —sysconfdir=/etc/чего-то-там.

у меня к примеру все, что имеет отношение к почтовику (а это openldap, posfix, courier-imap, clamav, dspam и postgrey) хранит свои конфиги в /etc/mail.

в результате получаем точную и четкую логическую структуру, где сразу ясно, где что искать.

eill@mail:/etc/mail$ ls -l -1
итого 2
drwxr-xr-x 2 root root 80 2006-04-25 09:48 amavisd/
drwxr-xr-x 2 root root 112 2006-05-01 09:18 clamav/
drwxr-xr-x 5 root root 472 2006-05-02 11:34 courier/
drwxr-xr-x 2 sweep sweep 80 2006-05-05 17:22 dspam/
drwxr-xr-x 3 root root 584 2006-05-01 10:00 oldconf/
drwxr-xr-x 3 root root 256 2006-05-05 17:35 openldap/
drwxr-xr-x 2 root root 1144 2006-05-10 18:32 postfix/
drwxr-xr-x 4 1235 root 288 2006-04-20 17:14 spamassassin/
eill@mail:/etc/mail$

З.Ы. amavisd и sa не используются, dspam гораздо быстрее :)

Что такое код ldap_errno

(PHP 3>= 3.0.12, PHP 4)

ldap_errno — возвращает номер LDAP-ошибки последней LDAP-команды.

Описание

int ldap_errno (resource link_identifier)

Возвращает номер LDAP-ошибки последней LDAP-команды для данной ссылки.

Эта функция возвращает стандартизованный номер ошибки, возвращённой последней LDAP-командой для данного идентификатора ссылки link_identifier . Это число может быть конвертировано в текстовое сообщение об ошибке с помощью ldap_err2str() .

Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL