The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Сети, протоколы, сервисы" / Оглавление документа


H. Коды возврата LDAP

В рамках данного руководства мы включили стандартные коды возврата LDAP из Приложения A. Коды возврата LDAP RFC4511(рус.), копия которого есть в директории doc/rfc исходных кодов OpenLDAP.

Мы приводим развёрнутое описание каждой ошибки, применительно к работе набора инструментов OpenLDAP. Расширения LDAP могут возвращать специфичные для них коды возврата, не являющиеся частью RFC4511(рус.). Для расширений, реализованных в OpenLDAP, возвращаются соответствующие коды возврата. Их значения описаны в документации к соответствующему расширению.


H.1. Неошибочные коды возврата

Эти коды возврата (называемые "неошибочными") не указывают на возникновение ошибки:

        success (0),
        compareFalse (5),
        compareTrue (6),
        referral (10) и
        saslBindInProgress (14).

Коды возврата success, compareTrue и compareFalse указывают на успешное завершение (и, соответственно, называются "успешными").

Коды возврата referral и saslBindInProgress указывают клиенту, что для завершения операции нужно произвести дополнительное действие.


H.2. Коды возврата

Далее приведены описания существующих кодов возврата LDAP.


H.3. success (0) — успех

Указывает на успешное завершение операции.


Примечание: этот код не используется при операциях сравнения (Compare). Смотрите compareFalse (5) и compareTrue (6).


H.4. operationsError (1) — ошибка операций

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

Например, этот код возвращается, если клиент пытается выполнить StartTLS (раздел 4.14 RFC4511(рус.)) в тот момент, когда выполнение других операций не закончено, либо когда слой TLS уже был установлен.


H.5. protocolError (2) — ошибка протокола

Указывает на получение сервером некорректно сформированных данных.

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

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

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


H.6. timeLimitExceeded (3) — превышение ограничения времени

Указывает, что заданное клиентом ограничение времени превышено до окончания операции.


H.7. sizeLimitExceeded (4) — превышение ограничения размера

Указывает, что заданное клиентом ограничение размера превышено до окончания операции.


H.8. compareFalse (5) — сравнение выявило ложь

Указывает, что операция сравнения (Compare) завершилась удачно и утверждение оказалось ложным (FALSE) или неопределённым (Undefined).


H.9. compareTrue (6) — сравнение выявило истину

Указывает, что операция сравнения (Compare) завершилась удачно и утверждение оказалось истинным (TRUE).


H.10. authMethodNotSupported (7) — метод аутентификации не поддерживается

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


H.11. strongerAuthRequired (8) — требуется более строгая аутентификация

Указывает, что для завершения операции сервер требует строгой (более строгой) аутентификации.

При использовании операции с уведомлением о рассоединении (Notice of Disconnection), этот код указывает, что сервер обнаружил неожиданный обрыв или компрометацию установленного защищенного соединения между клиентом и сервером.


H.12. referral (10) — отсылка

Указывает, что для завершения операции требуется переход по отсылке (смотрите раздел 4.1.10 RFC4511(рус.)).


H.13. adminLimitExceeded (11) — превышение административного ограничения

Указывает, что было превышено административное ограничение.


H.14. unavailableCriticalExtension (12) — недоступное критическое расширение

Указывает на то, что критический элемент управления не распознан (смотрите раздел 4.1.11 RFC4511(рус.)).


H.15. confidentialityRequired (13) — требуется конфиденциальность

Указывает на то, что требуется защита конфиденциальности данных.


H.16. saslBindInProgress (14) — выполняется подсоединение SASL

Указывает, что для продолжения процесса аутентификации сервер требует посылки клиентом нового запроса на подсоединение, с тем же самым механизмом SASL (смотрите раздел 4.2 RFC4511(рус.)).


H.17. noSuchAttribute (16) — нет такого атрибута

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


H.18. undefinedAttributeType (17) — неопределённый тип атрибута

Указывает, что запрашиваемое поле содержит описание нераспознанного атрибута.


H.19. inappropriateMatching (18) — неподходящее соответствие

Указывает, что была предпринята попытка (например, в утверждении) использовать правило соответствия, не определённое для представленного в операции типа атрибута.


H.20. constraintViolation (19) — нарушение ограничений

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

Например, этот код возвращается, когда атрибуту, имеющему ограничение на присвоение одного значения (SINGLE-VALUE), присваивается несколько значений.


H.21. attributeOrValueExists (20) — атрибут или значение существует

Указывает, что клиент предоставил атрибут или значение для добавления к записи, но такой атрибут или значение уже существует.


H.22. invalidAttributeSyntax (21) — неверный синтаксис атрибута

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


H.23. noSuchObject (32) — нет такого объекта

Указывает, что объект не существует в DIT.


H.24. aliasProblem (33) — проблема с псевдонимом

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


H.25. invalidDNSyntax (34) — неверный синтаксис DN

Указывает, что запрошенное поле LDAPDN или RelativeLDAPDN (например, в базе поиска, целевой записи, операции ModifyDN newrdn, и т.д.) не соответствует требуемому синтаксису или содержит значения атрибутов, не соответствующие синтаксису данных типов атрибутов.


H.26. aliasDereferencingProblem (36) — проблема с разыменованием псевдонима

Указывает, что возникла проблема при разыменовании псевдонима. Обычно такое случается, когда псевдоним появляется там, где он не разрешен, или доступ к нему запрещён.


H.27. inappropriateAuthentication (48) — несоответствующая аутентификация

Указывает на то, что сервер требует от клиента предоставить учётные данные в какой-либо форме, когда тот пытается подключиться анонимно или без указания учётных данных.


H.28. invalidCredentials (49) — неверные учётные данные

Указывает, что предоставленные учётные данные (например, имя пользователя и пароль) являются неверными.


H.29. insufficientAccessRights (50) — недостаточные права доступа

Указывает, что клиент не имеет достаточных прав доступа для выполнения операции.


H.30. busy (51) — занят

Указывает, что сервер слишком занят чтобы обслужить операцию.


H.31. unavailable (52) — недоступен

Указывает, что сервер остановлен, либо подсистема, требуемая для завершения операции, недоступна.


H.32. unwillingToPerform (53) — не желают выполнять

Указывает, что сервер не желает выполнять операцию.


H.33. loopDetect (54) — обнаружено зацикливание

Указывает, что сервер обнаружил внутреннее зацикливание (например, при разыменовании псевдонима или при выполнении цепочки операций).


H.34. namingViolation (64) — нарушение именования

Указывает, что имя записи нарушает ограничения именования.


H.35. objectClassViolation (65) — нарушение объектного класса

Указывает, что запись нарушает ограничения объектного класса.


H.36. notAllowedOnNonLeaf (66) — не разрешено на нелистовой записи

Указывает, что выполняемая операция является недопустимым действием на нелистовой записи.


H.37. notAllowedOnRDN (67) — не разрешено на RDN

Указывает, что выполняемая операция является недопустимой попыткой удаления значения, которое формирует относительное уникальное имя записи.


H.38. entryAlreadyExists (68) — запись уже существует

Указывает, что запрос (на добавление, перемещение, переименование) не может быть выполнен, поскольку целевая запись уже существует.


H.39. objectClassModsProhibited (69) — изменение объектного класса запрещено

Указывает, что попытка изменить объектный класс (классы) в атрибуте 'objectClass' записи запрещена.

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


H.40. affectsMultipleDSAs (71) — оказывается влияние на несколько DSA

Указывает, что выполняемая операция не может быть разрешена, поскольку это повлияет на несколько серверов (DSA).


H.41. other (80) — другое

Указывает, что на сервере произошла внутренняя ошибка.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру