RFC 3383

Internet Assigned Numbers Authority (IANA) Considerations for the Lightweight Directory Access Protocol (LDAP)

πŸ“… published September 2002, from ietf

RFC 3383: IANA Considerations for the Lightweight Directory Access Protocol (LDAP) πŸŽ€

Part 1 of 4 ✨

okay bestie, let's get into it πŸ’– this one is a Best Current Practice (BCP 64), so it's basically the official how-to guide for IANA, the folks who keep the registries, when they're handing out new numbers and names for LDAP.

  • Series: Network Working Group
  • Author: K. Zeilenga, OpenLDAP Foundation
  • Category: Best Current Practice (BCP: 64)
  • Date: September 2002
  • Obsoletes / Updates: nothing is listed as obsoleted or updated πŸ™ˆ

Status of this Memo 🌸

okay so this doc is an Internet Best Current Practice for the Internet Community, and it's literally asking for discussion and suggestions for improvements 🫢 distribution of this memo is unlimited ✨

Copyright (C) The Internet Society (2002). All Rights Reserved.

Abstract πŸ¦‹

this doc lays out the procedures for registering the extensible elements of LDAP 🧚 it also gives IANA guidelines on when new values can be assigned.

1. Introduction ✨

LDAP [RFC3377] is an extensible protocol, and it's giving main character energy πŸ’… it supports:

  • addition of new operations,
  • extension of existing operations, and
  • extensible schema.

this document details how to register the values used to unambiguously identify the extensible elements of the protocol, including:

  • LDAP message types;
  • LDAP extended operations and controls;
  • LDAP result codes;
  • LDAP authentication methods;
  • LDAP attribute description options; and
  • Object Identifier descriptors.

IANA maintains these registries πŸ‘‘

on top of that, this document gives IANA guidelines on the conditions under which new values can be assigned 🌈

2. Terminology and Conventions πŸ’…

this section covers the terms and conventions used in the rest of the doc πŸŽ€

2.1. Policy Terminology

the terms "IESG Approval", "Standards Action", "IETF Consensus", "Specification Required", "First Come First Served", "Expert Review", and "Private Use" are used as defined in BCP 26 [RFC2434] ✨

2.2. Requirement Terminology

okay this part is so important πŸ”₯ the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119]. here, "the specification" (as BCP 14 uses it) means the processing of protocols that are being submitted to the IETF standards process 🧠

2.3. Common ABNF Productions

a bunch of the syntaxes in this doc are written in ABNF [RFC2234], and they all lean on these shared productions πŸ“

   ALPHA = %x41-5A / %x61-7A    ; A-Z / a-z

   LDIGIT = %x31-39             ; 1-9

   DIGIT = %x30 / LDIGIT        ; 0-9

   HYPHEN = %x2D                ; "-"

   DOT = %x2E                   ; "."

   number = DIGIT / ( LDIGIT 1*DIGIT )

   keychar = ALPHA / DIGIT / HYPHEN

   leadkeychar = ALPHA

   keystring = leadkeychar *keychar

a keyword is a case-insensitive string of UTF-8 [RFC2279] encoded characters from the Universal Character Set (UCS) [ISO10646], restricted to the <keystring> production πŸ’–

3. IANA Considerations for LDAP 🌸

this section goes through each kind of protocol value that can be registered, and it gives IANA the rules for assigning new values πŸ¦‹

IANA may reject obviously bogus registration requests πŸ™ˆ

3.1. Object Identifiers 🧚

tons of LDAP schema and protocol elements are identified by Object Identifiers. specifications that assign OIDs to elements SHOULD state who delegated the OIDs for its use 🫢

for IETF developed elements, specifications SHOULD use OIDs under "Internet Directory Numbers" (1.3.6.1.1.x) πŸ’… numbers under this OID arc will be assigned upon Expert Review with Specification Required. only one OID per specification will be assigned. after that, the specification MAY assign any number of OIDs within this arc without further coordination with IANA πŸŽ€

for elements developed by others, any properly delegated OID can be used, including those under "Internet Private Enterprise Numbers" (1.3.6.1.4.1.x), which are assigned by IANA <http://www.iana.org/cgi-bin/enterprise.pl> ✨

to avoid interoperability problems between early implementations of "works in progress" and implementations of the published specification (e.g., the RFC), experimental OIDs SHOULD be used in "works in progress" and early implementations 😭 OIDs under the Internet Experimental OID arc (1.3.6.1.3.x) may be used for this purpose 🌈

experimental OIDs are not to be used in published specifications (e.g., RFCs) πŸ’€

practices for IANA assignment of Internet Enterprise and Experimental OIDs are detailed in STD 16 [RFC1155] πŸ”₯


part 1 of 4 is done, bestie πŸ¦‹ keep reading for section 3.2 and onward! πŸ’œ

4. Registration Procedure ✨

Okay bestie, listen up 🫢 The procedure here MUST be used by anyone who wants a new value of a type described in Section 3 of this document. No skipping, no shortcuts, periodt πŸ’…

Step one is filling out the right form. The templates live in Appendix A, so go grab one πŸ“

If the policy is Standards Action, the completed form SHOULD be given to the IESG along with the request for Standards Action πŸ”₯ Once the Standards Action is approved, the IESG SHALL forward the request (possibly revised) to IANA. The IESG SHALL be viewed as the owner of all values that need Standards Action, so it's their baby now πŸ‘‘

If the policy is Expert Review, the requester SHALL post the completed form to the <directory@apps.ietf.org> mailing list for public review πŸ“¬ The review period is two (2) weeks. If a revised form gets submitted later, the review period starts over from scratch. Anyone can subscribe by sending a request to <directory-request@apps.ietf.org>. During the review, anyone (including the Expert) can raise objections on the list. Once the review wraps up, the Expert, based on public comments, SHALL either approve the request and forward it to the IESG OR deny the request. Either way, the Expert SHALL promptly notify the requester of the outcome πŸ’Œ Actions taken by the Expert can be appealed [RFC2026]. The Expert is appointed by Applications Area Director(s). The requester is viewed as the owner of values registered under Expert Review 🌸

If the policy is First Come First Served, the requester SHALL submit the completed form directly to IANA at <iana@iana.org> πŸ¦‹ The requester is viewed as the owner of values registered under First Come First Served.

Neither the Expert nor IANA is going to take a position on copyright or trademark claims made in completed forms. Not their drama πŸ™ˆ

Before the Internet Draft (I-D) goes to the RFC Editor, but after IESG review and tentative approval, the document editor SHOULD revise the I-D to use registered values ✨


5. Registration Maintenance 🧹

Here's where we talk about keeping registrations tidy over time 🌈

5.1. Lists of Registered Values

IANA keeps lists of registered values readily available to the Internet community on their web site: <http://www.iana.org/>. Go look, it's all right there πŸ“

5.2. Change Control

The registration owner MAY update the registration, but it's subject to the same constraints and review as new registrations πŸ’œ If the owner is unable or unwilling to make necessary updates, the IESG MAY assert ownership in order to update the registration. Main character energy from the IESG, ngl πŸ‘‘

5.3. Comments

For cases where others (anyone other than the owner) have significant objections to the claims in a registration, and the owner doesn't agree to change it, comments MAY be attached to the registration upon Expert Review πŸ—£οΈ For registrations owned by the IESG, the objections SHOULD be addressed by starting a request for Expert Review.

The form of these requests is ad hoc, but they MUST include the specific objections to be reviewed, and they SHOULD contain (directly or by reference) materials supporting the objections πŸ“š


6. Security Considerations πŸ”

Security is no joke, so let's be serious for a sec 😭 The security considerations detailed in [RFC2434] are generally applicable to this document. Additional security considerations specific to each namespace are discussed in Section 3 where appropriate.

Security considerations for LDAP are discussed in the documents making up the technical specification [RFC3377]. Go read those too, they're the real deal πŸ›‘οΈ


7. Acknowledgment 🫢

This document is a product of the IETF LDAP Revision (LDAPbis) Working Group. Some text was borrowed from "Guidelines for Writing an IANA Considerations Section in RFCs" [RFC2434] by Thomas Narten and Harald Alvestrand. Respect to the crew who made this happen 🌸


8. Normative References πŸ“–

  • [RFC1155] Rose, M. and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based Internets", STD 16, RFC 1155, May 1990.
  • [RFC2026] Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, October 1996.
  • [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
  • [RFC2234] Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", RFC 2234, November 1997.
  • [RFC2251] Wahl, M., Howes, T. and S. Kille, "Lightweight Directory Access Protocol (v3)", RFC 2251, December 1997.
  • [RFC2252] Wahl, M., Coulbeck, A., Howes, T. and S. Kille, "Lightweight Directory Access Protocol (v3): Attribute Syntax Definitions", RFC 2252, December 1997.
  • [RFC2255] Howes, T. and M. Smith, "The LDAP URL Format", RFC 2255, December, 1997.
  • [RFC2256] Wahl, M., "A Summary of the X.500(96) User Schema for use with LDAPv3", RFC 2256, December 1997.
  • [RFC2279] Yergeau, F., "UTF-8, a transformation format of ISO 10646", RFC 2279, January 1998.
  • [RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.
  • [RFC3377] Hodges, J. and R. Morgan, "Lightweight Directory Access Protocol (v3): Technical Specification", RFC 3377, September 2002.
  • [IANADSN] IANA, "Directory Systems Names", http://www.iana.org/assignments/directory-system-names
  • [ISO10646] Universal Multiple-Octet Coded Character Set (UCS) - Architecture and Basic Multilingual Plane, ISO/IEC 10646-1: 1993.

10. Informative References 🧠

  • [RFC1779] Kille, S., "A String Representation of Distinguished Names", RFC 1779, March 1995.
  • [RFC2222] Myers, J., "Simple Authentication and Security Layer (SASL)", RFC 2222, October 1997.

Appendix A. Registration Templates πŸ“‹

This appendix has the registration templates for registering new LDAP values. Copy, paste, fill in, slay ✨

A.1. LDAP Object Identifier Registration Template

Subject: Request for LDAP OID Registration

Person & email address to contact for further information:

Specification: (I-D)

Author/Change Controller:

Comments:

(Any comments that the requester deems relevant to the request)

A.2. LDAP Protocol Mechanism Registration Template

Subject: Request for LDAP Protocol Mechanism Registration

Object Identifier:

Description:

Person & email address to contact for further information:

Usage: (One of Control or Extension)

Specification: (I-D)

Author/Change Controller:

Comments:

(Any comments that the requester deems relevant to the request)

A.3. LDAP Descriptor Registration Template

Subject: Request for LDAP Descriptor Registration

Descriptor (short name):

Object Identifier:

Person & email address to contact for further information:

Usage: (One of attribute type, URL extension,
          object class, or other)

Specification: (RFC, I-D, URI)

Author/Change Controller:

Comments:

(Any comments that the requester deems relevant to the request)

A.4. LDAP Attribute Description Option Registration Template

Subject: Request for LDAP Attribute Description Option Registration

Option Name:

Family of Options: (YES or NO)

Person & email address to contact for further information:

Specification: (RFC, I-D, URI)

Author/Change Controller:

Comments:

(Any comments that the requester deems relevant to the request)

A.5. LDAP Message Type Registration Template

Subject: Request for LDAP Message Type Registration

LDAP Message Name:

Person & email address to contact for further information:

Specification: (Approved I-D)

Comments:

(Any comments that the requester deems relevant to the request)

A.6. LDAP Result Code Registration Template

Subject: Request for LDAP Result Code Registration

Result Code Name:

Person & email address to contact for further information:

Specification: (RFC, I-D, URI)

Author/Change Controller:

Comments:

(Any comments that the requester deems relevant to the request)

A.7. LDAP Authentication Method Registration Template

Subject: Request for LDAP Authentication Method Registration

Authentication Method Name:

Person & email address to contact for further information:

Specification: (RFC, I-D, URI)

Intended Usage: (One of COMMON, LIMITED-USE, OBSOLETE)

Author/Change Controller:

Comments:

(Any comments that the requester deems relevant to the request)

Appendix B. Assigned Values πŸŽ€

The following values are currently assigned. Here's the tea β˜•

B.1. Object Identifiers

Currently registered "Internet Private Enterprise Numbers" can be found at <http://www.iana.org/assignments/enterprise-numbers>.

Currently registered "Internet Directory Numbers" can be found at <http://www.iana.org/assignments/smi-numbers>.

B.2. Protocol Mechanisms

Object Identifier           Type Description     Reference
--------------------------  ---- --------------  ---------
1.2.840.113556.1.4.473      C    Sort Request     [RFC2891]
1.2.840.113556.1.4.474      C    Sort Response    [RFC2891]
1.3.6.1.4.1.1466.101.119.1  E    Dynamic Refresh  [RFC2589]
1.3.6.1.4.1.1466.20037      E    Start TLS        [RFC2830]
1.3.6.1.4.1.4203.1.11.1     E    Modify Password  [RFC3062]
2.16.840.1.113730.3.4.2     C    ManageDsaIT      [RFC3296]

Legend
------------------------
C => supportedControl
E => supportedExtension

B.3. Object Identifier Descriptors 🧚

okay bestie, this is the big lookup table πŸ’… every name here gets paired with its OID and the reference that defines it, so you can find any descriptor you need fast ✨

NAME                         Type OID [REF]
------------------------     ---- -----------------
account                         O 0.9.2342.19200300.100.4.5 [RFC1274]
alias                           O 2.5.6.1 [RFC2256]
aliasedEntryName                A 2.5.4.1 [X.501]
aliasedObjectName               A 2.5.4.1 [RFC2256]
altServer                       A 1.3.6.1.4.1.1466.101.120.6 [RFC2252]
applicationEntity               O 2.5.6.12 [RFC2256]
applicationProcess              O 2.5.6.11 [RFC2256]
aRecord                         A 0.9.2342.19200300.100.1.26 [RFC1274]
associatedDomain                A 0.9.2342.19200300.100.1.37 [RFC1274]
associatedInternetGateway       A 1.3.6.1.4.1.453.7.2.8 [RFC2164]
associatedName                  A 0.9.2342.19200300.100.1.38 [RFC1274]
associatedORAddress             A 1.3.6.1.4.1.453.7.2.6 [RFC2164]
associatedX400Gateway           A 1.3.6.1.4.1.453.7.2.3 [RFC2164]
attributeTypes                  A 2.5.21.5 [RFC2252]
audio                           A 0.9.2342.19200300.100.1.55 [RFC1274]
authorityRevocationList         A 2.5.4.38 [RFC2256]
bitStringMatch                  M 2.5.13.16 [RFC2252]
buildingName                    A 0.9.2342.19200300.100.1.48 [RFC1274]
businessCategory                A 2.5.4.15 [RFC2256]
C                               A 2.5.4.6 [RFC2256]
cACertificate                   A 2.5.4.37 [RFC2256]
calCalAdrURI                    A 1.2.840.113556.1.4.481 [RFC2739]
calCalURI                       A 1.2.840.113556.1.4.478 [RFC2739]
calCAPURI                       A 1.2.840.113556.1.4.480 [RFC2739]
calEntry                        O 1.2.840.113556.1.5.87 [RFC2739]
calFBURL                        A 1.2.840.113556.1.4.479 [RFC2739]
calOtherCalAdrURIs              A 1.2.840.113556.1.4.485 [RFC2739]
calOtherCalURIs                 A 1.2.840.113556.1.4.482 [RFC2739]
calOtherCAPURIs                 A 1.2.840.113556.1.4.484 [RFC2739]
calOtherFBURLs                  A 1.2.840.113556.1.4.483 [RFC2739]
caseExactIA5Match               M 1.3.6.1.4.1.1466.109.114.1 [RFC2252]
caseIgnoreIA5Match              M 1.3.6.1.4.1.1466.109.114.2 [RFC2252]
caseIgnoreListMatch             M 2.5.13.11 [RFC2252]
caseIgnoreMatch                 M 2.5.13.2 [RFC2252]
caseIgnoreOrderingMatch         M 2.5.13.3 [RFC2252]
caseIgnoreSubstringsMatch       M 2.5.13.4 [RFC2252]
certificateRevocationList       A 2.5.4.39 [RFC2256]
certificationAuthority          O 2.5.6.16 [RFC2256]
certificationAuthority-V2       O 2.5.6.16.2 [RFC2256]
CN                              A 2.5.4.3 [RFC2256]
cNAMERecord                     A 0.9.2342.19200300.100.1.31 [RFC1274]
co                              A 0.9.2342.19200300.100.1.43 [RFC1274]
commonName                      A 2.5.4.3 [RFC2256]
country                         O 2.5.6.2 [RFC2256]
countryName                     A 2.5.4.6 [RFC2256]
createTimestamp                 A 2.5.18.1 [RFC2252]
creatorsName                    A 2.5.18.3 [RFC2252]
cRLDistributionPoint            O 2.5.6.19 [RFC2256]
crossCertificatePair            A 2.5.4.40 [RFC2256]
DC                              A 0.9.2342.19200300.100.1.25 [RFC2247]
dcObject                        O 1.3.6.1.4.1.1466.344 [RFC2247]
deltaCRL                        O 2.5.6.23 [RFC2587]
deltaRevocationList             A 2.5.4.53 [RFC2256]
description                     A 2.5.4.13 [RFC2256]
destinationIndicator            A 2.5.4.27 [RFC2256]
device                          O 2.5.6.14 [RFC2256]
distinguishedName               A 2.5.4.49 [RFC2256]
distinguishedNameMatch          M 2.5.13.1 [RFC2252]
distinguishedNameTableEntry     O 1.3.6.1.4.1.453.7.1.5 [RFC2293]
distinguishedNameTableKey       A 1.3.6.1.4.1.453.7.2.3 [RFC2293]
dITContentRules                 A 2.5.21.2 [RFC2252]
dITRedirect                     A 0.9.2342.19200300.100.1.54 [RFC1274]
dITStructureRules               A 2.5.21.1 [RFC2252]
dmd                             O 2.5.6.20 [RFC2256]
dmdName                         A 2.5.4.54 [RFC2256]
dnQualifier                     A 2.5.4.46 [RFC2256]
dNSDomain                       O 0.9.2342.19200300.100.4.15 [RFC1274]
document                        O 0.9.2342.19200300.100.4.6 [RFC1274]
documentAuthor                  A 0.9.2342.19200300.100.1.14 [RFC1274]
documentIdentifier              A 0.9.2342.19200300.100.1.11 [RFC1274]
documentLocation                A 0.9.2342.19200300.100.1.15 [RFC1274]
documentPublisher               A 0.9.2342.19200300.100.1.56 [RFC1274]
documentSeries                  O 0.9.2342.19200300.100.4.8 [RFC1274]
documentTitle                   A 0.9.2342.19200300.100.1.12 [RFC1274]
documentVersion                 A 0.9.2342.19200300.100.1.13 [RFC1274]
domain                          O 0.9.2342.19200300.100.4.13 [RFC2247]
domainComponent                 A 0.9.2342.19200300.100.1.25 [RFC2247]
domainNameForm                  N 1.3.6.1.4.1.1466.345 [RFC2247]
domainRelatedObject             O 0.9.2342.19200300.100.4.17 [RFC1274]
drink                           A 0.9.2342.19200300.100.1.5 [RFC1274]
dSA                             O 2.5.6.13 [RFC2256]
dSAQuality                      A 0.9.2342.19200300.100.1.49 [RFC1274]
dynamicObject                   O 1.3.6.1.4.1.1466.101.119.2 [RFC2589]
dynamicSubtrees                 A 1.3.6.1.4.1.1466.101.119.4 [RFC2589]
enhancedSearchGuide             A 2.5.4.47 [RFC2256]
entryTtl                        A 1.3.6.1.4.1.1466.101.119.3 [RFC2589]
extensibleObject                O 1.3.6.1.4.1.1466.101.120.111 [RFC2252]
facsimileTelephoneNumber        A 2.5.4.23 [RFC2256]
favouriteDrink                  A 0.9.2342.19200300.100.1.5 [RFC1274]
friendlyCountry                 O 0.9.2342.19200300.100.4.18 [RFC1274]
friendlyCountryName             A 0.9.2342.19200300.100.1.43 [RFC1274]
generalizedTimeMatch            M 2.5.13.27 [RFC2252]
generalizedTimeOrderingMatch    M 2.5.13.28 [RFC2252]
generationQualifier             A 2.5.4.44 [RFC2256]
givenName                       A 2.5.4.42 [RFC2256]
GN                              A 2.5.4.42 [RFC2256]
groupOfNames                    O 2.5.6.9 [RFC2256]
groupOfUniqueNames              O 2.5.6.17 [RFC2256]
homePhone                       A 0.9.2342.19200300.100.1.20 [RFC1274]
homePostalAddress               A 0.9.2342.19200300.100.1.39 [RFC1274]
homeTelephone                   A 0.9.2342.19200300.100.1.20 [RFC1274]
host                            A 0.9.2342.19200300.100.1.9 [RFC1274]
houseIdentifier                 A 2.5.4.51 [RFC2256]
info                            A 0.9.2342.19200300.100.1.4 [RFC1274]
initials                        A 2.5.4.43 [RFC2256]
integerFirstComponentMatch      M 2.5.13.29 [RFC2252]
integerMatch                    M 2.5.13.14 [RFC2252]
internationaliSDNNumber         A 2.5.4.25 [RFC2256]
janetMailbox                    A 0.9.2342.19200300.100.1.46 [RFC1274]
jpegPhoto                       A 0.9.2342.19200300.100.1.60 [RFC1488]
knowledgeInformation            A 2.5.4.2 [RFC2256]
L                               A 2.5.4.7 [RFC2256]
labeledURI                      A 1.3.6.1.4.1.250.1.57 [RFC2079]
labeledURIObject                A 1.3.6.1.4.1.250.3.15 [RFC2079]
lastModifiedBy                  A 0.9.2342.19200300.100.1.24 [RFC1274]
lastModifiedTime                A 0.9.2342.19200300.100.1.23 [RFC1274]
ldapSyntaxes                    A 1.3.6.1.4.1.1466.101.120.16 [RFC2252]
locality                        O 2.5.6.3 [RFC2256]
localityName                    A 2.5.4.7 [RFC2256]
mail                            A 0.9.2342.19200300.100.1.3 [RFC2798]
mailPreferenceOption            A 0.9.2342.19200300.100.1.47 [RFC1274]
manager                         A 0.9.2342.19200300.100.1.10 [RFC1274]
matchingRules                   A 2.5.21.4 [RFC2252]
matchingRuleUse                 A 2.5.21.8 [RFC2252]
mcgamTables                     A 1.3.6.1.4.1.453.7.2.9 [RFC2164]
mDRecord                        A 0.9.2342.19200300.100.1.27 [RFC1274]
member                          A 2.5.4.31 [RFC2256]
mixerGateway                    O 1.3.6.1.4.1.453.7.1.4 [RFC2164]
mobile                          A 0.9.2342.19200300.100.1.41 [RFC1274]
mobileTelephoneNumber           A 0.9.2342.19200300.100.1.41 [RFC1274]
modifiersName                   A 2.5.18.4 [RFC2252]
modifyTimestamp                 A 2.5.18.2 [RFC2252]
mXRecord                        A 0.9.2342.19200300.100.1.28 [RFC1274]
name                            A 2.5.4.41 [RFC2256]
nameForms                       A 2.5.21.7 [RFC2252]
namingContexts                  A 1.3.6.1.4.1.1466.101.120.5 [RFC2252]
nSRecord                        A 0.9.2342.19200300.100.1.29 [RFC1274]
numericStringMatch              M 2.5.13.8 [RFC2252]
numericStringSubstringsMatch    M 2.5.13.10 [RFC2252]
O                               A 2.5.4.10 [RFC2256]
objectClass                     A 2.5.4.0 [RFC2256]
objectClasses                   A 2.5.21.6 [RFC2252]
objectIdentifierFirstComponentMatch M 2.5.13.30 [RFC2252]
objectIdentifiersMatch          M 2.5.13.0 [RFC2252]
octetStringMatch                M 2.5.13.17 [RFC2252]
omittedORAddressComponent       O 1.3.6.1.4.1.453.7.1.3 [RFC2164]
oRAddressComponentType          A 1.3.6.1.4.1.453.7.2.7 [RFC2164]
organization                    O 2.5.6.4 [RFC2256]
organizationalPerson            O 2.5.6.7 [RFC2256]
organizationalRole              O 2.5.6.8 [RFC2256]
organizationalStatus            A 0.9.2342.19200300.100.1.45 [RFC1274]
organizationalUnit              O 2.5.6.5 [RFC2256]
organizationalUnitName          A 2.5.4.11 [RFC2256]
organizationName                A 2.5.4.10 [RFC2256]
otherMailbox                    A 0.9.2342.19200300.100.1.22 [RFC1274]
OU                              A 2.5.4.11 [RFC2256]
owner                           A 2.5.4.32 [RFC2256]
pager                           A 0.9.2342.19200300.100.1.42 [RFC1274]
pagerTelephoneNumber            A 0.9.2342.19200300.100.1.42 [RFC1274]
person                          O 2.5.6.6 [RFC2256]
personalSignature               A 0.9.2342.19200300.100.1.53 [RFC1274]
personalTitle                   A 0.9.2342.19200300.100.1.40 [RFC1274]
photo                           A 0.9.2342.19200300.100.1.7 [RFC1274]
physicalDeliveryOfficeName      A 2.5.4.19 [RFC2256]
pilotDSA                        O 0.9.2342.19200300.100.4.21 [RFC1274]
pilotObject                     O 0.9.2342.19200300.100.4.3 [RFC1274]
pilotOrganization               O 0.9.2342.19200300.100.4.20 [RFC1274]
pilotPerson                     O 0.9.2342.19200300.100.4.4 [RFC1274]
pkiCA                           O 2.5.6.22 [RFC2587]
pkiUser                         O 2.5.6.21 [RFC2587]
postalAddress                   A 2.5.4.16 [RFC2256]
postalCode                      A 2.5.4.17 [RFC2256]
postOfficeBox                   A 2.5.4.18 [RFC2256]
preferredDeliveryMethod         A 2.5.4.28 [RFC2256]
presentationAddress             A 2.5.4.29 [RFC2256]
presentationAddressMatch        M 2.5.13.22 [RFC2252]
protocolInformation             A 2.5.4.48 [RFC2256]
protocolInformationMatch        M 2.5.13.24 [RFC2252]
qualityLabelledData             O 0.9.2342.19200300.100.4.22 [RFC1274]
ref                             A 2.16.840.1.113730.3.1.34 [RFC3296]
referral                        0 2.16.840.1.113730.3.2.6 [RFC3296]
registeredAddress               A 2.5.4.26 [RFC2256]
residentialPerson               O 2.5.6.10 [RFC2256]
RFC822LocalPart                 O 0.9.2342.19200300.100.4.14 [RFC1274]
RFC822Mailbox                   A 0.9.2342.19200300.100.1.3 [RFC1274]
rFC822ToX400Mapping             O 1.3.6.1.4.1.453.7.1.1 [RFC2164]
roleOccupant                    A 2.5.4.33 [RFC2256]
room                            O 0.9.2342.19200300.100.4.7 [RFC1274]
roomNumber                      A 0.9.2342.19200300.100.1.6 [RFC1274]
searchGuide                     A 2.5.4.14 [RFC2256]
secretary                       A 0.9.2342.19200300.100.1.21 [RFC1274]
seeAlso                         A 2.5.4.34 [RFC2256]
serialNumber                    A 2.5.4.5 [RFC2256]
simpleSecurityObject            O 0.9.2342.19200300.100.4.19 [RFC1274]
singleLevelQuality              A 0.9.2342.19200300.100.1.50 [RFC1274]
SN                              A 2.5.4.4 [RFC2256]
sOARecord                       A 0.9.2342.19200300.100.1.30 [RFC1274]
ST                              A 2.5.4.8 [RFC2256]
stateOrProvinceName             A 2.5.4.8 [RFC2256]
street                          A 2.5.4.9 [RFC2256]
streetAddress                   A 2.5.4.9 [RFC2256]
strongAuthenticationUser        O 2.5.6.15 [RFC2256]
subschema                       O 2.5.20.1 [RFC2252]
subschemaSubentry               A 2.5.18.10 [RFC2252]
subtree                         O 1.3.6.1.4.1.453.7.1.1 [RFC2293]
subtreeMaximumQuality           A 0.9.2342.19200300.100.1.52 [RFC1274]
subtreeMinimumQuality           A 0.9.2342.19200300.100.1.51 [RFC1274]
supportedAlgorithms             A 2.5.4.52 [RFC2256]
supportedApplicationContext     A 2.5.4.30 [RFC2256]
supportedControl                A 1.3.6.1.4.1.1466.101.120.13 [RFC2252]
supportedExtension              A 1.3.6.1.4.1.1466.101.120.7 [RFC2252]
supportedLDAPVersion            A 1.3.6.1.4.1.1466.101.120.15 [RFC2252]
supportedSASLMechanisms         A 1.3.6.1.4.1.1466.101.120.14 [RFC2252]
surname                         A 2.5.4.4 [RFC2256]
table                           O 1.3.6.1.4.1.453.7.1.2 [RFC2293]
tableEntry                      O 1.3.6.1.4.1.453.7.1.3 [RFC2293]
telephoneNumber                 A 2.5.4.20 [RFC2256]
telephoneNumberMatch            M 2.5.13.20 [RFC2252]
telephoneNumberSubstringsMatch  M 2.5.13.21 [RFC2252]
teletexTerminalIdentifier       A 2.5.4.22 [RFC2256]
telexNumber                     A 2.5.4.21 [RFC2256]
textEncodedORAddress            A 0.9.2342.19200300.100.1.2 [RFC1274]
textTableEntry                  O 1.3.6.1.4.1.453.7.1.4 [RFC2293]
textTableKey                    A 1.3.6.1.4.1.453.7.2.1 [RFC2293]
textTableValue                  A 1.3.6.1.4.1.453.7.2.2 [RFC2293]
title                           A 2.5.4.12 [RFC2256]
top                             O 2.5.6.0 [RFC2256]
uid                             A 0.9.2342.19200300.100.1.1 [RFC2253]
uniqueIdentifier                A 0.9.2342.19200300.100.1.44 [RFC1274]
uniqueMember                    A 2.5.4.50 [RFC2256]
uniqueMemberMatch               M 2.5.13.23 [RFC2252]
userCertificate                 A 2.5.4.36 [RFC2256]
userClass                       A 0.9.2342.19200300.100.1.8 [RFC1274]
userId                          A 0.9.2342.19200300.100.1.1 [RFC1274]
userPassword                    A 2.5.4.35 [RFC2256]
userSecurityInformation         O 2.5.6.18 [RFC2256]
x121Address                     A 2.5.4.24 [RFC2256]
x400ToRFC822Mapping             O 1.3.6.1.4.1.453.7.1.2 [RFC2164]
x500UniqueIdentifier            A 2.5.4.45 [RFC2256]

M => Matching Rule πŸŽ€ N => Name Form πŸ¦‹ O => Object Class 🌸

B.4. Attribute Description Options ✨

Okay so here's the options table, and it's giving very clean energy πŸ’…

Option            Owner  Reference
----------------  -----  ---------
binary            IESG   [RFC2251]
lang-*            IESG   [RFC2596]

* family of options

B.5. LDAPMessage types πŸ’–

Literally the whole message-type lineup, bestie 🧚

Name                         Code Owner  Reference
---------------------------  ---- -----  ---------
bindRequest                     0  IESG  [RFC2251]
bindResponse                    1  IESG  [RFC2251]
unbindRequest                   2  IESG  [RFC2251]
searchRequest                   3  IESG  [RFC2251]
searchResEntry                  4  IESG  [RFC2251]
searchResDone                   5  IESG  [RFC2251]
modifyRequest                   6  IESG  [RFC2251]
modifyResponse                  7  IESG  [RFC2251]
addRequest                      8  IESG  [RFC2251]
addResponse                     9  IESG  [RFC2251]
delRequest                     10  IESG  [RFC2251]
delResponse                    11  IESG  [RFC2251]
modDNRequest                   12  IESG  [RFC2251]
modDNResponse                  13  IESG  [RFC2251]
compareRequest                 14  IESG  [RFC2251]
compareResponse                15  IESG  [RFC2251]
abandonRequest                 16  IESG  [RFC2251]
reserved                    17-18  IESG
searchResRef                   19  IESG  [RFC2251]
reserved                    20-22  IESG
extendedReq                    23  IESG  [RFC2251]
extendedResp                   24  IESG  [RFC2251]

B.6. resultCode values πŸ”₯

These are the result codes, and some of them are so dramatic 😭

Name                         Code Owner  Reference
---------------------------  ---- -----  ---------
success                         0  IESG  [RFC2251]
operationsError                 1  IESG  [RFC2251]
protocolError                   2  IESG  [RFC2251]
timeLimitExceeded               3  IESG  [RFC2251]
sizeLimitExceeded               4  IESG  [RFC2251]
compareFalse                    5  IESG  [RFC2251]
compareTrue                     6  IESG  [RFC2251]
authMethodNotSupported          7  IESG  [RFC2251]
strongAuthRequired              8  IESG  [RFC2251]
reserved (partialResults)       9  IESG  [RFC2251]
referral                       10  IESG  [RFC2251]
adminLimitExceeded             11  IESG  [RFC2251]
unavailableCriticalExtension   12  IESG  [RFC2251]
confidentialityRequired        13  IESG  [RFC2251]
saslBindInProgress             14  IESG  [RFC2251]
noSuchAttribute                16  IESG  [RFC2251]
undefinedAttributeType         17  IESG  [RFC2251]
inappropriateMatching          18  IESG  [RFC2251]
constraintViolation            19  IESG  [RFC2251]
attributeOrValueExists         20  IESG  [RFC2251]
invalidAttributeSyntax         21  IESG  [RFC2251]
noSuchObject                   32  IESG  [RFC2251]
aliasProblem                   33  IESG  [RFC2251]
invalidDNSyntax                34  IESG  [RFC2251]
reserved (isLeaf)              35  IESG  [RFC2251]
aliasDereferencingProblem      36  IESG  [RFC2251]
reserved                    37-47  IESG
inappropriateAuthentication    48  IESG  [RFC2251]
invalidCredentials             49  IESG  [RFC2251]
insufficientAccessRights       50  IESG  [RFC2251]
busy                           51  IESG  [RFC2251]
unavailable                    52  IESG  [RFC2251]
unwillingToPerform             53  IESG  [RFC2251]
loopDetect                     54  IESG  [RFC2251]
reserved                    55-63  IESG
namingViolation                64  IESG  [RFC2251]
objectClassViolation           65  IESG  [RFC2251]
notAllowedOnNonLeaf            66  IESG  [RFC2251]
notAllowedOnRDN                67  IESG  [RFC2251]
entryAlreadyExists             68  IESG  [RFC2251]
objectClassModsProhibited      69  IESG  [RFC2251]
reserved (resultsTooLarge)     70  IESG  [RFC2251]
reserved                    71-79  IESG
other                          80  IESG  [RFC2251]
reserved (APIs)             81-90  IESG  [RFC2251]

B.7. Bind Authentication Method πŸ‘‘

Last table, and the vibes are immaculate ✨

Method      Value  Owner  Usage        Reference
------      -----  -----  -----------  -----------------
simple          0  IESG   LIMITED USE  [RFC2251,RFC2829]
krbv42LDAP      1  IESG   OBSOLETE*    [RFC1777]
krbv42DSA       2  IESG   OBSOLETE*    [RFC1777]
sasl            3  IESG   COMMON       [RFC2251,RFC2829]

* These LDAPv2-only mechanisms were deprecated in favor of the
LDAPv3 SASL authentication method, specifically the GSSAPI mechanism.

Author's Address πŸ–ŠοΈ

Kurt D. Zeilenga OpenLDAP Foundation

EMail: Kurt@OpenLDAP.org

Copyright (C) The Internet Society (2002). All Rights Reserved.

Okay, the legal bit, and it matters so pay attention 🫢 You can copy this document and hand it out to people, and you can make derivative works that comment on it, explain it, or help people implement it. You can publish and distribute all of that, in whole or in part, with no restriction, as long as the copyright notice and this paragraph stay on every copy and derivative work. But this document itself can't be modified in any way, like removing the copyright notice or the references to the Internet Society or other Internet organizations. The one exception is when you're developing Internet standards, in which case you follow the copyright procedures defined in the Internet Standards process. You can also translate it into languages other than English. πŸ’…

The limited permissions above are perpetual, and the Internet Society or its successors or assigns won't revoke them πŸ’œ

This document and the information in it is provided on an "AS IS" basis, and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 😭

Acknowledgement πŸ“

Funding for the RFC Editor function is currently provided by the Internet Society. πŸŽ€

πŸ“¦ where this page comes from