RFC 2927
MIME Directory Profile for LDAP Schema
RFC 2927: MIME Directory Profile for LDAP Schema π
Okay bestie, this is RFC 2927 π It came out of the Network Working Group, written by M. Wahl at Sun Microsystems, Inc., and it's dated September 2000. The category is Informational, so it's giving info, not a standard πΈ The title block doesn't list anything it obsoletes or updates β¨
Status of this Memo π
This memo is here to provide information for the Internet community. It is not an Internet standard of any kind π ββοΈ Anyone can distribute it, with no limits.
Copyright Notice Β©
Copyright (C) The Internet Society (2000). All Rights Reserved. π
Abstract π
This doc defines a MIME directory profile (a multipurpose internet mail extensions thing π¨) for holding an LDAP schema, which is a lightweight directory access protocol thing ποΈ It's meant for talking to the Internet schema listing service.
The big keywords in here, "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL", get read exactly the way RFC 2119 [4] describes π§
1. Overview β¨
This doc explains how a MIME type can carry a single LDAPv3 schema definition π
A schema for LDAPv3 is a bundle of object class, attribute type, matching rule and syntax definitions, as many as you want π«Ά These concepts are defined in the LDAPv3 protocol definition [2]. The schema MAY get a numeric OID from a schema listing or registration service.
A schema can import definitions from another schema, BUT imports don't chain. They're not transitive π ββοΈ
For example, say a schema has a "modem" object class that's a subclass of the X.521 "device" object class. In that case, the schema MUST import the definitions of X.521 π
2. The "schema-ldap-0" MIME Directory Profile Registration π
Here's how this profile is identified, straight from the registration template π
To: ietf-mime-direct@imc.org
Subject: Registration of text/directory MIME profile "schema-ldap-0"
Profile name: schema-ldap-0
Profile purpose: To represent a schema defined for use with LDAPv3
servers.
Profile types: SOURCE, ldapSchemas, attributeTypes, matchingRules,
objectClasses, matchingRuleUse, ldapSyntaxes
Special notes, bestie π
The charset parameter MUST be present on the MIME content, and its value MUST be utf-8. That way schema values can be used as LDAPv3 attribute values without any character set translation πΈ
The BEGIN and END types don't get used here, and neither does type grouping π
Every type in this profile except ldapSchemas can be multi-valued. Each value sits on its own contentline, and the values can show up in any order. They don't have to be grouped by type π§
The SOURCE type is optional. If values are there, they SHOULD be URIs of the ldap form. When the URI is in the ldap form, the object it points to is a subschema entry. Other forms are reserved for future stuff π¦
In this version, exactly one ldapSchemas value MUST be present. (Later versions might let you have more than one ldapSchemas value in a content, so stay tuned π)
Heads up, implementers π¨ Values of the profile types in most contents are gonna be way longer than 76 bytes. There might also be non-ASCII characters and embedded CRLFs inside values, which could mean you need to quote the value or use a content transfer encoding π
If a contentline has a context parameter whose value isn't ldap, that contentline SHOULD be ignored π
Intended usage: COMMON π
3. MIME Directory Type Registrations π¦
This document defines all the types except SOURCE, which is used in the schema-ldap-0 profile. SOURCE is defined in [1]. These types are mainly for the schema-ldap-0 directory profile, though they might be applicable to other profiles defined in the future π
3.1. ldapSchemas π
To: ietf-mime-direct@imc.org
Subject: Registration of text/directory MIME type ldapSchemas
Type name: ldapSchemas
- Type purpose: To represent the LDAPv3 attribute
ldapSchemas, which is defined in section A.1. - Type encoding:
8bit - Type valuetype: text, encoded according to the BNF in section A.2.
- Type special notes: Each value of this type spells out the contents of an LDAP schema definition. Every object class, attribute, matching rule, matching rule use and syntax referenced in a
ldapSchemasvalue MUST either be defined in one of the schemas referenced in the "IMPORTS" field, or be present in the content that holds this value. π§© - Intended usage:
COMMON
3.2. attributeTypes π
To: ietf-mime-direct@imc.org
Subject: Registration of text/directory MIME type attributeTypes
Type name: attributeTypes
- Type purpose: To represent the LDAPv3 attribute
attributeTypes, defined in section 5.1.6 of [4]. - Type encoding:
8bit - Type valuetype: text, encoded according to the BNF of
AttributeTypeDescriptiongiven in section 4.2 of [4]. - Type special notes: Each value of this type gives one LDAPv3 attribute type definition. The syntax and matching rules referenced in a
attributeTypesvalue MUST either be present in this content, or be defined in one of the schemas referenced in the "IMPORTS" field of theldapSchemasline. π - Intended usage:
COMMON
3.3. matchingRules π―
To: ietf-mime-direct@imc.org
Subject: Registration of text/directory MIME type matchingRules
Type name: matchingRules
- Type purpose: To represent the LDAPv3 attribute
matchingRules, defined in section 5.1.8 of [4]. - Type encoding:
8bit - Type valuetype: text, encoded according to the BNF of
MatchingRuleDescriptiongiven in section 4.5 of [4]. - Type special notes: Each value of this type gives one matching rule definition. The syntax referenced in a
matchingRulesvalue MUST either be present in this content, or be defined in one of the schemas referenced in the "IMPORTS" field of theldapSchemasline. β¨ - Intended usage:
COMMON
3.4. objectClasses πΈ
To: ietf-mime-direct@imc.org
Subject: Registration of text/directory MIME type objectClasses
Type name: objectClasses
- Type purpose: To represent the LDAPv3 attribute
objectClasses, defined in section 5.1.7 of [4]. - Type encoding:
8bit - Type valuetype: text, encoded according to the BNF of
ObjectClassDescriptiongiven in section 4.4 of [4]. - Type special notes: Each value of this type gives one LDAPv3 object class definition. The attributes and object classes referenced in a
objectClassesvalue MUST either be present in this content, or be defined in one of the schemas referenced in the "IMPORTS" field of theldapSchemasline. π§Έ - Intended usage:
COMMON
3.5. matchingRuleUse π«§
To: ietf-mime-direct@imc.org
Subject: Registration of text/directory MIME type matchingRuleUse
Type name: matchingRuleUse
- Type purpose: To represent the LDAPv3 attribute
matchingRuleUse, defined in section 5.1.9 of [4]. - Type encoding:
8bit - Type valuetype: text, encoded according to the BNF of
MatchingRuleUseDescriptiongiven in section 4.5 of [4]. - Type special notes: Each value of this type spells out a relationship between a matching rule and attribute types. The matching rule and attribute types referenced in a
matchingRuleUsevalue MUST either be present in this content, or be defined in one of the schemas referenced in the "IMPORTS" statement of theldapSchemasline. π - Intended usage:
COMMON
3.6. ldapSyntaxes π§
To: ietf-mime-direct@imc.org
Subject: Registration of text/directory MIME type ldapSyntaxes
Type name: ldapSyntaxes
- Type purpose: To represent the LDAPv3 attribute
ldapSyntaxes, defined in section 5.3.1 of [3]. - Type encoding:
8bit - Type valuetype: text, encoded according to the BNF of
SyntaxDescriptiongiven in section 4.3.3 of [3]. - Type special notes: Each value of this type gives a single LDAPv3 attribute value syntax. π
- Intended usage:
COMMON
A.2. LDAP Schema Definition syntax definition β¨
okay bestie, this one is the syntax for an LDAP Schema Definition π the value is a whole schema bundle that points at its own OID plus the stuff it pulls in from other schemas π¦
( 1.3.6.1.4.1.1466.115.121.1.56 DESC 'LDAP Schema Definition' )
values in this syntax get written using the following BNF π
LdapSchema = "(" whsp
numericoid whsp
[ "NAME" qdescrs ]
[ "OBSOLETE" whsp ]
[ "IMPORTS" oids ]
[ "CLASSES" oids ]
[ "ATTRIBUTES" oids ]
[ "MATCHING-RULES" oids ]
[ "SYNTAXES" oids ]
whsp ")"
the numericoid is the thing that uniquely identifies the schema π₯ a new OID should be assigned if any of the fields of the schema change π and it is not possible to import definitions from a schema until an OID has been assigned to it π
the "NAME" field has optional human-readable labels for the schema πΈ
the "OBSOLETE" field is there if the schema is obsolete π§
the "IMPORTS" field lists the OIDs of other schemas that get incorporated by reference into this one π«Ά it is an error to have an attribute type or object class defined in a schema with the same name but a different OID as an attribute type or object class in an imported schema π it is also an error to import from two schema definitions where there are attribute types or object classes with the same names but different OIDs π
the "CLASSES" field lists the OIDs of object classes defined in this schema π a schema does not have to contain any object class definitions π a schema must not contain two object class definitions of the same name but with different OIDs π«
the "ATTRIBUTES" field lists the OIDs of attribute types defined in this schema π a schema does not have to contain any object class definitions πΈ a schema must not contain two attribute type definitions of the same name but with different OIDs π«
the "MATCHING-RULES" field lists the OIDs of matching rules defined in this schema π¦ a schema does not have to contain any matching rules β¨
the "SYNTAXES" field lists the OIDs of syntaxes defined in this schema π a schema does not have to contain any syntaxes π
Full Copyright Statement π
Copyright (C) The Internet Society (2000). All Rights Reserved.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.
The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.
This document and the information contained herein 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
- ietf: rfc2927 2000-09
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms