You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2024/11/29 13:41:19 UTC

(directory-site) branch master updated: Added the LdapResult schema

This is an automated email from the ASF dual-hosted git repository.

elecharny pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/directory-site.git


The following commit(s) were added to refs/heads/master by this push:
     new 38de003e Added the LdapResult schema
38de003e is described below

commit 38de003e9812471242d08d640e9793f1d0840577
Author: emmanuel lecharny <el...@apache.org>
AuthorDate: Fri Nov 29 14:41:13 2024 +0100

    Added the LdapResult schema
---
 source/api/internal-design-guide/4-asn1.md | 70 ++++++++++++++++++++++++++++++
 1 file changed, 70 insertions(+)

diff --git a/source/api/internal-design-guide/4-asn1.md b/source/api/internal-design-guide/4-asn1.md
index 87c6de7b..9c38a494 100644
--- a/source/api/internal-design-guide/4-asn1.md
+++ b/source/api/internal-design-guide/4-asn1.md
@@ -186,6 +186,76 @@ Now, here is the sub-message **protocolOp**:
 It covers all the existing **LDAP** messages.
 
 
+#### LdapResult
+
+The **LDAPResult** element is part of all the **LDAP** response. It contains the following informations:
+
+* A result code, indicating either a success (code 0) or an error (code from 1 to 80, but it may be higher in a future version)
+* A DN representing the associated entry 
+* A diagnistic message in case of an error
+* An optional list of LDP URL that may be able to process the operation.
+
+Here is the complete grammar, as defined in [RFC4511](https://www.rfc-editor.org/rfc/rfc4511):
+
+```
+LDAPResult ::= SEQUENCE {
+             resultCode         ENUMERATED {
+                  success                      (0),
+                  operationsError              (1),
+                  protocolError                (2),
+                  timeLimitExceeded            (3),
+                  sizeLimitExceeded            (4),
+                  compareFalse                 (5),
+                  compareTrue                  (6),
+                  authMethodNotSupported       (7),
+                  strongerAuthRequired         (8),
+                  referral                     (10),
+                  adminLimitExceeded           (11),
+                  unavailableCriticalExtension (12),
+                  confidentialityRequired      (13),
+                  saslBindInProgress           (14),
+                  noSuchAttribute              (16),
+                  undefinedAttributeType       (17),
+                  inappropriateMatching        (18),
+                  constraintViolation          (19),
+                  attributeOrValueExists       (20),
+                  invalidAttributeSyntax       (21),
+                  noSuchObject                 (32),
+                  aliasProblem                 (33),
+                  invalidDNSyntax              (34),
+                  aliasDereferencingProblem    (36),
+                  inappropriateAuthentication  (48),
+                  invalidCredentials           (49),
+                  insufficientAccessRights     (50),
+                  busy                         (51),
+                  unavailable                  (52),
+                  unwillingToPerform           (53),
+                  loopDetect                   (54),
+                  namingViolation              (64),
+                  objectClassViolation         (65),
+                  notAllowedOnNonLeaf          (66),
+                  notAllowedOnRDN              (67),
+                  entryAlreadyExists           (68),
+                  objectClassModsProhibited    (69),
+                  affectsMultipleDSAs          (71),
+                  other                        (80),
+                  ...  },
+             matchedDN          OCTET STRING,
+             diagnosticMessage  OCTET STRING,
+             referral           [3] Referral OPTIONAL }
+
+        Referral ::= SEQUENCE SIZE (1..MAX) OF uri OCTET STRING
+
+        URI ::= LDAPString     -- limited to characters permitted in
+                               -- URIs
+
+```
+
+The associated state machine is given by this schema:
+
+<img src="images/asn1-ldap-result.png" alt="LDAPResult state machine" width="100%"/>
+
+
 #### BindRequest message
 
 The _BindRequest_ message grammar is the following: