mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
1796 lines
59 KiB
Plaintext
1796 lines
59 KiB
Plaintext
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Network Working Group M. Wahl
|
|||
|
Request for Comments: 2252 Critical Angle Inc.
|
|||
|
Category: Standards Track A. Coulbeck
|
|||
|
Isode Inc.
|
|||
|
T. Howes
|
|||
|
Netscape Communications Corp.
|
|||
|
S. Kille
|
|||
|
Isode Limited
|
|||
|
December 1997
|
|||
|
|
|||
|
|
|||
|
Lightweight Directory Access Protocol (v3):
|
|||
|
Attribute Syntax Definitions
|
|||
|
|
|||
|
1. Status of this Memo
|
|||
|
|
|||
|
This document specifies an Internet standards track protocol for the
|
|||
|
Internet community, and requests discussion and suggestions for
|
|||
|
improvements. Please refer to the current edition of the "Internet
|
|||
|
Official Protocol Standards" (STD 1) for the standardization state
|
|||
|
and status of this protocol. Distribution of this memo is unlimited.
|
|||
|
|
|||
|
Copyright Notice
|
|||
|
|
|||
|
Copyright (C) The Internet Society (1997). All Rights Reserved.
|
|||
|
|
|||
|
IESG Note
|
|||
|
|
|||
|
This document describes a directory access protocol that provides
|
|||
|
both read and update access. Update access requires secure
|
|||
|
authentication, but this document does not mandate implementation of
|
|||
|
any satisfactory authentication mechanisms.
|
|||
|
|
|||
|
In accordance with RFC 2026, section 4.4.1, this specification is
|
|||
|
being approved by IESG as a Proposed Standard despite this
|
|||
|
limitation, for the following reasons:
|
|||
|
|
|||
|
a. to encourage implementation and interoperability testing of
|
|||
|
these protocols (with or without update access) before they
|
|||
|
are deployed, and
|
|||
|
|
|||
|
b. to encourage deployment and use of these protocols in read-only
|
|||
|
applications. (e.g. applications where LDAPv3 is used as
|
|||
|
a query language for directories which are updated by some
|
|||
|
secure mechanism other than LDAP), and
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 1]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
c. to avoid delaying the advancement and deployment of other Internet
|
|||
|
standards-track protocols which require the ability to query, but
|
|||
|
not update, LDAPv3 directory servers.
|
|||
|
|
|||
|
Readers are hereby warned that until mandatory authentication
|
|||
|
mechanisms are standardized, clients and servers written according to
|
|||
|
this specification which make use of update functionality are
|
|||
|
UNLIKELY TO INTEROPERATE, or MAY INTEROPERATE ONLY IF AUTHENTICATION
|
|||
|
IS REDUCED TO AN UNACCEPTABLY WEAK LEVEL.
|
|||
|
|
|||
|
Implementors are hereby discouraged from deploying LDAPv3 clients or
|
|||
|
servers which implement the update functionality, until a Proposed
|
|||
|
Standard for mandatory authentication in LDAPv3 has been approved and
|
|||
|
published as an RFC.
|
|||
|
|
|||
|
2. Abstract
|
|||
|
|
|||
|
The Lightweight Directory Access Protocol (LDAP) [1] requires that
|
|||
|
the contents of AttributeValue fields in protocol elements be octet
|
|||
|
strings. This document defines a set of syntaxes for LDAPv3, and the
|
|||
|
rules by which attribute values of these syntaxes are represented as
|
|||
|
octet strings for transmission in the LDAP protocol. The syntaxes
|
|||
|
defined in this document are referenced by this and other documents
|
|||
|
that define attribute types. This document also defines the set of
|
|||
|
attribute types which LDAP servers should support.
|
|||
|
|
|||
|
3. Overview
|
|||
|
|
|||
|
This document defines the framework for developing schemas for
|
|||
|
directories accessible via the Lightweight Directory Access Protocol.
|
|||
|
|
|||
|
Schema is the collection of attribute type definitions, object class
|
|||
|
definitions and other information which a server uses to determine
|
|||
|
how to match a filter or attribute value assertion (in a compare
|
|||
|
operation) against the attributes of an entry, and whether to permit
|
|||
|
add and modify operations.
|
|||
|
|
|||
|
Section 4 states the general requirements and notations for attribute
|
|||
|
types, object classes, syntax and matching rule definitions.
|
|||
|
|
|||
|
Section 5 lists attributes, section 6 syntaxes and section 7 object
|
|||
|
classes.
|
|||
|
|
|||
|
Additional documents define schemas for representing real-world
|
|||
|
objects as directory entries.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 2]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
4. General Issues
|
|||
|
|
|||
|
This document describes encodings used in an Internet protocol.
|
|||
|
|
|||
|
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 RFC 2119 [4].
|
|||
|
|
|||
|
Attribute Type and Object Class definitions are written in a string
|
|||
|
representation of the AttributeTypeDescription and
|
|||
|
ObjectClassDescription data types defined in X.501(93) [3].
|
|||
|
Implementors are strongly advised to first read the description of
|
|||
|
how schema is represented in X.500 before reading the rest of this
|
|||
|
document.
|
|||
|
|
|||
|
4.1. Common Encoding Aspects
|
|||
|
|
|||
|
For the purposes of defining the encoding rules for attribute
|
|||
|
syntaxes, the following BNF definitions will be used. They are based
|
|||
|
on the BNF styles of RFC 822 [13].
|
|||
|
|
|||
|
a = "a" / "b" / "c" / "d" / "e" / "f" / "g" / "h" / "i" /
|
|||
|
"j" / "k" / "l" / "m" / "n" / "o" / "p" / "q" / "r" /
|
|||
|
"s" / "t" / "u" / "v" / "w" / "x" / "y" / "z" / "A" /
|
|||
|
"B" / "C" / "D" / "E" / "F" / "G" / "H" / "I" / "J" /
|
|||
|
"K" / "L" / "M" / "N" / "O" / "P" / "Q" / "R" / "S" /
|
|||
|
"T" / "U" / "V" / "W" / "X" / "Y" / "Z"
|
|||
|
|
|||
|
d = "0" / "1" / "2" / "3" / "4" /
|
|||
|
"5" / "6" / "7" / "8" / "9"
|
|||
|
|
|||
|
hex-digit = d / "a" / "b" / "c" / "d" / "e" / "f" /
|
|||
|
"A" / "B" / "C" / "D" / "E" / "F"
|
|||
|
|
|||
|
k = a / d / "-" / ";"
|
|||
|
|
|||
|
p = a / d / """ / "(" / ")" / "+" / "," /
|
|||
|
"-" / "." / "/" / ":" / "?" / " "
|
|||
|
|
|||
|
letterstring = 1*a
|
|||
|
|
|||
|
numericstring = 1*d
|
|||
|
|
|||
|
anhstring = 1*k
|
|||
|
|
|||
|
keystring = a [ anhstring ]
|
|||
|
|
|||
|
printablestring = 1*p
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 3]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
space = 1*" "
|
|||
|
|
|||
|
whsp = [ space ]
|
|||
|
|
|||
|
utf8 = <any sequence of octets formed from the UTF-8 [9]
|
|||
|
transformation of a character from ISO10646 [10]>
|
|||
|
|
|||
|
dstring = 1*utf8
|
|||
|
|
|||
|
qdstring = whsp "'" dstring "'" whsp
|
|||
|
|
|||
|
qdstringlist = [ qdstring *( qdstring ) ]
|
|||
|
|
|||
|
qdstrings = qdstring / ( whsp "(" qdstringlist ")" whsp )
|
|||
|
|
|||
|
In the following BNF for the string representation of OBJECT
|
|||
|
IDENTIFIERs, descr is the syntactic representation of an object
|
|||
|
descriptor, which consists of letters and digits, starting with a
|
|||
|
letter. An OBJECT IDENTIFIER in the numericoid format should not
|
|||
|
have leading zeroes (e.g. "0.9.3" is permitted but "0.09.3" should
|
|||
|
not be generated).
|
|||
|
|
|||
|
When encoding 'oid' elements in a value, the descr encoding option
|
|||
|
SHOULD be used in preference to the numericoid. An object descriptor
|
|||
|
is a more readable alias for a number OBJECT IDENTIFIER, and these
|
|||
|
(where assigned and known by the implementation) SHOULD be used in
|
|||
|
preference to numeric oids to the greatest extent possible. Examples
|
|||
|
of object descriptors in LDAP are attribute type, object class and
|
|||
|
matching rule names.
|
|||
|
|
|||
|
oid = descr / numericoid
|
|||
|
|
|||
|
descr = keystring
|
|||
|
|
|||
|
numericoid = numericstring *( "." numericstring )
|
|||
|
|
|||
|
woid = whsp oid whsp
|
|||
|
|
|||
|
; set of oids of either form
|
|||
|
oids = woid / ( "(" oidlist ")" )
|
|||
|
|
|||
|
oidlist = woid *( "$" woid )
|
|||
|
|
|||
|
; object descriptors used as schema element names
|
|||
|
qdescrs = qdescr / ( whsp "(" qdescrlist ")" whsp )
|
|||
|
|
|||
|
qdescrlist = [ qdescr *( qdescr ) ]
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 4]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
qdescr = whsp "'" descr "'" whsp
|
|||
|
|
|||
|
4.2. Attribute Types
|
|||
|
|
|||
|
The attribute types are described by sample values for the subschema
|
|||
|
"attributeTypes" attribute, which is written in the
|
|||
|
AttributeTypeDescription syntax. While lines have been folded for
|
|||
|
readability, the values transferred in protocol would not contain
|
|||
|
newlines.
|
|||
|
|
|||
|
The AttributeTypeDescription is encoded according to the following
|
|||
|
BNF, and the productions for oid, qdescrs and qdstring are given in
|
|||
|
section 4.1. Implementors should note that future versions of this
|
|||
|
document may have expanded this BNF to include additional terms.
|
|||
|
Terms which begin with the characters "X-" are reserved for private
|
|||
|
experiments, and MUST be followed by a <qdstrings>.
|
|||
|
|
|||
|
AttributeTypeDescription = "(" whsp
|
|||
|
numericoid whsp ; AttributeType identifier
|
|||
|
[ "NAME" qdescrs ] ; name used in AttributeType
|
|||
|
[ "DESC" qdstring ] ; description
|
|||
|
[ "OBSOLETE" whsp ]
|
|||
|
[ "SUP" woid ] ; derived from this other
|
|||
|
; AttributeType
|
|||
|
[ "EQUALITY" woid ; Matching Rule name
|
|||
|
[ "ORDERING" woid ; Matching Rule name
|
|||
|
[ "SUBSTR" woid ] ; Matching Rule name
|
|||
|
[ "SYNTAX" whsp noidlen whsp ] ; see section 4.3
|
|||
|
[ "SINGLE-VALUE" whsp ] ; default multi-valued
|
|||
|
[ "COLLECTIVE" whsp ] ; default not collective
|
|||
|
[ "NO-USER-MODIFICATION" whsp ]; default user modifiable
|
|||
|
[ "USAGE" whsp AttributeUsage ]; default userApplications
|
|||
|
whsp ")"
|
|||
|
|
|||
|
AttributeUsage =
|
|||
|
"userApplications" /
|
|||
|
"directoryOperation" /
|
|||
|
"distributedOperation" / ; DSA-shared
|
|||
|
"dSAOperation" ; DSA-specific, value depends on server
|
|||
|
|
|||
|
Servers are not required to provide the same or any text in the
|
|||
|
description part of the subschema values they maintain. Servers
|
|||
|
SHOULD provide at least one of the "SUP" and "SYNTAX" fields for each
|
|||
|
AttributeTypeDescription.
|
|||
|
|
|||
|
Servers MUST implement all the attribute types referenced in sections
|
|||
|
5.1, 5.2 and 5.3.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 5]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
Servers MAY recognize additional names and attributes not listed in
|
|||
|
this document, and if they do so, MUST publish the definitions of the
|
|||
|
types in the attributeTypes attribute of their subschema entries.
|
|||
|
|
|||
|
Schema developers MUST NOT create attribute definitions whose names
|
|||
|
conflict with attributes defined for use with LDAP in existing
|
|||
|
standards-track RFCs.
|
|||
|
|
|||
|
An AttributeDescription can be used as the value in a NAME part of an
|
|||
|
AttributeTypeDescription. Note that these are case insensitive.
|
|||
|
|
|||
|
Note that the AttributeTypeDescription does not list the matching
|
|||
|
rules which can can be used with that attribute type in an
|
|||
|
extensibleMatch search filter. This is done using the
|
|||
|
matchingRuleUse attribute described in section 4.5.
|
|||
|
|
|||
|
This document refines the schema description of X.501 by requiring
|
|||
|
that the syntax field in an AttributeTypeDescription be a string
|
|||
|
representation of an OBJECT IDENTIFIER for the LDAP string syntax
|
|||
|
definition, and an optional indication of the maximum length of a
|
|||
|
value of this attribute (defined in section 4.3.2).
|
|||
|
|
|||
|
4.3. Syntaxes
|
|||
|
|
|||
|
This section defines general requirements for LDAP attribute value
|
|||
|
syntax encodings. All documents defining attribute syntax encodings
|
|||
|
for use with LDAP are expected to conform to these requirements.
|
|||
|
|
|||
|
The encoding rules defined for a given attribute syntax must produce
|
|||
|
octet strings. To the greatest extent possible, encoded octet
|
|||
|
strings should be usable in their native encoded form for display
|
|||
|
purposes. In particular, encoding rules for attribute syntaxes
|
|||
|
defining non-binary values should produce strings that can be
|
|||
|
displayed with little or no translation by clients implementing LDAP.
|
|||
|
There are a few cases (e.g. audio) however, when it is not sensible
|
|||
|
to produce a printable representation, and clients MUST NOT assume
|
|||
|
that an unrecognized syntax is a string representation.
|
|||
|
|
|||
|
In encodings where an arbitrary string, not a Distinguished Name, is
|
|||
|
used as part of a larger production, and other than as part of a
|
|||
|
Distinguished Name, a backslash quoting mechanism is used to escape
|
|||
|
the following separator symbol character (such as "'", "$" or "#") if
|
|||
|
it should occur in that string. The backslash is followed by a pair
|
|||
|
of hexadecimal digits representing the next character. A backslash
|
|||
|
itself in the string which forms part of a larger syntax is always
|
|||
|
transmitted as '\5C' or '\5c'. An example is given in section 6.27.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 6]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
Syntaxes are also defined for matching rules whose assertion value
|
|||
|
syntax is different from the attribute value syntax.
|
|||
|
|
|||
|
4.3.1 Binary Transfer of Values
|
|||
|
|
|||
|
This encoding format is used if the binary encoding is requested by
|
|||
|
the client for an attribute, or if the attribute syntax name is
|
|||
|
"1.3.6.1.4.1.1466.115.121.1.5". The contents of the LDAP
|
|||
|
AttributeValue or AssertionValue field is a BER-encoded instance of
|
|||
|
the attribute value or a matching rule assertion value ASN.1 data
|
|||
|
type as defined for use with X.500. (The first byte inside the OCTET
|
|||
|
STRING wrapper is a tag octet. However, the OCTET STRING is still
|
|||
|
encoded in primitive form.)
|
|||
|
|
|||
|
All servers MUST implement this form for both generating attribute
|
|||
|
values in search responses, and parsing attribute values in add,
|
|||
|
compare and modify requests, if the attribute type is recognized and
|
|||
|
the attribute syntax name is that of Binary. Clients which request
|
|||
|
that all attributes be returned from entries MUST be prepared to
|
|||
|
receive values in binary (e.g. userCertificate;binary), and SHOULD
|
|||
|
NOT simply display binary or unrecognized values to users.
|
|||
|
|
|||
|
4.3.2. Syntax Object Identifiers
|
|||
|
|
|||
|
Syntaxes for use with LDAP are named by OBJECT IDENTIFIERs, which are
|
|||
|
dotted-decimal strings. These are not intended to be displayed to
|
|||
|
users.
|
|||
|
|
|||
|
noidlen = numericoid [ "{" len "}" ]
|
|||
|
|
|||
|
len = numericstring
|
|||
|
|
|||
|
The following table lists some of the syntaxes that have been defined
|
|||
|
for LDAP thus far. The H-R column suggests whether a value in that
|
|||
|
syntax would likely be a human readable string. Clients and servers
|
|||
|
need not implement all the syntaxes listed here, and MAY implement
|
|||
|
other syntaxes.
|
|||
|
|
|||
|
Other documents may define additional syntaxes. However, the
|
|||
|
definition of additional arbitrary syntaxes is strongly deprecated
|
|||
|
since it will hinder interoperability: today's client and server
|
|||
|
implementations generally do not have the ability to dynamically
|
|||
|
recognize new syntaxes. In most cases attributes will be defined
|
|||
|
with the syntax for directory strings.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 7]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
Value being represented H-R OBJECT IDENTIFIER
|
|||
|
=================================================================
|
|||
|
ACI Item N 1.3.6.1.4.1.1466.115.121.1.1
|
|||
|
Access Point Y 1.3.6.1.4.1.1466.115.121.1.2
|
|||
|
Attribute Type Description Y 1.3.6.1.4.1.1466.115.121.1.3
|
|||
|
Audio N 1.3.6.1.4.1.1466.115.121.1.4
|
|||
|
Binary N 1.3.6.1.4.1.1466.115.121.1.5
|
|||
|
Bit String Y 1.3.6.1.4.1.1466.115.121.1.6
|
|||
|
Boolean Y 1.3.6.1.4.1.1466.115.121.1.7
|
|||
|
Certificate N 1.3.6.1.4.1.1466.115.121.1.8
|
|||
|
Certificate List N 1.3.6.1.4.1.1466.115.121.1.9
|
|||
|
Certificate Pair N 1.3.6.1.4.1.1466.115.121.1.10
|
|||
|
Country String Y 1.3.6.1.4.1.1466.115.121.1.11
|
|||
|
DN Y 1.3.6.1.4.1.1466.115.121.1.12
|
|||
|
Data Quality Syntax Y 1.3.6.1.4.1.1466.115.121.1.13
|
|||
|
Delivery Method Y 1.3.6.1.4.1.1466.115.121.1.14
|
|||
|
Directory String Y 1.3.6.1.4.1.1466.115.121.1.15
|
|||
|
DIT Content Rule Description Y 1.3.6.1.4.1.1466.115.121.1.16
|
|||
|
DIT Structure Rule Description Y 1.3.6.1.4.1.1466.115.121.1.17
|
|||
|
DL Submit Permission Y 1.3.6.1.4.1.1466.115.121.1.18
|
|||
|
DSA Quality Syntax Y 1.3.6.1.4.1.1466.115.121.1.19
|
|||
|
DSE Type Y 1.3.6.1.4.1.1466.115.121.1.20
|
|||
|
Enhanced Guide Y 1.3.6.1.4.1.1466.115.121.1.21
|
|||
|
Facsimile Telephone Number Y 1.3.6.1.4.1.1466.115.121.1.22
|
|||
|
Fax N 1.3.6.1.4.1.1466.115.121.1.23
|
|||
|
Generalized Time Y 1.3.6.1.4.1.1466.115.121.1.24
|
|||
|
Guide Y 1.3.6.1.4.1.1466.115.121.1.25
|
|||
|
IA5 String Y 1.3.6.1.4.1.1466.115.121.1.26
|
|||
|
INTEGER Y 1.3.6.1.4.1.1466.115.121.1.27
|
|||
|
JPEG N 1.3.6.1.4.1.1466.115.121.1.28
|
|||
|
LDAP Syntax Description Y 1.3.6.1.4.1.1466.115.121.1.54
|
|||
|
LDAP Schema Definition Y 1.3.6.1.4.1.1466.115.121.1.56
|
|||
|
LDAP Schema Description Y 1.3.6.1.4.1.1466.115.121.1.57
|
|||
|
Master And Shadow Access Points Y 1.3.6.1.4.1.1466.115.121.1.29
|
|||
|
Matching Rule Description Y 1.3.6.1.4.1.1466.115.121.1.30
|
|||
|
Matching Rule Use Description Y 1.3.6.1.4.1.1466.115.121.1.31
|
|||
|
Mail Preference Y 1.3.6.1.4.1.1466.115.121.1.32
|
|||
|
MHS OR Address Y 1.3.6.1.4.1.1466.115.121.1.33
|
|||
|
Modify Rights Y 1.3.6.1.4.1.1466.115.121.1.55
|
|||
|
Name And Optional UID Y 1.3.6.1.4.1.1466.115.121.1.34
|
|||
|
Name Form Description Y 1.3.6.1.4.1.1466.115.121.1.35
|
|||
|
Numeric String Y 1.3.6.1.4.1.1466.115.121.1.36
|
|||
|
Object Class Description Y 1.3.6.1.4.1.1466.115.121.1.37
|
|||
|
Octet String Y 1.3.6.1.4.1.1466.115.121.1.40
|
|||
|
OID Y 1.3.6.1.4.1.1466.115.121.1.38
|
|||
|
Other Mailbox Y 1.3.6.1.4.1.1466.115.121.1.39
|
|||
|
Postal Address Y 1.3.6.1.4.1.1466.115.121.1.41
|
|||
|
Protocol Information Y 1.3.6.1.4.1.1466.115.121.1.42
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 8]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
Presentation Address Y 1.3.6.1.4.1.1466.115.121.1.43
|
|||
|
Printable String Y 1.3.6.1.4.1.1466.115.121.1.44
|
|||
|
Substring Assertion Y 1.3.6.1.4.1.1466.115.121.1.58
|
|||
|
Subtree Specification Y 1.3.6.1.4.1.1466.115.121.1.45
|
|||
|
Supplier Information Y 1.3.6.1.4.1.1466.115.121.1.46
|
|||
|
Supplier Or Consumer Y 1.3.6.1.4.1.1466.115.121.1.47
|
|||
|
Supplier And Consumer Y 1.3.6.1.4.1.1466.115.121.1.48
|
|||
|
Supported Algorithm N 1.3.6.1.4.1.1466.115.121.1.49
|
|||
|
Telephone Number Y 1.3.6.1.4.1.1466.115.121.1.50
|
|||
|
Teletex Terminal Identifier Y 1.3.6.1.4.1.1466.115.121.1.51
|
|||
|
Telex Number Y 1.3.6.1.4.1.1466.115.121.1.52
|
|||
|
UTC Time Y 1.3.6.1.4.1.1466.115.121.1.53
|
|||
|
|
|||
|
A suggested minimum upper bound on the number of characters in value
|
|||
|
with a string-based syntax, or the number of bytes in a value for all
|
|||
|
other syntaxes, may be indicated by appending this bound count inside
|
|||
|
of curly braces following the syntax name's OBJECT IDENTIFIER in an
|
|||
|
Attribute Type Description. This bound is not part of the syntax
|
|||
|
name itself. For instance, "1.3.6.4.1.1466.0{64}" suggests that
|
|||
|
server implementations should allow a string to be 64 characters
|
|||
|
long, although they may allow longer strings. Note that a single
|
|||
|
character of the Directory String syntax may be encoded in more than
|
|||
|
one byte since UTF-8 is a variable-length encoding.
|
|||
|
|
|||
|
4.3.3. Syntax Description
|
|||
|
|
|||
|
The following BNF may be used to associate a short description with a
|
|||
|
syntax OBJECT IDENTIFIER. Implementors should note that future
|
|||
|
versions of this document may expand this definition to include
|
|||
|
additional terms. Terms whose identifier begins with "X-" are
|
|||
|
reserved for private experiments, and MUST be followed by a
|
|||
|
<qdstrings>.
|
|||
|
|
|||
|
SyntaxDescription = "(" whsp
|
|||
|
numericoid whsp
|
|||
|
[ "DESC" qdstring ]
|
|||
|
whsp ")"
|
|||
|
|
|||
|
4.4. Object Classes
|
|||
|
|
|||
|
The format for representation of object classes is defined in X.501
|
|||
|
[3]. In general every entry will contain an abstract class ("top" or
|
|||
|
"alias"), at least one structural object class, and zero or more
|
|||
|
auxiliary object classes. Whether an object class is abstract,
|
|||
|
structural or auxiliary is defined when the object class identifier
|
|||
|
is assigned. An object class definition should not be changed
|
|||
|
without having a new identifier assigned to it.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 9]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
Object class descriptions are written according to the following BNF.
|
|||
|
Implementors should note that future versions of this document may
|
|||
|
expand this definition to include additional terms. Terms whose
|
|||
|
identifier begins with "X-" are reserved for private experiments, and
|
|||
|
MUST be followed by a <qdstrings> encoding.
|
|||
|
|
|||
|
ObjectClassDescription = "(" whsp
|
|||
|
numericoid whsp ; ObjectClass identifier
|
|||
|
[ "NAME" qdescrs ]
|
|||
|
[ "DESC" qdstring ]
|
|||
|
[ "OBSOLETE" whsp ]
|
|||
|
[ "SUP" oids ] ; Superior ObjectClasses
|
|||
|
[ ( "ABSTRACT" / "STRUCTURAL" / "AUXILIARY" ) whsp ]
|
|||
|
; default structural
|
|||
|
[ "MUST" oids ] ; AttributeTypes
|
|||
|
[ "MAY" oids ] ; AttributeTypes
|
|||
|
whsp ")"
|
|||
|
|
|||
|
These are described as sample values for the subschema
|
|||
|
"objectClasses" attribute for a server which implements the LDAP
|
|||
|
schema. While lines have been folded for readability, the values
|
|||
|
transferred in protocol would not contain newlines.
|
|||
|
|
|||
|
Servers SHOULD implement all the object classes referenced in section
|
|||
|
7, except for extensibleObject, which is optional. Servers MAY
|
|||
|
implement additional object classes not listed in this document, and
|
|||
|
if they do so, MUST publish the definitions of the classes in the
|
|||
|
objectClasses attribute of their subschema entries.
|
|||
|
|
|||
|
Schema developers MUST NOT create object class definitions whose
|
|||
|
names conflict with attributes defined for use with LDAP in existing
|
|||
|
standards-track RFCs.
|
|||
|
|
|||
|
4.5. Matching Rules
|
|||
|
|
|||
|
Matching rules are used by servers to compare attribute values
|
|||
|
against assertion values when performing Search and Compare
|
|||
|
operations. They are also used to identify the value to be added or
|
|||
|
deleted when modifying entries, and are used when comparing a
|
|||
|
purported distinguished name with the name of an entry.
|
|||
|
|
|||
|
Most of the attributes given in this document will have an equality
|
|||
|
matching rule defined.
|
|||
|
|
|||
|
Matching rule descriptions are written according to the following
|
|||
|
BNF. Implementors should note that future versions of this document
|
|||
|
may have expanded this BNF to include additional terms. Terms whose
|
|||
|
identifier begins with "X-" are reserved for private experiments, and
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 10]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
MUST be followed by a <qdstrings> encoding.
|
|||
|
|
|||
|
MatchingRuleDescription = "(" whsp
|
|||
|
numericoid whsp ; MatchingRule identifier
|
|||
|
[ "NAME" qdescrs ]
|
|||
|
[ "DESC" qdstring ]
|
|||
|
[ "OBSOLETE" whsp ]
|
|||
|
"SYNTAX" numericoid
|
|||
|
whsp ")"
|
|||
|
|
|||
|
Values of the matchingRuleUse list the attributes which are suitable
|
|||
|
for use with an extensible matching rule.
|
|||
|
|
|||
|
MatchingRuleUseDescription = "(" whsp
|
|||
|
numericoid whsp ; MatchingRule identifier
|
|||
|
[ "NAME" qdescrs ]
|
|||
|
[ "DESC" qdstring ]
|
|||
|
[ "OBSOLETE" ]
|
|||
|
"APPLIES" oids ; AttributeType identifiers
|
|||
|
whsp ")"
|
|||
|
|
|||
|
Servers which support matching rules and the extensibleMatch SHOULD
|
|||
|
implement all the matching rules in section 8.
|
|||
|
|
|||
|
Servers MAY implement additional matching rules not listed in this
|
|||
|
document, and if they do so, MUST publish the definitions of the
|
|||
|
matching rules in the matchingRules attribute of their subschema
|
|||
|
entries. If the server supports the extensibleMatch, then the server
|
|||
|
MUST publish the relationship between the matching rules and
|
|||
|
attributes in the matchingRuleUse attribute.
|
|||
|
|
|||
|
For example, a server which implements a privately-defined matching
|
|||
|
rule for performing sound-alike matches on Directory String-valued
|
|||
|
attributes would include the following in the subschema entry
|
|||
|
(1.2.3.4.5 is an example, the OID of an actual matching rule would be
|
|||
|
different):
|
|||
|
|
|||
|
matchingRule: ( 1.2.3.4.5 NAME 'soundAlikeMatch'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
|
|||
|
|
|||
|
If this matching rule could be used with the attributes 2.5.4.41 and
|
|||
|
2.5.4.15, the following would also be present:
|
|||
|
|
|||
|
matchingRuleUse: ( 1.2.3.4.5 APPLIES (2.5.4.41 $ 2.5.4.15) )
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 11]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
A client could then make use of this matching rule by sending a
|
|||
|
search operation in which the filter is of the extensibleMatch
|
|||
|
choice, the matchingRule field is "soundAlikeMatch", and the type
|
|||
|
field is "2.5.4.41" or "2.5.4.15".
|
|||
|
|
|||
|
5. Attribute Types
|
|||
|
|
|||
|
All LDAP server implementations MUST recognize the attribute types
|
|||
|
defined in this section.
|
|||
|
|
|||
|
Servers SHOULD also recognize all the attributes from section 5 of
|
|||
|
[12].
|
|||
|
|
|||
|
5.1. Standard Operational Attributes
|
|||
|
|
|||
|
Servers MUST maintain values of these attributes in accordance with
|
|||
|
the definitions in X.501(93).
|
|||
|
|
|||
|
5.1.1. createTimestamp
|
|||
|
|
|||
|
This attribute SHOULD appear in entries which were created using the
|
|||
|
Add operation.
|
|||
|
|
|||
|
( 2.5.18.1 NAME 'createTimestamp' EQUALITY generalizedTimeMatch
|
|||
|
ORDERING generalizedTimeOrderingMatch
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
|
|||
|
SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )
|
|||
|
|
|||
|
5.1.2. modifyTimestamp
|
|||
|
|
|||
|
This attribute SHOULD appear in entries which have been modified
|
|||
|
using the Modify operation.
|
|||
|
|
|||
|
( 2.5.18.2 NAME 'modifyTimestamp' EQUALITY generalizedTimeMatch
|
|||
|
ORDERING generalizedTimeOrderingMatch
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
|
|||
|
SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )
|
|||
|
|
|||
|
5.1.3. creatorsName
|
|||
|
|
|||
|
This attribute SHOULD appear in entries which were created using the
|
|||
|
Add operation.
|
|||
|
|
|||
|
( 2.5.18.3 NAME 'creatorsName' EQUALITY distinguishedNameMatch
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
|
|||
|
SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 12]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
5.1.4. modifiersName
|
|||
|
|
|||
|
This attribute SHOULD appear in entries which have been modified
|
|||
|
using the Modify operation.
|
|||
|
|
|||
|
( 2.5.18.4 NAME 'modifiersName' EQUALITY distinguishedNameMatch
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
|
|||
|
SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )
|
|||
|
|
|||
|
5.1.5. subschemaSubentry
|
|||
|
|
|||
|
The value of this attribute is the name of a subschema entry (or
|
|||
|
subentry if the server is based on X.500(93)) in which the server
|
|||
|
makes available attributes specifying the schema.
|
|||
|
|
|||
|
( 2.5.18.10 NAME 'subschemaSubentry'
|
|||
|
EQUALITY distinguishedNameMatch
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 NO-USER-MODIFICATION
|
|||
|
SINGLE-VALUE USAGE directoryOperation )
|
|||
|
|
|||
|
5.1.6. attributeTypes
|
|||
|
|
|||
|
This attribute is typically located in the subschema entry.
|
|||
|
|
|||
|
( 2.5.21.5 NAME 'attributeTypes'
|
|||
|
EQUALITY objectIdentifierFirstComponentMatch
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.3 USAGE directoryOperation )
|
|||
|
|
|||
|
5.1.7. objectClasses
|
|||
|
|
|||
|
This attribute is typically located in the subschema entry.
|
|||
|
|
|||
|
( 2.5.21.6 NAME 'objectClasses'
|
|||
|
EQUALITY objectIdentifierFirstComponentMatch
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.37 USAGE directoryOperation )
|
|||
|
|
|||
|
5.1.8. matchingRules
|
|||
|
|
|||
|
This attribute is typically located in the subschema entry.
|
|||
|
|
|||
|
( 2.5.21.4 NAME 'matchingRules'
|
|||
|
EQUALITY objectIdentifierFirstComponentMatch
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.30 USAGE directoryOperation )
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 13]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
5.1.9. matchingRuleUse
|
|||
|
|
|||
|
This attribute is typically located in the subschema entry.
|
|||
|
|
|||
|
( 2.5.21.8 NAME 'matchingRuleUse'
|
|||
|
EQUALITY objectIdentifierFirstComponentMatch
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.31 USAGE directoryOperation )
|
|||
|
|
|||
|
5.2. LDAP Operational Attributes
|
|||
|
|
|||
|
These attributes are only present in the root DSE (see [1] and [3]).
|
|||
|
|
|||
|
Servers MUST recognize these attribute names, but it is not required
|
|||
|
that a server provide values for these attributes, when the attribute
|
|||
|
corresponds to a feature which the server does not implement.
|
|||
|
|
|||
|
5.2.1. namingContexts
|
|||
|
|
|||
|
The values of this attribute correspond to naming contexts which this
|
|||
|
server masters or shadows. If the server does not master any
|
|||
|
information (e.g. it is an LDAP gateway to a public X.500 directory)
|
|||
|
this attribute will be absent. If the server believes it contains
|
|||
|
the entire directory, the attribute will have a single value, and
|
|||
|
that value will be the empty string (indicating the null DN of the
|
|||
|
root). This attribute will allow a client to choose suitable base
|
|||
|
objects for searching when it has contacted a server.
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.101.120.5 NAME 'namingContexts'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 USAGE dSAOperation )
|
|||
|
|
|||
|
5.2.2. altServer
|
|||
|
|
|||
|
The values of this attribute are URLs of other servers which may be
|
|||
|
contacted when this server becomes unavailable. If the server does
|
|||
|
not know of any other servers which could be used this attribute will
|
|||
|
be absent. Clients may cache this information in case their preferred
|
|||
|
LDAP server later becomes unavailable.
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.101.120.6 NAME 'altServer'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 USAGE dSAOperation )
|
|||
|
|
|||
|
5.2.3. supportedExtension
|
|||
|
|
|||
|
The values of this attribute are OBJECT IDENTIFIERs identifying the
|
|||
|
supported extended operations which the server supports.
|
|||
|
|
|||
|
If the server does not support any extensions this attribute will be
|
|||
|
absent.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 14]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.101.120.7 NAME 'supportedExtension'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 USAGE dSAOperation )
|
|||
|
|
|||
|
5.2.4. supportedControl
|
|||
|
|
|||
|
The values of this attribute are the OBJECT IDENTIFIERs identifying
|
|||
|
controls which the server supports. If the server does not support
|
|||
|
any controls, this attribute will be absent.
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.101.120.13 NAME 'supportedControl'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 USAGE dSAOperation )
|
|||
|
|
|||
|
5.2.5. supportedSASLMechanisms
|
|||
|
|
|||
|
The values of this attribute are the names of supported SASL
|
|||
|
mechanisms which the server supports. If the server does not support
|
|||
|
any mechanisms this attribute will be absent.
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.101.120.14 NAME 'supportedSASLMechanisms'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 USAGE dSAOperation )
|
|||
|
|
|||
|
5.2.6. supportedLDAPVersion
|
|||
|
|
|||
|
The values of this attribute are the versions of the LDAP protocol
|
|||
|
which the server implements.
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.101.120.15 NAME 'supportedLDAPVersion'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 USAGE dSAOperation )
|
|||
|
|
|||
|
5.3. LDAP Subschema Attribute
|
|||
|
|
|||
|
This attribute is typically located in the subschema entry.
|
|||
|
|
|||
|
5.3.1. ldapSyntaxes
|
|||
|
|
|||
|
Servers MAY use this attribute to list the syntaxes which are
|
|||
|
implemented. Each value corresponds to one syntax.
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.101.120.16 NAME 'ldapSyntaxes'
|
|||
|
EQUALITY objectIdentifierFirstComponentMatch
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.54 USAGE directoryOperation )
|
|||
|
|
|||
|
5.4. X.500 Subschema attributes
|
|||
|
|
|||
|
These attributes are located in the subschema entry. All servers
|
|||
|
SHOULD recognize their name, although typically only X.500 servers
|
|||
|
will implement their functionality.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 15]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
5.4.1. dITStructureRules
|
|||
|
|
|||
|
( 2.5.21.1 NAME 'dITStructureRules' EQUALITY integerFirstComponentMatch
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.17 USAGE directoryOperation )
|
|||
|
|
|||
|
5.4.2. nameForms
|
|||
|
|
|||
|
( 2.5.21.7 NAME 'nameForms'
|
|||
|
EQUALITY objectIdentifierFirstComponentMatch
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.35 USAGE directoryOperation )
|
|||
|
|
|||
|
5.4.3. ditContentRules
|
|||
|
|
|||
|
( 2.5.21.2 NAME 'dITContentRules'
|
|||
|
EQUALITY objectIdentifierFirstComponentMatch
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.16 USAGE directoryOperation )
|
|||
|
|
|||
|
6. Syntaxes
|
|||
|
|
|||
|
Servers SHOULD recognize all the syntaxes described in this section.
|
|||
|
|
|||
|
6.1. Attribute Type Description
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.3 DESC 'Attribute Type Description' )
|
|||
|
|
|||
|
Values in this syntax are encoded according to the BNF given at the
|
|||
|
start of section 4.2. For example,
|
|||
|
|
|||
|
( 2.5.4.0 NAME 'objectClass'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )
|
|||
|
|
|||
|
6.2. Binary
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.5 DESC 'Binary' )
|
|||
|
|
|||
|
Values in this syntax are encoded as described in section 4.3.1.
|
|||
|
|
|||
|
6.3. Bit String
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.6 DESC 'Bit String' )
|
|||
|
|
|||
|
Values in this syntax are encoded according to the following BNF:
|
|||
|
|
|||
|
bitstring = "'" *binary-digit "'B"
|
|||
|
|
|||
|
binary-digit = "0" / "1"
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 16]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
Example:
|
|||
|
|
|||
|
'0101111101'B
|
|||
|
|
|||
|
6.4. Boolean
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.7 DESC 'Boolean' )
|
|||
|
|
|||
|
Values in this syntax are encoded according to the following BNF:
|
|||
|
|
|||
|
boolean = "TRUE" / "FALSE"
|
|||
|
|
|||
|
Boolean values have an encoding of "TRUE" if they are logically true,
|
|||
|
and have an encoding of "FALSE" otherwise.
|
|||
|
|
|||
|
6.5. Certificate
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.8 DESC 'Certificate' )
|
|||
|
|
|||
|
Because of the changes from X.509(1988) and X.509(1993) and
|
|||
|
additional changes to the ASN.1 definition to support certificate
|
|||
|
extensions, no string representation is defined, and values in this
|
|||
|
syntax MUST only be transferred using the binary encoding, by
|
|||
|
requesting or returning the attributes with descriptions
|
|||
|
"userCertificate;binary" or "caCertificate;binary". The BNF notation
|
|||
|
in RFC 1778 for "User Certificate" is not recommended to be used.
|
|||
|
|
|||
|
6.6. Certificate List
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.9 DESC 'Certificate List' )
|
|||
|
|
|||
|
Because of the incompatibility of the X.509(1988) and X.509(1993)
|
|||
|
definitions of revocation lists, values in this syntax MUST only be
|
|||
|
transferred using a binary encoding, by requesting or returning the
|
|||
|
attributes with descriptions "certificateRevocationList;binary" or
|
|||
|
"authorityRevocationList;binary". The BNF notation in RFC 1778 for
|
|||
|
"Authority Revocation List" is not recommended to be used.
|
|||
|
|
|||
|
6.7. Certificate Pair
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.10 DESC 'Certificate Pair' )
|
|||
|
|
|||
|
Because the Certificate is being carried in binary, values in this
|
|||
|
syntax MUST only be transferred using a binary encoding, by
|
|||
|
requesting or returning the attribute description
|
|||
|
"crossCertificatePair;binary". The BNF notation in RFC 1778 for
|
|||
|
"Certificate Pair" is not recommended to be used.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 17]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
6.8. Country String
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.11 DESC 'Country String' )
|
|||
|
|
|||
|
A value in this syntax is encoded the same as a value of Directory
|
|||
|
String syntax. Note that this syntax is limited to values of exactly
|
|||
|
two printable string characters, as listed in ISO 3166 [14].
|
|||
|
|
|||
|
CountryString = p p
|
|||
|
|
|||
|
Example:
|
|||
|
US
|
|||
|
|
|||
|
6.9. DN
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.12 DESC 'DN' )
|
|||
|
|
|||
|
Values in the Distinguished Name syntax are encoded to have the
|
|||
|
representation defined in [5]. Note that this representation is not
|
|||
|
reversible to an ASN.1 encoding used in X.500 for Distinguished
|
|||
|
Names, as the CHOICE of any DirectoryString element in an RDN is no
|
|||
|
longer known.
|
|||
|
|
|||
|
Examples (from [5]):
|
|||
|
CN=Steve Kille,O=Isode Limited,C=GB
|
|||
|
OU=Sales+CN=J. Smith,O=Widget Inc.,C=US
|
|||
|
CN=L. Eagle,O=Sue\, Grabbit and Runn,C=GB
|
|||
|
CN=Before\0DAfter,O=Test,C=GB
|
|||
|
1.3.6.1.4.1.1466.0=#04024869,O=Test,C=GB
|
|||
|
SN=Lu\C4\8Di\C4\87
|
|||
|
|
|||
|
6.10. Directory String
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.15 DESC 'Directory String' )
|
|||
|
|
|||
|
A string in this syntax is encoded in the UTF-8 form of ISO 10646 (a
|
|||
|
superset of Unicode). Servers and clients MUST be prepared to
|
|||
|
receive encodings of arbitrary Unicode characters, including
|
|||
|
characters not presently assigned to any character set.
|
|||
|
|
|||
|
For characters in the PrintableString form, the value is encoded as
|
|||
|
the string value itself.
|
|||
|
|
|||
|
If it is of the TeletexString form, then the characters are
|
|||
|
transliterated to their equivalents in UniversalString, and encoded
|
|||
|
in UTF-8 [9].
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 18]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
If it is of the UniversalString or BMPString forms [10], UTF-8 is
|
|||
|
used to encode them.
|
|||
|
|
|||
|
Note: the form of DirectoryString is not indicated in protocol unless
|
|||
|
the attribute value is carried in binary. Servers which convert to
|
|||
|
DAP MUST choose an appropriate form. Servers MUST NOT reject values
|
|||
|
merely because they contain legal Unicode characters outside of the
|
|||
|
range of printable ASCII.
|
|||
|
|
|||
|
Example:
|
|||
|
|
|||
|
This is a string of DirectoryString containing #!%#@
|
|||
|
|
|||
|
6.11. DIT Content Rule Description
|
|||
|
|
|||
|
|
|||
|
ues in this syntax are encoded according to the following BNF.
|
|||
|
lementors should note that future versions of this document
|
|||
|
have expanded this BNF to include additional terms.
|
|||
|
|
|||
|
0
|
|||
|
|
|||
|
DITContentRuleDescription = "("
|
|||
|
numericoid ; Structural ObjectClass identifier
|
|||
|
[ "NAME" qdescrs ]
|
|||
|
[ "DESC" qdstring ]
|
|||
|
[ "OBSOLETE" ]
|
|||
|
[ "AUX" oids ] ; Auxiliary ObjectClasses
|
|||
|
[ "MUST" oids ] ; AttributeType identifiers
|
|||
|
[ "MAY" oids ] ; AttributeType identifiers
|
|||
|
[ "NOT" oids ] ; AttributeType identifiers
|
|||
|
")"
|
|||
|
|
|||
|
0 2. Facsimile Telephone Number
|
|||
|
|
|||
|
3
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.22 DESC 'Facsimile Telephone Number' )
|
|||
|
|
|||
|
Values in this syntax are encoded according to the following BNF:
|
|||
|
|
|||
|
fax-number = printablestring [ "$" faxparameters ]
|
|||
|
|
|||
|
faxparameters = faxparm / ( faxparm "$" faxparameters )
|
|||
|
|
|||
|
faxparm = "twoDimensional" / "fineResolution" /
|
|||
|
"unlimitedLength" /
|
|||
|
"b4Length" / "a3Width" / "b4Width" / "uncompressed"
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 19]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
In the above, the first printablestring is the telephone number,
|
|||
|
based on E.123 [15], and the faxparm tokens represent fax parameters.
|
|||
|
|
|||
|
6.13. Fax
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.23 DESC 'Fax' )
|
|||
|
|
|||
|
Values in this syntax are encoded as if they were octet strings
|
|||
|
containing Group 3 Fax images as defined in [7].
|
|||
|
|
|||
|
6.14. Generalized Time
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.24 DESC 'Generalized Time' )
|
|||
|
|
|||
|
Values in this syntax are encoded as printable strings, represented
|
|||
|
as specified in X.208. Note that the time zone must be specified.
|
|||
|
It is strongly recommended that GMT time be used. For example,
|
|||
|
|
|||
|
199412161032Z
|
|||
|
|
|||
|
6.15. IA5 String
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.26 DESC 'IA5 String' )
|
|||
|
|
|||
|
The encoding of a value in this syntax is the string value itself.
|
|||
|
|
|||
|
6.16. INTEGER
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.27 DESC 'INTEGER' )
|
|||
|
|
|||
|
Values in this syntax are encoded as the decimal representation of
|
|||
|
their values, with each decimal digit represented by the its
|
|||
|
character equivalent. So the number 1321 is represented by the
|
|||
|
character string "1321".
|
|||
|
|
|||
|
6.17. JPEG
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.28 DESC 'JPEG' )
|
|||
|
|
|||
|
Values in this syntax are encoded as strings containing JPEG images
|
|||
|
in the JPEG File Interchange Format (JFIF), as described in [8].
|
|||
|
|
|||
|
6.18. Matching Rule Description
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.30 DESC 'Matching Rule Description' )
|
|||
|
|
|||
|
Values of type matchingRules are encoded as strings according to the
|
|||
|
BNF given in section 4.5.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 20]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
6.19. Matching Rule Use Description
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.31 DESC 'Matching Rule Use Description'
|
|||
|
)
|
|||
|
|
|||
|
Values of type matchingRuleUse are encoded as strings according to
|
|||
|
the BNF given in section 4.5.
|
|||
|
|
|||
|
6.20. MHS OR Address
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.33 DESC 'MHS OR Address' )
|
|||
|
|
|||
|
Values in this syntax are encoded as strings, according to the format
|
|||
|
defined in [11].
|
|||
|
|
|||
|
6.21. Name And Optional UID
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.34 DESC 'Name And Optional UID' )
|
|||
|
|
|||
|
Values in this syntax are encoded according to the following BNF:
|
|||
|
|
|||
|
NameAndOptionalUID = DistinguishedName [ "#" bitstring ]
|
|||
|
|
|||
|
Although the '#' character may occur in a string representation of a
|
|||
|
distinguished name, no additional special quoting is done. This
|
|||
|
syntax has been added subsequent to RFC 1778.
|
|||
|
|
|||
|
Example:
|
|||
|
|
|||
|
1.3.6.1.4.1.1466.0=#04024869,O=Test,C=GB#'0101'B
|
|||
|
|
|||
|
6.22. Name Form Description
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.35 DESC 'Name Form Description' )
|
|||
|
|
|||
|
Values in this syntax are encoded according to the following BNF.
|
|||
|
Implementors should note that future versions of this document may
|
|||
|
have expanded this BNF to include additional terms.
|
|||
|
|
|||
|
NameFormDescription = "(" whsp
|
|||
|
numericoid whsp ; NameForm identifier
|
|||
|
[ "NAME" qdescrs ]
|
|||
|
[ "DESC" qdstring ]
|
|||
|
[ "OBSOLETE" whsp ]
|
|||
|
"OC" woid ; Structural ObjectClass
|
|||
|
"MUST" oids ; AttributeTypes
|
|||
|
[ "MAY" oids ] ; AttributeTypes
|
|||
|
whsp ")"
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 21]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
6.23. Numeric String
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.36 DESC 'Numeric String' )
|
|||
|
|
|||
|
The encoding of a string in this syntax is the string value itself.
|
|||
|
Example:
|
|||
|
|
|||
|
1997
|
|||
|
|
|||
|
6.24. Object Class Description
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.37 DESC 'Object Class Description' )
|
|||
|
|
|||
|
Values in this syntax are encoded according to the BNF in section
|
|||
|
4.4.
|
|||
|
|
|||
|
6.25. OID
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.38 DESC 'OID' )
|
|||
|
|
|||
|
Values in the Object Identifier syntax are encoded according to
|
|||
|
the BNF in section 4.1 for "oid".
|
|||
|
|
|||
|
Example:
|
|||
|
|
|||
|
1.2.3.4
|
|||
|
cn
|
|||
|
|
|||
|
6.26. Other Mailbox
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.39 DESC 'Other Mailbox' )
|
|||
|
|
|||
|
Values in this syntax are encoded according to the following BNF:
|
|||
|
|
|||
|
otherMailbox = mailbox-type "$" mailbox
|
|||
|
|
|||
|
mailbox-type = printablestring
|
|||
|
|
|||
|
mailbox = <an encoded IA5 String>
|
|||
|
|
|||
|
In the above, mailbox-type represents the type of mail system in
|
|||
|
which the mailbox resides, for example "MCIMail"; and mailbox is the
|
|||
|
actual mailbox in the mail system defined by mailbox-type.
|
|||
|
|
|||
|
6.27. Postal Address
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.41 DESC 'Postal Address' )
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 22]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
Values in this syntax are encoded according to the following BNF:
|
|||
|
|
|||
|
postal-address = dstring *( "$" dstring )
|
|||
|
|
|||
|
In the above, each dstring component of a postal address value is
|
|||
|
encoded as a value of type Directory String syntax. Backslashes and
|
|||
|
dollar characters, if they occur in the component, are quoted as
|
|||
|
described in section 4.3. Many servers limit the postal address to
|
|||
|
six lines of up to thirty characters.
|
|||
|
|
|||
|
Example:
|
|||
|
|
|||
|
1234 Main St.$Anytown, CA 12345$USA
|
|||
|
\241,000,000 Sweepstakes$PO Box 1000000$Anytown, CA 12345$USA
|
|||
|
|
|||
|
6.28. Presentation Address
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.43 DESC 'Presentation Address' )
|
|||
|
|
|||
|
Values in this syntax are encoded with the representation described
|
|||
|
in RFC 1278 [6].
|
|||
|
|
|||
|
6.29. Printable String
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.44 DESC 'Printable String' )
|
|||
|
|
|||
|
The encoding of a value in this syntax is the string value itself.
|
|||
|
PrintableString is limited to the characters in production p of
|
|||
|
section 4.1.
|
|||
|
|
|||
|
Example:
|
|||
|
|
|||
|
This is a PrintableString
|
|||
|
|
|||
|
6.30. Telephone Number
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.50 DESC 'Telephone Number' )
|
|||
|
|
|||
|
Values in this syntax are encoded as if they were Printable String
|
|||
|
types. Telephone numbers are recommended in X.520 to be in
|
|||
|
international form, as described in E.123 [15].
|
|||
|
|
|||
|
Example:
|
|||
|
|
|||
|
+1 512 305 0280
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 23]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
6.31. UTC Time
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.53 DESC 'UTC Time' )
|
|||
|
|
|||
|
Values in this syntax are encoded as if they were printable strings
|
|||
|
with the strings containing a UTCTime value. This is historical; new
|
|||
|
attribute definitions SHOULD use GeneralizedTime instead.
|
|||
|
|
|||
|
6.32. LDAP Syntax Description
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.54 DESC 'LDAP Syntax Description' )
|
|||
|
|
|||
|
Values in this syntax are encoded according to the BNF in section
|
|||
|
4.3.3.
|
|||
|
|
|||
|
6.33. DIT Structure Rule Description
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.17 DESC 'DIT Structure Rule Description'
|
|||
|
)
|
|||
|
|
|||
|
Values with this syntax are encoded according to the following BNF:
|
|||
|
|
|||
|
DITStructureRuleDescription = "(" whsp
|
|||
|
ruleidentifier whsp ; DITStructureRule identifier
|
|||
|
[ "NAME" qdescrs ]
|
|||
|
[ "DESC" qdstring ]
|
|||
|
[ "OBSOLETE" whsp ]
|
|||
|
"FORM" woid whsp ; NameForm
|
|||
|
[ "SUP" ruleidentifiers whsp ] ; superior DITStructureRules
|
|||
|
")"
|
|||
|
|
|||
|
ruleidentifier = integer
|
|||
|
|
|||
|
ruleidentifiers = ruleidentifier |
|
|||
|
"(" whsp ruleidentifierlist whsp ")"
|
|||
|
|
|||
|
ruleidentifierlist = [ ruleidentifier *( ruleidentifier ) ]
|
|||
|
|
|||
|
7. Object Classes
|
|||
|
|
|||
|
Servers SHOULD recognize all the names of standard classes from
|
|||
|
section 7 of [12].
|
|||
|
|
|||
|
7.1. Extensible Object Class
|
|||
|
|
|||
|
The extensibleObject object class, if present in an entry, permits
|
|||
|
that entry to optionally hold any attribute. The MAY attribute list
|
|||
|
of this class is implicitly the set of all attributes.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 24]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.101.120.111 NAME 'extensibleObject'
|
|||
|
SUP top AUXILIARY )
|
|||
|
|
|||
|
The mandatory attributes of the other object classes of this entry
|
|||
|
are still required to be present.
|
|||
|
|
|||
|
Note that not all servers will implement this object class, and those
|
|||
|
which do not will reject requests to add entries which contain this
|
|||
|
object class, or modify an entry to add this object class.
|
|||
|
|
|||
|
7.2. subschema
|
|||
|
|
|||
|
This object class is used in the subschema entry.
|
|||
|
|
|||
|
( 2.5.20.1 NAME 'subschema' AUXILIARY
|
|||
|
MAY ( dITStructureRules $ nameForms $ ditContentRules $
|
|||
|
objectClasses $ attributeTypes $ matchingRules $
|
|||
|
matchingRuleUse ) )
|
|||
|
|
|||
|
The ldapSyntaxes operational attribute may also be present in
|
|||
|
subschema entries.
|
|||
|
|
|||
|
8. Matching Rules
|
|||
|
|
|||
|
Servers which implement the extensibleMatch filter SHOULD allow all
|
|||
|
the matching rules listed in this section to be used in the
|
|||
|
extensibleMatch. In general these servers SHOULD allow matching
|
|||
|
rules to be used with all attribute types known to the server, when
|
|||
|
the assertion syntax of the matching rule is the same as the value
|
|||
|
syntax of the attribute.
|
|||
|
|
|||
|
Servers MAY implement additional matching rules.
|
|||
|
|
|||
|
8.1. Matching Rules used in Equality Filters
|
|||
|
|
|||
|
Servers SHOULD be capable of performing the following matching rules.
|
|||
|
|
|||
|
For all these rules, the assertion syntax is the same as the value
|
|||
|
syntax.
|
|||
|
|
|||
|
( 2.5.13.0 NAME 'objectIdentifierMatch'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )
|
|||
|
|
|||
|
If the client supplies a filter using an objectIdentifierMatch whose
|
|||
|
matchValue oid is in the "descr" form, and the oid is not recognized
|
|||
|
by the server, then the filter is Undefined.
|
|||
|
|
|||
|
( 2.5.13.1 NAME 'distinguishedNameMatch'
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 25]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
|
|||
|
|
|||
|
( 2.5.13.2 NAME 'caseIgnoreMatch'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
|
|||
|
|
|||
|
( 2.5.13.8 NAME 'numericStringMatch'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.36 )
|
|||
|
|
|||
|
( 2.5.13.11 NAME 'caseIgnoreListMatch'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 )
|
|||
|
|
|||
|
( 2.5.13.14 NAME 'integerMatch'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )
|
|||
|
|
|||
|
( 2.5.13.16 NAME 'bitStringMatch'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.6 )
|
|||
|
|
|||
|
( 2.5.13.20 NAME 'telephoneNumberMatch'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.50 )
|
|||
|
|
|||
|
( 2.5.13.22 NAME 'presentationAddressMatch'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.43 )
|
|||
|
|
|||
|
( 2.5.13.23 NAME 'uniqueMemberMatch'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.34 )
|
|||
|
|
|||
|
( 2.5.13.24 NAME 'protocolInformationMatch'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.42 )
|
|||
|
|
|||
|
( 2.5.13.27 NAME 'generalizedTimeMatch'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 )
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.109.114.1 NAME 'caseExactIA5Match'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.109.114.2 NAME 'caseIgnoreIA5Match'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
|
|||
|
|
|||
|
When performing the caseIgnoreMatch, caseIgnoreListMatch,
|
|||
|
telephoneNumberMatch, caseExactIA5Match and caseIgnoreIA5Match,
|
|||
|
multiple adjoining whitespace characters are treated the same as an
|
|||
|
individual space, and leading and trailing whitespace is ignored.
|
|||
|
|
|||
|
Clients MUST NOT assume that servers are capable of transliteration
|
|||
|
of Unicode values.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 26]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
8.2. Matching Rules used in Inequality Filters
|
|||
|
|
|||
|
Servers SHOULD be capable of performing the following matching rules,
|
|||
|
which are used in greaterOrEqual and lessOrEqual filters.
|
|||
|
|
|||
|
( 2.5.13.28 NAME 'generalizedTimeOrderingMatch'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 )
|
|||
|
|
|||
|
( 2.5.13.3 NAME 'caseIgnoreOrderingMatch'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
|
|||
|
|
|||
|
The sort ordering for a caseIgnoreOrderingMatch is implementation-
|
|||
|
dependent.
|
|||
|
|
|||
|
8.3. Syntax and Matching Rules used in Substring Filters
|
|||
|
|
|||
|
The Substring Assertion syntax is used only as the syntax of
|
|||
|
assertion values in the extensible match. It is not used as the
|
|||
|
syntax of attributes, or in the substring filter.
|
|||
|
|
|||
|
( 1.3.6.1.4.1.1466.115.121.1.58 DESC 'Substring Assertion' )
|
|||
|
|
|||
|
The Substring Assertion is encoded according to the following BNF:
|
|||
|
|
|||
|
substring = [initial] any [final]
|
|||
|
initial = value
|
|||
|
any = "*" *(value "*")
|
|||
|
final = value
|
|||
|
|
|||
|
The <value> production is UTF-8 encoded string. Should the backslash
|
|||
|
or asterix characters be present in a production of <value>, they are
|
|||
|
quoted as described in section 4.3.
|
|||
|
|
|||
|
Servers SHOULD be capable of performing the following matching rules,
|
|||
|
which are used in substring filters.
|
|||
|
|
|||
|
( 2.5.13.4 NAME 'caseIgnoreSubstringsMatch'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )
|
|||
|
|
|||
|
( 2.5.13.21 NAME 'telephoneNumberSubstringsMatch'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )
|
|||
|
|
|||
|
( 2.5.13.10 NAME 'numericStringSubstringsMatch'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 27]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
8.4. Matching Rules for Subschema Attributes
|
|||
|
|
|||
|
Servers which allow subschema entries to be modified by clients MUST
|
|||
|
support the following matching rules, as they are the equality
|
|||
|
matching rules for several of the subschema attributes.
|
|||
|
|
|||
|
( 2.5.13.29 NAME 'integerFirstComponentMatch'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )
|
|||
|
|
|||
|
( 2.5.13.30 NAME 'objectIdentifierFirstComponentMatch'
|
|||
|
SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )
|
|||
|
|
|||
|
Implementors should note that the assertion syntax of these matching
|
|||
|
rules, an INTEGER or OID, is different from the value syntax of
|
|||
|
attributes for which this is the equality matching rule.
|
|||
|
|
|||
|
If the client supplies an extensible filter using an
|
|||
|
objectIdentifierFirstComponentMatch whose matchValue is in the
|
|||
|
"descr" form, and the OID is not recognized by the server, then the
|
|||
|
filter is Undefined.
|
|||
|
|
|||
|
9. Security Considerations
|
|||
|
|
|||
|
9.1. Disclosure
|
|||
|
|
|||
|
Attributes of directory entries are used to provide descriptive
|
|||
|
information about the real-world objects they represent, which can be
|
|||
|
people, organizations or devices. Most countries have privacy laws
|
|||
|
regarding the publication of information about people.
|
|||
|
|
|||
|
9.2. Use of Attribute Values in Security Applications
|
|||
|
|
|||
|
The transformations of an AttributeValue value from its X.501 form to
|
|||
|
an LDAP string representation are not always reversible back to the
|
|||
|
same BER or DER form. An example of a situation which requires the
|
|||
|
DER form of a distinguished name is the verification of an X.509
|
|||
|
certificate.
|
|||
|
|
|||
|
For example, a distinguished name consisting of one RDN with one AVA,
|
|||
|
in which the type is commonName and the value is of the TeletexString
|
|||
|
choice with the letters 'Sam' would be represented in LDAP as the
|
|||
|
string CN=Sam. Another distinguished name in which the value is
|
|||
|
still 'Sam' but of the PrintableString choice would have the same
|
|||
|
representation CN=Sam.
|
|||
|
|
|||
|
Applications which require the reconstruction of the DER form of the
|
|||
|
value SHOULD NOT use the string representation of attribute syntaxes
|
|||
|
when converting a value to LDAP format. Instead it SHOULD use the
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 28]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
Binary syntax.
|
|||
|
|
|||
|
10. Acknowledgements
|
|||
|
|
|||
|
This document is based substantially on RFC 1778, written by Tim
|
|||
|
Howes, Steve Kille, Wengyik Yeong and Colin Robbins.
|
|||
|
|
|||
|
Many of the attribute syntax encodings defined in this and related
|
|||
|
documents are adapted from those used in the QUIPU and the IC R3
|
|||
|
X.500 implementations. The contributions of the authors of both these
|
|||
|
implementations in the specification of syntaxes are gratefully
|
|||
|
acknowledged.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 29]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
11. Authors' Addresses
|
|||
|
|
|||
|
Mark Wahl
|
|||
|
Critical Angle Inc.
|
|||
|
4815 West Braker Lane #502-385
|
|||
|
Austin, TX 78759
|
|||
|
USA
|
|||
|
|
|||
|
Phone: +1 512 372-3160
|
|||
|
EMail: M.Wahl@critical-angle.com
|
|||
|
|
|||
|
Andy Coulbeck
|
|||
|
Isode Inc.
|
|||
|
9390 Research Blvd Suite 305
|
|||
|
Austin, TX 78759
|
|||
|
USA
|
|||
|
|
|||
|
Phone: +1 512 231-8993
|
|||
|
EMail: A.Coulbeck@isode.com
|
|||
|
|
|||
|
Tim Howes
|
|||
|
Netscape Communications Corp.
|
|||
|
501 E. Middlefield Rd, MS MV068
|
|||
|
Mountain View, CA 94043
|
|||
|
USA
|
|||
|
|
|||
|
Phone: +1 650 937-3419
|
|||
|
EMail: howes@netscape.com
|
|||
|
|
|||
|
Steve Kille
|
|||
|
Isode Limited
|
|||
|
The Dome, The Square
|
|||
|
Richmond
|
|||
|
TW9 1DT
|
|||
|
UK
|
|||
|
|
|||
|
Phone: +44-181-332-9091
|
|||
|
EMail: S.Kille@isode.com
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 30]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
12. Bibliography
|
|||
|
|
|||
|
[1] Wahl, M., Howes, T., and S. Kille, "Lightweight Directory Access
|
|||
|
Protocol (v3)", RFC 2251, December 1997.
|
|||
|
|
|||
|
[2] The Directory: Selected Attribute Types. ITU-T Recommendation
|
|||
|
X.520, 1993.
|
|||
|
|
|||
|
[3] The Directory: Models. ITU-T Recommendation X.501, 1993.
|
|||
|
|
|||
|
[4] Bradner, S., "Key words for use in RFCs to Indicate Requirement
|
|||
|
Levels", RFC 2119, March 1997.
|
|||
|
|
|||
|
[5] Wahl, M., Kille, S., and T. Howes, "Lightweight Directory Access
|
|||
|
Protocol (v3): UTF-8 String Representation of
|
|||
|
Distinguished Names", RFC 2253, December 1997.
|
|||
|
|
|||
|
[6] Kille, S., "A String Representation for Presentation Addresses",
|
|||
|
RFC 1278, November 1991.
|
|||
|
|
|||
|
[7] Terminal Equipment and Protocols for Telematic Services -
|
|||
|
Standardization of Group 3 facsimile apparatus for document
|
|||
|
transmission. CCITT, Recommendation T.4.
|
|||
|
|
|||
|
[8] JPEG File Interchange Format (Version 1.02). Eric Hamilton,
|
|||
|
C-Cube Microsystems, Milpitas, CA, September 1, 1992.
|
|||
|
|
|||
|
[9] Yergeau, F., "UTF-8, a transformation format of Unicode and ISO
|
|||
|
10646", RFC 2044, October 1996.
|
|||
|
|
|||
|
[10] Universal Multiple-Octet Coded Character Set (UCS) -
|
|||
|
Architecture and Basic Multilingual Plane, ISO/IEC 10646-1 :
|
|||
|
1993 (With amendments).
|
|||
|
|
|||
|
[11] Hardcastle-Kille, S., "Mapping between X.400(1988) / ISO 10021
|
|||
|
and RFC 822", RFC 1327, May 1992.
|
|||
|
|
|||
|
[12] Wahl, M., "A Summary of the X.500(96) User Schema for use
|
|||
|
with LDAPv3", RFC 2256, December 1997.
|
|||
|
|
|||
|
[13] Crocker, D., "Standard of the Format of ARPA-Internet Text
|
|||
|
Messages", STD 11, RFC 822, August 1982.
|
|||
|
|
|||
|
[14] ISO 3166, "Codes for the representation of names of countries".
|
|||
|
|
|||
|
[15] ITU-T Rec. E.123, Notation for national and international
|
|||
|
telephone numbers, 1988.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 31]
|
|||
|
|
|||
|
RFC 2252 LADPv3 Attributes December 1997
|
|||
|
|
|||
|
|
|||
|
13. Full Copyright Statement
|
|||
|
|
|||
|
Copyright (C) The Internet Society (1997). 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.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Wahl, et. al. Standards Track [Page 32]
|
|||
|
|