7 Network Working Group M. Wahl
8 Request for Comments: 2252 Critical Angle Inc.
9 Category: Standards Track A. Coulbeck
12 Netscape Communications Corp.
18 Lightweight Directory Access Protocol (v3):
19 Attribute Syntax Definitions
21 1. Status of this Memo
23 This document specifies an Internet standards track protocol for the
24 Internet community, and requests discussion and suggestions for
25 improvements. Please refer to the current edition of the "Internet
26 Official Protocol Standards" (STD 1) for the standardization state
27 and status of this protocol. Distribution of this memo is unlimited.
31 Copyright (C) The Internet Society (1997). All Rights Reserved.
35 This document describes a directory access protocol that provides
36 both read and update access. Update access requires secure
37 authentication, but this document does not mandate implementation of
38 any satisfactory authentication mechanisms.
40 In accordance with RFC 2026, section 4.4.1, this specification is
41 being approved by IESG as a Proposed Standard despite this
42 limitation, for the following reasons:
44 a. to encourage implementation and interoperability testing of
45 these protocols (with or without update access) before they
48 b. to encourage deployment and use of these protocols in read-only
49 applications. (e.g. applications where LDAPv3 is used as
50 a query language for directories which are updated by some
51 secure mechanism other than LDAP), and
58 Wahl, et. al. Standards Track [Page 1]
60 RFC 2252 LADPv3 Attributes December 1997
63 c. to avoid delaying the advancement and deployment of other Internet
64 standards-track protocols which require the ability to query, but
65 not update, LDAPv3 directory servers.
67 Readers are hereby warned that until mandatory authentication
68 mechanisms are standardized, clients and servers written according to
69 this specification which make use of update functionality are
70 UNLIKELY TO INTEROPERATE, or MAY INTEROPERATE ONLY IF AUTHENTICATION
71 IS REDUCED TO AN UNACCEPTABLY WEAK LEVEL.
73 Implementors are hereby discouraged from deploying LDAPv3 clients or
74 servers which implement the update functionality, until a Proposed
75 Standard for mandatory authentication in LDAPv3 has been approved and
80 The Lightweight Directory Access Protocol (LDAP) [1] requires that
81 the contents of AttributeValue fields in protocol elements be octet
82 strings. This document defines a set of syntaxes for LDAPv3, and the
83 rules by which attribute values of these syntaxes are represented as
84 octet strings for transmission in the LDAP protocol. The syntaxes
85 defined in this document are referenced by this and other documents
86 that define attribute types. This document also defines the set of
87 attribute types which LDAP servers should support.
91 This document defines the framework for developing schemas for
92 directories accessible via the Lightweight Directory Access Protocol.
94 Schema is the collection of attribute type definitions, object class
95 definitions and other information which a server uses to determine
96 how to match a filter or attribute value assertion (in a compare
97 operation) against the attributes of an entry, and whether to permit
98 add and modify operations.
100 Section 4 states the general requirements and notations for attribute
101 types, object classes, syntax and matching rule definitions.
103 Section 5 lists attributes, section 6 syntaxes and section 7 object
106 Additional documents define schemas for representing real-world
107 objects as directory entries.
114 Wahl, et. al. Standards Track [Page 2]
116 RFC 2252 LADPv3 Attributes December 1997
121 This document describes encodings used in an Internet protocol.
123 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
124 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
125 document are to be interpreted as described in RFC 2119 [4].
127 Attribute Type and Object Class definitions are written in a string
128 representation of the AttributeTypeDescription and
129 ObjectClassDescription data types defined in X.501(93) [3].
130 Implementors are strongly advised to first read the description of
131 how schema is represented in X.500 before reading the rest of this
134 4.1. Common Encoding Aspects
136 For the purposes of defining the encoding rules for attribute
137 syntaxes, the following BNF definitions will be used. They are based
138 on the BNF styles of RFC 822 [13].
140 a = "a" / "b" / "c" / "d" / "e" / "f" / "g" / "h" / "i" /
141 "j" / "k" / "l" / "m" / "n" / "o" / "p" / "q" / "r" /
142 "s" / "t" / "u" / "v" / "w" / "x" / "y" / "z" / "A" /
143 "B" / "C" / "D" / "E" / "F" / "G" / "H" / "I" / "J" /
144 "K" / "L" / "M" / "N" / "O" / "P" / "Q" / "R" / "S" /
145 "T" / "U" / "V" / "W" / "X" / "Y" / "Z"
147 d = "0" / "1" / "2" / "3" / "4" /
148 "5" / "6" / "7" / "8" / "9"
150 hex-digit = d / "a" / "b" / "c" / "d" / "e" / "f" /
151 "A" / "B" / "C" / "D" / "E" / "F"
153 k = a / d / "-" / ";"
155 p = a / d / """ / "(" / ")" / "+" / "," /
156 "-" / "." / "/" / ":" / "?" / " "
164 keystring = a [ anhstring ]
166 printablestring = 1*p
170 Wahl, et. al. Standards Track [Page 3]
172 RFC 2252 LADPv3 Attributes December 1997
179 utf8 = <any sequence of octets formed from the UTF-8 [9]
180 transformation of a character from ISO10646 [10]>
184 qdstring = whsp "'" dstring "'" whsp
186 qdstringlist = [ qdstring *( qdstring ) ]
188 qdstrings = qdstring / ( whsp "(" qdstringlist ")" whsp )
190 In the following BNF for the string representation of OBJECT
191 IDENTIFIERs, descr is the syntactic representation of an object
192 descriptor, which consists of letters and digits, starting with a
193 letter. An OBJECT IDENTIFIER in the numericoid format should not
194 have leading zeroes (e.g. "0.9.3" is permitted but "0.09.3" should
197 When encoding 'oid' elements in a value, the descr encoding option
198 SHOULD be used in preference to the numericoid. An object descriptor
199 is a more readable alias for a number OBJECT IDENTIFIER, and these
200 (where assigned and known by the implementation) SHOULD be used in
201 preference to numeric oids to the greatest extent possible. Examples
202 of object descriptors in LDAP are attribute type, object class and
205 oid = descr / numericoid
209 numericoid = numericstring *( "." numericstring )
213 ; set of oids of either form
214 oids = woid / ( "(" oidlist ")" )
216 oidlist = woid *( "$" woid )
218 ; object descriptors used as schema element names
219 qdescrs = qdescr / ( whsp "(" qdescrlist ")" whsp )
221 qdescrlist = [ qdescr *( qdescr ) ]
226 Wahl, et. al. Standards Track [Page 4]
228 RFC 2252 LADPv3 Attributes December 1997
231 qdescr = whsp "'" descr "'" whsp
235 The attribute types are described by sample values for the subschema
236 "attributeTypes" attribute, which is written in the
237 AttributeTypeDescription syntax. While lines have been folded for
238 readability, the values transferred in protocol would not contain
241 The AttributeTypeDescription is encoded according to the following
242 BNF, and the productions for oid, qdescrs and qdstring are given in
243 section 4.1. Implementors should note that future versions of this
244 document may have expanded this BNF to include additional terms.
245 Terms which begin with the characters "X-" are reserved for private
246 experiments, and MUST be followed by a <qdstrings>.
248 AttributeTypeDescription = "(" whsp
249 numericoid whsp ; AttributeType identifier
250 [ "NAME" qdescrs ] ; name used in AttributeType
251 [ "DESC" qdstring ] ; description
253 [ "SUP" woid ] ; derived from this other
255 [ "EQUALITY" woid ; Matching Rule name
256 [ "ORDERING" woid ; Matching Rule name
257 [ "SUBSTR" woid ] ; Matching Rule name
258 [ "SYNTAX" whsp noidlen whsp ] ; see section 4.3
259 [ "SINGLE-VALUE" whsp ] ; default multi-valued
260 [ "COLLECTIVE" whsp ] ; default not collective
261 [ "NO-USER-MODIFICATION" whsp ]; default user modifiable
262 [ "USAGE" whsp AttributeUsage ]; default userApplications
267 "directoryOperation" /
268 "distributedOperation" / ; DSA-shared
269 "dSAOperation" ; DSA-specific, value depends on server
271 Servers are not required to provide the same or any text in the
272 description part of the subschema values they maintain. Servers
273 SHOULD provide at least one of the "SUP" and "SYNTAX" fields for each
274 AttributeTypeDescription.
276 Servers MUST implement all the attribute types referenced in sections
282 Wahl, et. al. Standards Track [Page 5]
284 RFC 2252 LADPv3 Attributes December 1997
287 Servers MAY recognize additional names and attributes not listed in
288 this document, and if they do so, MUST publish the definitions of the
289 types in the attributeTypes attribute of their subschema entries.
291 Schema developers MUST NOT create attribute definitions whose names
292 conflict with attributes defined for use with LDAP in existing
293 standards-track RFCs.
295 An AttributeDescription can be used as the value in a NAME part of an
296 AttributeTypeDescription. Note that these are case insensitive.
298 Note that the AttributeTypeDescription does not list the matching
299 rules which can can be used with that attribute type in an
300 extensibleMatch search filter. This is done using the
301 matchingRuleUse attribute described in section 4.5.
303 This document refines the schema description of X.501 by requiring
304 that the syntax field in an AttributeTypeDescription be a string
305 representation of an OBJECT IDENTIFIER for the LDAP string syntax
306 definition, and an optional indication of the maximum length of a
307 value of this attribute (defined in section 4.3.2).
311 This section defines general requirements for LDAP attribute value
312 syntax encodings. All documents defining attribute syntax encodings
313 for use with LDAP are expected to conform to these requirements.
315 The encoding rules defined for a given attribute syntax must produce
316 octet strings. To the greatest extent possible, encoded octet
317 strings should be usable in their native encoded form for display
318 purposes. In particular, encoding rules for attribute syntaxes
319 defining non-binary values should produce strings that can be
320 displayed with little or no translation by clients implementing LDAP.
321 There are a few cases (e.g. audio) however, when it is not sensible
322 to produce a printable representation, and clients MUST NOT assume
323 that an unrecognized syntax is a string representation.
325 In encodings where an arbitrary string, not a Distinguished Name, is
326 used as part of a larger production, and other than as part of a
327 Distinguished Name, a backslash quoting mechanism is used to escape
328 the following separator symbol character (such as "'", "$" or "#") if
329 it should occur in that string. The backslash is followed by a pair
330 of hexadecimal digits representing the next character. A backslash
331 itself in the string which forms part of a larger syntax is always
332 transmitted as '\5C' or '\5c'. An example is given in section 6.27.
338 Wahl, et. al. Standards Track [Page 6]
340 RFC 2252 LADPv3 Attributes December 1997
343 Syntaxes are also defined for matching rules whose assertion value
344 syntax is different from the attribute value syntax.
346 4.3.1 Binary Transfer of Values
348 This encoding format is used if the binary encoding is requested by
349 the client for an attribute, or if the attribute syntax name is
350 "1.3.6.1.4.1.1466.115.121.1.5". The contents of the LDAP
351 AttributeValue or AssertionValue field is a BER-encoded instance of
352 the attribute value or a matching rule assertion value ASN.1 data
353 type as defined for use with X.500. (The first byte inside the OCTET
354 STRING wrapper is a tag octet. However, the OCTET STRING is still
355 encoded in primitive form.)
357 All servers MUST implement this form for both generating attribute
358 values in search responses, and parsing attribute values in add,
359 compare and modify requests, if the attribute type is recognized and
360 the attribute syntax name is that of Binary. Clients which request
361 that all attributes be returned from entries MUST be prepared to
362 receive values in binary (e.g. userCertificate;binary), and SHOULD
363 NOT simply display binary or unrecognized values to users.
365 4.3.2. Syntax Object Identifiers
367 Syntaxes for use with LDAP are named by OBJECT IDENTIFIERs, which are
368 dotted-decimal strings. These are not intended to be displayed to
371 noidlen = numericoid [ "{" len "}" ]
375 The following table lists some of the syntaxes that have been defined
376 for LDAP thus far. The H-R column suggests whether a value in that
377 syntax would likely be a human readable string. Clients and servers
378 need not implement all the syntaxes listed here, and MAY implement
381 Other documents may define additional syntaxes. However, the
382 definition of additional arbitrary syntaxes is strongly deprecated
383 since it will hinder interoperability: today's client and server
384 implementations generally do not have the ability to dynamically
385 recognize new syntaxes. In most cases attributes will be defined
386 with the syntax for directory strings.
394 Wahl, et. al. Standards Track [Page 7]
396 RFC 2252 LADPv3 Attributes December 1997
399 Value being represented H-R OBJECT IDENTIFIER
400 =================================================================
401 ACI Item N 1.3.6.1.4.1.1466.115.121.1.1
402 Access Point Y 1.3.6.1.4.1.1466.115.121.1.2
403 Attribute Type Description Y 1.3.6.1.4.1.1466.115.121.1.3
404 Audio N 1.3.6.1.4.1.1466.115.121.1.4
405 Binary N 1.3.6.1.4.1.1466.115.121.1.5
406 Bit String Y 1.3.6.1.4.1.1466.115.121.1.6
407 Boolean Y 1.3.6.1.4.1.1466.115.121.1.7
408 Certificate N 1.3.6.1.4.1.1466.115.121.1.8
409 Certificate List N 1.3.6.1.4.1.1466.115.121.1.9
410 Certificate Pair N 1.3.6.1.4.1.1466.115.121.1.10
411 Country String Y 1.3.6.1.4.1.1466.115.121.1.11
412 DN Y 1.3.6.1.4.1.1466.115.121.1.12
413 Data Quality Syntax Y 1.3.6.1.4.1.1466.115.121.1.13
414 Delivery Method Y 1.3.6.1.4.1.1466.115.121.1.14
415 Directory String Y 1.3.6.1.4.1.1466.115.121.1.15
416 DIT Content Rule Description Y 1.3.6.1.4.1.1466.115.121.1.16
417 DIT Structure Rule Description Y 1.3.6.1.4.1.1466.115.121.1.17
418 DL Submit Permission Y 1.3.6.1.4.1.1466.115.121.1.18
419 DSA Quality Syntax Y 1.3.6.1.4.1.1466.115.121.1.19
420 DSE Type Y 1.3.6.1.4.1.1466.115.121.1.20
421 Enhanced Guide Y 1.3.6.1.4.1.1466.115.121.1.21
422 Facsimile Telephone Number Y 1.3.6.1.4.1.1466.115.121.1.22
423 Fax N 1.3.6.1.4.1.1466.115.121.1.23
424 Generalized Time Y 1.3.6.1.4.1.1466.115.121.1.24
425 Guide Y 1.3.6.1.4.1.1466.115.121.1.25
426 IA5 String Y 1.3.6.1.4.1.1466.115.121.1.26
427 INTEGER Y 1.3.6.1.4.1.1466.115.121.1.27
428 JPEG N 1.3.6.1.4.1.1466.115.121.1.28
429 LDAP Syntax Description Y 1.3.6.1.4.1.1466.115.121.1.54
430 LDAP Schema Definition Y 1.3.6.1.4.1.1466.115.121.1.56
431 LDAP Schema Description Y 1.3.6.1.4.1.1466.115.121.1.57
432 Master And Shadow Access Points Y 1.3.6.1.4.1.1466.115.121.1.29
433 Matching Rule Description Y 1.3.6.1.4.1.1466.115.121.1.30
434 Matching Rule Use Description Y 1.3.6.1.4.1.1466.115.121.1.31
435 Mail Preference Y 1.3.6.1.4.1.1466.115.121.1.32
436 MHS OR Address Y 1.3.6.1.4.1.1466.115.121.1.33
437 Modify Rights Y 1.3.6.1.4.1.1466.115.121.1.55
438 Name And Optional UID Y 1.3.6.1.4.1.1466.115.121.1.34
439 Name Form Description Y 1.3.6.1.4.1.1466.115.121.1.35
440 Numeric String Y 1.3.6.1.4.1.1466.115.121.1.36
441 Object Class Description Y 1.3.6.1.4.1.1466.115.121.1.37
442 Octet String Y 1.3.6.1.4.1.1466.115.121.1.40
443 OID Y 1.3.6.1.4.1.1466.115.121.1.38
444 Other Mailbox Y 1.3.6.1.4.1.1466.115.121.1.39
445 Postal Address Y 1.3.6.1.4.1.1466.115.121.1.41
446 Protocol Information Y 1.3.6.1.4.1.1466.115.121.1.42
450 Wahl, et. al. Standards Track [Page 8]
452 RFC 2252 LADPv3 Attributes December 1997
455 Presentation Address Y 1.3.6.1.4.1.1466.115.121.1.43
456 Printable String Y 1.3.6.1.4.1.1466.115.121.1.44
457 Substring Assertion Y 1.3.6.1.4.1.1466.115.121.1.58
458 Subtree Specification Y 1.3.6.1.4.1.1466.115.121.1.45
459 Supplier Information Y 1.3.6.1.4.1.1466.115.121.1.46
460 Supplier Or Consumer Y 1.3.6.1.4.1.1466.115.121.1.47
461 Supplier And Consumer Y 1.3.6.1.4.1.1466.115.121.1.48
462 Supported Algorithm N 1.3.6.1.4.1.1466.115.121.1.49
463 Telephone Number Y 1.3.6.1.4.1.1466.115.121.1.50
464 Teletex Terminal Identifier Y 1.3.6.1.4.1.1466.115.121.1.51
465 Telex Number Y 1.3.6.1.4.1.1466.115.121.1.52
466 UTC Time Y 1.3.6.1.4.1.1466.115.121.1.53
468 A suggested minimum upper bound on the number of characters in value
469 with a string-based syntax, or the number of bytes in a value for all
470 other syntaxes, may be indicated by appending this bound count inside
471 of curly braces following the syntax name's OBJECT IDENTIFIER in an
472 Attribute Type Description. This bound is not part of the syntax
473 name itself. For instance, "1.3.6.4.1.1466.0{64}" suggests that
474 server implementations should allow a string to be 64 characters
475 long, although they may allow longer strings. Note that a single
476 character of the Directory String syntax may be encoded in more than
477 one byte since UTF-8 is a variable-length encoding.
479 4.3.3. Syntax Description
481 The following BNF may be used to associate a short description with a
482 syntax OBJECT IDENTIFIER. Implementors should note that future
483 versions of this document may expand this definition to include
484 additional terms. Terms whose identifier begins with "X-" are
485 reserved for private experiments, and MUST be followed by a
488 SyntaxDescription = "(" whsp
495 The format for representation of object classes is defined in X.501
496 [3]. In general every entry will contain an abstract class ("top" or
497 "alias"), at least one structural object class, and zero or more
498 auxiliary object classes. Whether an object class is abstract,
499 structural or auxiliary is defined when the object class identifier
500 is assigned. An object class definition should not be changed
501 without having a new identifier assigned to it.
506 Wahl, et. al. Standards Track [Page 9]
508 RFC 2252 LADPv3 Attributes December 1997
511 Object class descriptions are written according to the following BNF.
512 Implementors should note that future versions of this document may
513 expand this definition to include additional terms. Terms whose
514 identifier begins with "X-" are reserved for private experiments, and
515 MUST be followed by a <qdstrings> encoding.
517 ObjectClassDescription = "(" whsp
518 numericoid whsp ; ObjectClass identifier
522 [ "SUP" oids ] ; Superior ObjectClasses
523 [ ( "ABSTRACT" / "STRUCTURAL" / "AUXILIARY" ) whsp ]
525 [ "MUST" oids ] ; AttributeTypes
526 [ "MAY" oids ] ; AttributeTypes
529 These are described as sample values for the subschema
530 "objectClasses" attribute for a server which implements the LDAP
531 schema. While lines have been folded for readability, the values
532 transferred in protocol would not contain newlines.
534 Servers SHOULD implement all the object classes referenced in section
535 7, except for extensibleObject, which is optional. Servers MAY
536 implement additional object classes not listed in this document, and
537 if they do so, MUST publish the definitions of the classes in the
538 objectClasses attribute of their subschema entries.
540 Schema developers MUST NOT create object class definitions whose
541 names conflict with attributes defined for use with LDAP in existing
542 standards-track RFCs.
546 Matching rules are used by servers to compare attribute values
547 against assertion values when performing Search and Compare
548 operations. They are also used to identify the value to be added or
549 deleted when modifying entries, and are used when comparing a
550 purported distinguished name with the name of an entry.
552 Most of the attributes given in this document will have an equality
553 matching rule defined.
555 Matching rule descriptions are written according to the following
556 BNF. Implementors should note that future versions of this document
557 may have expanded this BNF to include additional terms. Terms whose
558 identifier begins with "X-" are reserved for private experiments, and
562 Wahl, et. al. Standards Track [Page 10]
564 RFC 2252 LADPv3 Attributes December 1997
567 MUST be followed by a <qdstrings> encoding.
569 MatchingRuleDescription = "(" whsp
570 numericoid whsp ; MatchingRule identifier
577 Values of the matchingRuleUse list the attributes which are suitable
578 for use with an extensible matching rule.
580 MatchingRuleUseDescription = "(" whsp
581 numericoid whsp ; MatchingRule identifier
585 "APPLIES" oids ; AttributeType identifiers
588 Servers which support matching rules and the extensibleMatch SHOULD
589 implement all the matching rules in section 8.
591 Servers MAY implement additional matching rules not listed in this
592 document, and if they do so, MUST publish the definitions of the
593 matching rules in the matchingRules attribute of their subschema
594 entries. If the server supports the extensibleMatch, then the server
595 MUST publish the relationship between the matching rules and
596 attributes in the matchingRuleUse attribute.
598 For example, a server which implements a privately-defined matching
599 rule for performing sound-alike matches on Directory String-valued
600 attributes would include the following in the subschema entry
601 (1.2.3.4.5 is an example, the OID of an actual matching rule would be
604 matchingRule: ( 1.2.3.4.5 NAME 'soundAlikeMatch'
605 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
607 If this matching rule could be used with the attributes 2.5.4.41 and
608 2.5.4.15, the following would also be present:
610 matchingRuleUse: ( 1.2.3.4.5 APPLIES (2.5.4.41 $ 2.5.4.15) )
618 Wahl, et. al. Standards Track [Page 11]
620 RFC 2252 LADPv3 Attributes December 1997
623 A client could then make use of this matching rule by sending a
624 search operation in which the filter is of the extensibleMatch
625 choice, the matchingRule field is "soundAlikeMatch", and the type
626 field is "2.5.4.41" or "2.5.4.15".
630 All LDAP server implementations MUST recognize the attribute types
631 defined in this section.
633 Servers SHOULD also recognize all the attributes from section 5 of
636 5.1. Standard Operational Attributes
638 Servers MUST maintain values of these attributes in accordance with
639 the definitions in X.501(93).
641 5.1.1. createTimestamp
643 This attribute SHOULD appear in entries which were created using the
646 ( 2.5.18.1 NAME 'createTimestamp' EQUALITY generalizedTimeMatch
647 ORDERING generalizedTimeOrderingMatch
648 SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
649 SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )
651 5.1.2. modifyTimestamp
653 This attribute SHOULD appear in entries which have been modified
654 using the Modify operation.
656 ( 2.5.18.2 NAME 'modifyTimestamp' EQUALITY generalizedTimeMatch
657 ORDERING generalizedTimeOrderingMatch
658 SYNTAX 1.3.6.1.4.1.1466.115.121.1.24
659 SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )
663 This attribute SHOULD appear in entries which were created using the
666 ( 2.5.18.3 NAME 'creatorsName' EQUALITY distinguishedNameMatch
667 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
668 SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )
674 Wahl, et. al. Standards Track [Page 12]
676 RFC 2252 LADPv3 Attributes December 1997
681 This attribute SHOULD appear in entries which have been modified
682 using the Modify operation.
684 ( 2.5.18.4 NAME 'modifiersName' EQUALITY distinguishedNameMatch
685 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
686 SINGLE-VALUE NO-USER-MODIFICATION USAGE directoryOperation )
688 5.1.5. subschemaSubentry
690 The value of this attribute is the name of a subschema entry (or
691 subentry if the server is based on X.500(93)) in which the server
692 makes available attributes specifying the schema.
694 ( 2.5.18.10 NAME 'subschemaSubentry'
695 EQUALITY distinguishedNameMatch
696 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 NO-USER-MODIFICATION
697 SINGLE-VALUE USAGE directoryOperation )
699 5.1.6. attributeTypes
701 This attribute is typically located in the subschema entry.
703 ( 2.5.21.5 NAME 'attributeTypes'
704 EQUALITY objectIdentifierFirstComponentMatch
705 SYNTAX 1.3.6.1.4.1.1466.115.121.1.3 USAGE directoryOperation )
709 This attribute is typically located in the subschema entry.
711 ( 2.5.21.6 NAME 'objectClasses'
712 EQUALITY objectIdentifierFirstComponentMatch
713 SYNTAX 1.3.6.1.4.1.1466.115.121.1.37 USAGE directoryOperation )
717 This attribute is typically located in the subschema entry.
719 ( 2.5.21.4 NAME 'matchingRules'
720 EQUALITY objectIdentifierFirstComponentMatch
721 SYNTAX 1.3.6.1.4.1.1466.115.121.1.30 USAGE directoryOperation )
730 Wahl, et. al. Standards Track [Page 13]
732 RFC 2252 LADPv3 Attributes December 1997
735 5.1.9. matchingRuleUse
737 This attribute is typically located in the subschema entry.
739 ( 2.5.21.8 NAME 'matchingRuleUse'
740 EQUALITY objectIdentifierFirstComponentMatch
741 SYNTAX 1.3.6.1.4.1.1466.115.121.1.31 USAGE directoryOperation )
743 5.2. LDAP Operational Attributes
745 These attributes are only present in the root DSE (see [1] and [3]).
747 Servers MUST recognize these attribute names, but it is not required
748 that a server provide values for these attributes, when the attribute
749 corresponds to a feature which the server does not implement.
751 5.2.1. namingContexts
753 The values of this attribute correspond to naming contexts which this
754 server masters or shadows. If the server does not master any
755 information (e.g. it is an LDAP gateway to a public X.500 directory)
756 this attribute will be absent. If the server believes it contains
757 the entire directory, the attribute will have a single value, and
758 that value will be the empty string (indicating the null DN of the
759 root). This attribute will allow a client to choose suitable base
760 objects for searching when it has contacted a server.
762 ( 1.3.6.1.4.1.1466.101.120.5 NAME 'namingContexts'
763 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 USAGE dSAOperation )
767 The values of this attribute are URLs of other servers which may be
768 contacted when this server becomes unavailable. If the server does
769 not know of any other servers which could be used this attribute will
770 be absent. Clients may cache this information in case their preferred
771 LDAP server later becomes unavailable.
773 ( 1.3.6.1.4.1.1466.101.120.6 NAME 'altServer'
774 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 USAGE dSAOperation )
776 5.2.3. supportedExtension
778 The values of this attribute are OBJECT IDENTIFIERs identifying the
779 supported extended operations which the server supports.
781 If the server does not support any extensions this attribute will be
786 Wahl, et. al. Standards Track [Page 14]
788 RFC 2252 LADPv3 Attributes December 1997
791 ( 1.3.6.1.4.1.1466.101.120.7 NAME 'supportedExtension'
792 SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 USAGE dSAOperation )
794 5.2.4. supportedControl
796 The values of this attribute are the OBJECT IDENTIFIERs identifying
797 controls which the server supports. If the server does not support
798 any controls, this attribute will be absent.
800 ( 1.3.6.1.4.1.1466.101.120.13 NAME 'supportedControl'
801 SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 USAGE dSAOperation )
803 5.2.5. supportedSASLMechanisms
805 The values of this attribute are the names of supported SASL
806 mechanisms which the server supports. If the server does not support
807 any mechanisms this attribute will be absent.
809 ( 1.3.6.1.4.1.1466.101.120.14 NAME 'supportedSASLMechanisms'
810 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 USAGE dSAOperation )
812 5.2.6. supportedLDAPVersion
814 The values of this attribute are the versions of the LDAP protocol
815 which the server implements.
817 ( 1.3.6.1.4.1.1466.101.120.15 NAME 'supportedLDAPVersion'
818 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 USAGE dSAOperation )
820 5.3. LDAP Subschema Attribute
822 This attribute is typically located in the subschema entry.
826 Servers MAY use this attribute to list the syntaxes which are
827 implemented. Each value corresponds to one syntax.
829 ( 1.3.6.1.4.1.1466.101.120.16 NAME 'ldapSyntaxes'
830 EQUALITY objectIdentifierFirstComponentMatch
831 SYNTAX 1.3.6.1.4.1.1466.115.121.1.54 USAGE directoryOperation )
833 5.4. X.500 Subschema attributes
835 These attributes are located in the subschema entry. All servers
836 SHOULD recognize their name, although typically only X.500 servers
837 will implement their functionality.
842 Wahl, et. al. Standards Track [Page 15]
844 RFC 2252 LADPv3 Attributes December 1997
847 5.4.1. dITStructureRules
849 ( 2.5.21.1 NAME 'dITStructureRules' EQUALITY integerFirstComponentMatch
850 SYNTAX 1.3.6.1.4.1.1466.115.121.1.17 USAGE directoryOperation )
854 ( 2.5.21.7 NAME 'nameForms'
855 EQUALITY objectIdentifierFirstComponentMatch
856 SYNTAX 1.3.6.1.4.1.1466.115.121.1.35 USAGE directoryOperation )
858 5.4.3. ditContentRules
860 ( 2.5.21.2 NAME 'dITContentRules'
861 EQUALITY objectIdentifierFirstComponentMatch
862 SYNTAX 1.3.6.1.4.1.1466.115.121.1.16 USAGE directoryOperation )
866 Servers SHOULD recognize all the syntaxes described in this section.
868 6.1. Attribute Type Description
870 ( 1.3.6.1.4.1.1466.115.121.1.3 DESC 'Attribute Type Description' )
872 Values in this syntax are encoded according to the BNF given at the
873 start of section 4.2. For example,
875 ( 2.5.4.0 NAME 'objectClass'
876 SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )
880 ( 1.3.6.1.4.1.1466.115.121.1.5 DESC 'Binary' )
882 Values in this syntax are encoded as described in section 4.3.1.
886 ( 1.3.6.1.4.1.1466.115.121.1.6 DESC 'Bit String' )
888 Values in this syntax are encoded according to the following BNF:
890 bitstring = "'" *binary-digit "'B"
892 binary-digit = "0" / "1"
898 Wahl, et. al. Standards Track [Page 16]
900 RFC 2252 LADPv3 Attributes December 1997
909 ( 1.3.6.1.4.1.1466.115.121.1.7 DESC 'Boolean' )
911 Values in this syntax are encoded according to the following BNF:
913 boolean = "TRUE" / "FALSE"
915 Boolean values have an encoding of "TRUE" if they are logically true,
916 and have an encoding of "FALSE" otherwise.
920 ( 1.3.6.1.4.1.1466.115.121.1.8 DESC 'Certificate' )
922 Because of the changes from X.509(1988) and X.509(1993) and
923 additional changes to the ASN.1 definition to support certificate
924 extensions, no string representation is defined, and values in this
925 syntax MUST only be transferred using the binary encoding, by
926 requesting or returning the attributes with descriptions
927 "userCertificate;binary" or "caCertificate;binary". The BNF notation
928 in RFC 1778 for "User Certificate" is not recommended to be used.
930 6.6. Certificate List
932 ( 1.3.6.1.4.1.1466.115.121.1.9 DESC 'Certificate List' )
934 Because of the incompatibility of the X.509(1988) and X.509(1993)
935 definitions of revocation lists, values in this syntax MUST only be
936 transferred using a binary encoding, by requesting or returning the
937 attributes with descriptions "certificateRevocationList;binary" or
938 "authorityRevocationList;binary". The BNF notation in RFC 1778 for
939 "Authority Revocation List" is not recommended to be used.
941 6.7. Certificate Pair
943 ( 1.3.6.1.4.1.1466.115.121.1.10 DESC 'Certificate Pair' )
945 Because the Certificate is being carried in binary, values in this
946 syntax MUST only be transferred using a binary encoding, by
947 requesting or returning the attribute description
948 "crossCertificatePair;binary". The BNF notation in RFC 1778 for
949 "Certificate Pair" is not recommended to be used.
954 Wahl, et. al. Standards Track [Page 17]
956 RFC 2252 LADPv3 Attributes December 1997
961 ( 1.3.6.1.4.1.1466.115.121.1.11 DESC 'Country String' )
963 A value in this syntax is encoded the same as a value of Directory
964 String syntax. Note that this syntax is limited to values of exactly
965 two printable string characters, as listed in ISO 3166 [14].
974 ( 1.3.6.1.4.1.1466.115.121.1.12 DESC 'DN' )
976 Values in the Distinguished Name syntax are encoded to have the
977 representation defined in [5]. Note that this representation is not
978 reversible to an ASN.1 encoding used in X.500 for Distinguished
979 Names, as the CHOICE of any DirectoryString element in an RDN is no
983 CN=Steve Kille,O=Isode Limited,C=GB
984 OU=Sales+CN=J. Smith,O=Widget Inc.,C=US
985 CN=L. Eagle,O=Sue\, Grabbit and Runn,C=GB
986 CN=Before\0DAfter,O=Test,C=GB
987 1.3.6.1.4.1.1466.0=#04024869,O=Test,C=GB
990 6.10. Directory String
992 ( 1.3.6.1.4.1.1466.115.121.1.15 DESC 'Directory String' )
994 A string in this syntax is encoded in the UTF-8 form of ISO 10646 (a
995 superset of Unicode). Servers and clients MUST be prepared to
996 receive encodings of arbitrary Unicode characters, including
997 characters not presently assigned to any character set.
999 For characters in the PrintableString form, the value is encoded as
1000 the string value itself.
1002 If it is of the TeletexString form, then the characters are
1003 transliterated to their equivalents in UniversalString, and encoded
1010 Wahl, et. al. Standards Track [Page 18]
1012 RFC 2252 LADPv3 Attributes December 1997
1015 If it is of the UniversalString or BMPString forms [10], UTF-8 is
1016 used to encode them.
1018 Note: the form of DirectoryString is not indicated in protocol unless
1019 the attribute value is carried in binary. Servers which convert to
1020 DAP MUST choose an appropriate form. Servers MUST NOT reject values
1021 merely because they contain legal Unicode characters outside of the
1022 range of printable ASCII.
1026 This is a string of DirectoryString containing #!%#@
1028 6.11. DIT Content Rule Description
1031 ues in this syntax are encoded according to the following BNF.
1032 lementors should note that future versions of this document
1033 have expanded this BNF to include additional terms.
1037 DITContentRuleDescription = "("
1038 numericoid ; Structural ObjectClass identifier
1042 [ "AUX" oids ] ; Auxiliary ObjectClasses
1043 [ "MUST" oids ] ; AttributeType identifiers
1044 [ "MAY" oids ] ; AttributeType identifiers
1045 [ "NOT" oids ] ; AttributeType identifiers
1048 0 2. Facsimile Telephone Number
1052 ( 1.3.6.1.4.1.1466.115.121.1.22 DESC 'Facsimile Telephone Number' )
1054 Values in this syntax are encoded according to the following BNF:
1056 fax-number = printablestring [ "$" faxparameters ]
1058 faxparameters = faxparm / ( faxparm "$" faxparameters )
1060 faxparm = "twoDimensional" / "fineResolution" /
1062 "b4Length" / "a3Width" / "b4Width" / "uncompressed"
1066 Wahl, et. al. Standards Track [Page 19]
1068 RFC 2252 LADPv3 Attributes December 1997
1071 In the above, the first printablestring is the telephone number,
1072 based on E.123 [15], and the faxparm tokens represent fax parameters.
1076 ( 1.3.6.1.4.1.1466.115.121.1.23 DESC 'Fax' )
1078 Values in this syntax are encoded as if they were octet strings
1079 containing Group 3 Fax images as defined in [7].
1081 6.14. Generalized Time
1083 ( 1.3.6.1.4.1.1466.115.121.1.24 DESC 'Generalized Time' )
1085 Values in this syntax are encoded as printable strings, represented
1086 as specified in X.208. Note that the time zone must be specified.
1087 It is strongly recommended that GMT time be used. For example,
1093 ( 1.3.6.1.4.1.1466.115.121.1.26 DESC 'IA5 String' )
1095 The encoding of a value in this syntax is the string value itself.
1099 ( 1.3.6.1.4.1.1466.115.121.1.27 DESC 'INTEGER' )
1101 Values in this syntax are encoded as the decimal representation of
1102 their values, with each decimal digit represented by the its
1103 character equivalent. So the number 1321 is represented by the
1104 character string "1321".
1108 ( 1.3.6.1.4.1.1466.115.121.1.28 DESC 'JPEG' )
1110 Values in this syntax are encoded as strings containing JPEG images
1111 in the JPEG File Interchange Format (JFIF), as described in [8].
1113 6.18. Matching Rule Description
1115 ( 1.3.6.1.4.1.1466.115.121.1.30 DESC 'Matching Rule Description' )
1117 Values of type matchingRules are encoded as strings according to the
1118 BNF given in section 4.5.
1122 Wahl, et. al. Standards Track [Page 20]
1124 RFC 2252 LADPv3 Attributes December 1997
1127 6.19. Matching Rule Use Description
1129 ( 1.3.6.1.4.1.1466.115.121.1.31 DESC 'Matching Rule Use Description'
1132 Values of type matchingRuleUse are encoded as strings according to
1133 the BNF given in section 4.5.
1135 6.20. MHS OR Address
1137 ( 1.3.6.1.4.1.1466.115.121.1.33 DESC 'MHS OR Address' )
1139 Values in this syntax are encoded as strings, according to the format
1142 6.21. Name And Optional UID
1144 ( 1.3.6.1.4.1.1466.115.121.1.34 DESC 'Name And Optional UID' )
1146 Values in this syntax are encoded according to the following BNF:
1148 NameAndOptionalUID = DistinguishedName [ "#" bitstring ]
1150 Although the '#' character may occur in a string representation of a
1151 distinguished name, no additional special quoting is done. This
1152 syntax has been added subsequent to RFC 1778.
1156 1.3.6.1.4.1.1466.0=#04024869,O=Test,C=GB#'0101'B
1158 6.22. Name Form Description
1160 ( 1.3.6.1.4.1.1466.115.121.1.35 DESC 'Name Form Description' )
1162 Values in this syntax are encoded according to the following BNF.
1163 Implementors should note that future versions of this document may
1164 have expanded this BNF to include additional terms.
1166 NameFormDescription = "(" whsp
1167 numericoid whsp ; NameForm identifier
1171 "OC" woid ; Structural ObjectClass
1172 "MUST" oids ; AttributeTypes
1173 [ "MAY" oids ] ; AttributeTypes
1178 Wahl, et. al. Standards Track [Page 21]
1180 RFC 2252 LADPv3 Attributes December 1997
1183 6.23. Numeric String
1185 ( 1.3.6.1.4.1.1466.115.121.1.36 DESC 'Numeric String' )
1187 The encoding of a string in this syntax is the string value itself.
1192 6.24. Object Class Description
1194 ( 1.3.6.1.4.1.1466.115.121.1.37 DESC 'Object Class Description' )
1196 Values in this syntax are encoded according to the BNF in section
1201 ( 1.3.6.1.4.1.1466.115.121.1.38 DESC 'OID' )
1203 Values in the Object Identifier syntax are encoded according to
1204 the BNF in section 4.1 for "oid".
1213 ( 1.3.6.1.4.1.1466.115.121.1.39 DESC 'Other Mailbox' )
1215 Values in this syntax are encoded according to the following BNF:
1217 otherMailbox = mailbox-type "$" mailbox
1219 mailbox-type = printablestring
1221 mailbox = <an encoded IA5 String>
1223 In the above, mailbox-type represents the type of mail system in
1224 which the mailbox resides, for example "MCIMail"; and mailbox is the
1225 actual mailbox in the mail system defined by mailbox-type.
1227 6.27. Postal Address
1229 ( 1.3.6.1.4.1.1466.115.121.1.41 DESC 'Postal Address' )
1234 Wahl, et. al. Standards Track [Page 22]
1236 RFC 2252 LADPv3 Attributes December 1997
1239 Values in this syntax are encoded according to the following BNF:
1241 postal-address = dstring *( "$" dstring )
1243 In the above, each dstring component of a postal address value is
1244 encoded as a value of type Directory String syntax. Backslashes and
1245 dollar characters, if they occur in the component, are quoted as
1246 described in section 4.3. Many servers limit the postal address to
1247 six lines of up to thirty characters.
1251 1234 Main St.$Anytown, CA 12345$USA
1252 \241,000,000 Sweepstakes$PO Box 1000000$Anytown, CA 12345$USA
1254 6.28. Presentation Address
1256 ( 1.3.6.1.4.1.1466.115.121.1.43 DESC 'Presentation Address' )
1258 Values in this syntax are encoded with the representation described
1261 6.29. Printable String
1263 ( 1.3.6.1.4.1.1466.115.121.1.44 DESC 'Printable String' )
1265 The encoding of a value in this syntax is the string value itself.
1266 PrintableString is limited to the characters in production p of
1271 This is a PrintableString
1273 6.30. Telephone Number
1275 ( 1.3.6.1.4.1.1466.115.121.1.50 DESC 'Telephone Number' )
1277 Values in this syntax are encoded as if they were Printable String
1278 types. Telephone numbers are recommended in X.520 to be in
1279 international form, as described in E.123 [15].
1290 Wahl, et. al. Standards Track [Page 23]
1292 RFC 2252 LADPv3 Attributes December 1997
1297 ( 1.3.6.1.4.1.1466.115.121.1.53 DESC 'UTC Time' )
1299 Values in this syntax are encoded as if they were printable strings
1300 with the strings containing a UTCTime value. This is historical; new
1301 attribute definitions SHOULD use GeneralizedTime instead.
1303 6.32. LDAP Syntax Description
1305 ( 1.3.6.1.4.1.1466.115.121.1.54 DESC 'LDAP Syntax Description' )
1307 Values in this syntax are encoded according to the BNF in section
1310 6.33. DIT Structure Rule Description
1312 ( 1.3.6.1.4.1.1466.115.121.1.17 DESC 'DIT Structure Rule Description'
1315 Values with this syntax are encoded according to the following BNF:
1317 DITStructureRuleDescription = "(" whsp
1318 ruleidentifier whsp ; DITStructureRule identifier
1322 "FORM" woid whsp ; NameForm
1323 [ "SUP" ruleidentifiers whsp ] ; superior DITStructureRules
1326 ruleidentifier = integer
1328 ruleidentifiers = ruleidentifier |
1329 "(" whsp ruleidentifierlist whsp ")"
1331 ruleidentifierlist = [ ruleidentifier *( ruleidentifier ) ]
1335 Servers SHOULD recognize all the names of standard classes from
1338 7.1. Extensible Object Class
1340 The extensibleObject object class, if present in an entry, permits
1341 that entry to optionally hold any attribute. The MAY attribute list
1342 of this class is implicitly the set of all attributes.
1346 Wahl, et. al. Standards Track [Page 24]
1348 RFC 2252 LADPv3 Attributes December 1997
1351 ( 1.3.6.1.4.1.1466.101.120.111 NAME 'extensibleObject'
1354 The mandatory attributes of the other object classes of this entry
1355 are still required to be present.
1357 Note that not all servers will implement this object class, and those
1358 which do not will reject requests to add entries which contain this
1359 object class, or modify an entry to add this object class.
1363 This object class is used in the subschema entry.
1365 ( 2.5.20.1 NAME 'subschema' AUXILIARY
1366 MAY ( dITStructureRules $ nameForms $ ditContentRules $
1367 objectClasses $ attributeTypes $ matchingRules $
1370 The ldapSyntaxes operational attribute may also be present in
1375 Servers which implement the extensibleMatch filter SHOULD allow all
1376 the matching rules listed in this section to be used in the
1377 extensibleMatch. In general these servers SHOULD allow matching
1378 rules to be used with all attribute types known to the server, when
1379 the assertion syntax of the matching rule is the same as the value
1380 syntax of the attribute.
1382 Servers MAY implement additional matching rules.
1384 8.1. Matching Rules used in Equality Filters
1386 Servers SHOULD be capable of performing the following matching rules.
1388 For all these rules, the assertion syntax is the same as the value
1391 ( 2.5.13.0 NAME 'objectIdentifierMatch'
1392 SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )
1394 If the client supplies a filter using an objectIdentifierMatch whose
1395 matchValue oid is in the "descr" form, and the oid is not recognized
1396 by the server, then the filter is Undefined.
1398 ( 2.5.13.1 NAME 'distinguishedNameMatch'
1402 Wahl, et. al. Standards Track [Page 25]
1404 RFC 2252 LADPv3 Attributes December 1997
1407 SYNTAX 1.3.6.1.4.1.1466.115.121.1.12 )
1409 ( 2.5.13.2 NAME 'caseIgnoreMatch'
1410 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
1412 ( 2.5.13.8 NAME 'numericStringMatch'
1413 SYNTAX 1.3.6.1.4.1.1466.115.121.1.36 )
1415 ( 2.5.13.11 NAME 'caseIgnoreListMatch'
1416 SYNTAX 1.3.6.1.4.1.1466.115.121.1.41 )
1418 ( 2.5.13.14 NAME 'integerMatch'
1419 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )
1421 ( 2.5.13.16 NAME 'bitStringMatch'
1422 SYNTAX 1.3.6.1.4.1.1466.115.121.1.6 )
1424 ( 2.5.13.20 NAME 'telephoneNumberMatch'
1425 SYNTAX 1.3.6.1.4.1.1466.115.121.1.50 )
1427 ( 2.5.13.22 NAME 'presentationAddressMatch'
1428 SYNTAX 1.3.6.1.4.1.1466.115.121.1.43 )
1430 ( 2.5.13.23 NAME 'uniqueMemberMatch'
1431 SYNTAX 1.3.6.1.4.1.1466.115.121.1.34 )
1433 ( 2.5.13.24 NAME 'protocolInformationMatch'
1434 SYNTAX 1.3.6.1.4.1.1466.115.121.1.42 )
1436 ( 2.5.13.27 NAME 'generalizedTimeMatch'
1437 SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 )
1439 ( 1.3.6.1.4.1.1466.109.114.1 NAME 'caseExactIA5Match'
1440 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
1442 ( 1.3.6.1.4.1.1466.109.114.2 NAME 'caseIgnoreIA5Match'
1443 SYNTAX 1.3.6.1.4.1.1466.115.121.1.26 )
1445 When performing the caseIgnoreMatch, caseIgnoreListMatch,
1446 telephoneNumberMatch, caseExactIA5Match and caseIgnoreIA5Match,
1447 multiple adjoining whitespace characters are treated the same as an
1448 individual space, and leading and trailing whitespace is ignored.
1450 Clients MUST NOT assume that servers are capable of transliteration
1458 Wahl, et. al. Standards Track [Page 26]
1460 RFC 2252 LADPv3 Attributes December 1997
1463 8.2. Matching Rules used in Inequality Filters
1465 Servers SHOULD be capable of performing the following matching rules,
1466 which are used in greaterOrEqual and lessOrEqual filters.
1468 ( 2.5.13.28 NAME 'generalizedTimeOrderingMatch'
1469 SYNTAX 1.3.6.1.4.1.1466.115.121.1.24 )
1471 ( 2.5.13.3 NAME 'caseIgnoreOrderingMatch'
1472 SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )
1474 The sort ordering for a caseIgnoreOrderingMatch is implementation-
1477 8.3. Syntax and Matching Rules used in Substring Filters
1479 The Substring Assertion syntax is used only as the syntax of
1480 assertion values in the extensible match. It is not used as the
1481 syntax of attributes, or in the substring filter.
1483 ( 1.3.6.1.4.1.1466.115.121.1.58 DESC 'Substring Assertion' )
1485 The Substring Assertion is encoded according to the following BNF:
1487 substring = [initial] any [final]
1489 any = "*" *(value "*")
1492 The <value> production is UTF-8 encoded string. Should the backslash
1493 or asterix characters be present in a production of <value>, they are
1494 quoted as described in section 4.3.
1496 Servers SHOULD be capable of performing the following matching rules,
1497 which are used in substring filters.
1499 ( 2.5.13.4 NAME 'caseIgnoreSubstringsMatch'
1500 SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )
1502 ( 2.5.13.21 NAME 'telephoneNumberSubstringsMatch'
1503 SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )
1505 ( 2.5.13.10 NAME 'numericStringSubstringsMatch'
1506 SYNTAX 1.3.6.1.4.1.1466.115.121.1.58 )
1514 Wahl, et. al. Standards Track [Page 27]
1516 RFC 2252 LADPv3 Attributes December 1997
1519 8.4. Matching Rules for Subschema Attributes
1521 Servers which allow subschema entries to be modified by clients MUST
1522 support the following matching rules, as they are the equality
1523 matching rules for several of the subschema attributes.
1525 ( 2.5.13.29 NAME 'integerFirstComponentMatch'
1526 SYNTAX 1.3.6.1.4.1.1466.115.121.1.27 )
1528 ( 2.5.13.30 NAME 'objectIdentifierFirstComponentMatch'
1529 SYNTAX 1.3.6.1.4.1.1466.115.121.1.38 )
1531 Implementors should note that the assertion syntax of these matching
1532 rules, an INTEGER or OID, is different from the value syntax of
1533 attributes for which this is the equality matching rule.
1535 If the client supplies an extensible filter using an
1536 objectIdentifierFirstComponentMatch whose matchValue is in the
1537 "descr" form, and the OID is not recognized by the server, then the
1538 filter is Undefined.
1540 9. Security Considerations
1544 Attributes of directory entries are used to provide descriptive
1545 information about the real-world objects they represent, which can be
1546 people, organizations or devices. Most countries have privacy laws
1547 regarding the publication of information about people.
1549 9.2. Use of Attribute Values in Security Applications
1551 The transformations of an AttributeValue value from its X.501 form to
1552 an LDAP string representation are not always reversible back to the
1553 same BER or DER form. An example of a situation which requires the
1554 DER form of a distinguished name is the verification of an X.509
1557 For example, a distinguished name consisting of one RDN with one AVA,
1558 in which the type is commonName and the value is of the TeletexString
1559 choice with the letters 'Sam' would be represented in LDAP as the
1560 string CN=Sam. Another distinguished name in which the value is
1561 still 'Sam' but of the PrintableString choice would have the same
1562 representation CN=Sam.
1564 Applications which require the reconstruction of the DER form of the
1565 value SHOULD NOT use the string representation of attribute syntaxes
1566 when converting a value to LDAP format. Instead it SHOULD use the
1570 Wahl, et. al. Standards Track [Page 28]
1572 RFC 2252 LADPv3 Attributes December 1997
1577 10. Acknowledgements
1579 This document is based substantially on RFC 1778, written by Tim
1580 Howes, Steve Kille, Wengyik Yeong and Colin Robbins.
1582 Many of the attribute syntax encodings defined in this and related
1583 documents are adapted from those used in the QUIPU and the IC R3
1584 X.500 implementations. The contributions of the authors of both these
1585 implementations in the specification of syntaxes are gratefully
1626 Wahl, et. al. Standards Track [Page 29]
1628 RFC 2252 LADPv3 Attributes December 1997
1631 11. Authors' Addresses
1635 4815 West Braker Lane #502-385
1639 Phone: +1 512 372-3160
1640 EMail: M.Wahl@critical-angle.com
1644 9390 Research Blvd Suite 305
1648 Phone: +1 512 231-8993
1649 EMail: A.Coulbeck@isode.com
1652 Netscape Communications Corp.
1653 501 E. Middlefield Rd, MS MV068
1654 Mountain View, CA 94043
1657 Phone: +1 650 937-3419
1658 EMail: howes@netscape.com
1662 The Dome, The Square
1667 Phone: +44-181-332-9091
1668 EMail: S.Kille@isode.com
1682 Wahl, et. al. Standards Track [Page 30]
1684 RFC 2252 LADPv3 Attributes December 1997
1689 [1] Wahl, M., Howes, T., and S. Kille, "Lightweight Directory Access
1690 Protocol (v3)", RFC 2251, December 1997.
1692 [2] The Directory: Selected Attribute Types. ITU-T Recommendation
1695 [3] The Directory: Models. ITU-T Recommendation X.501, 1993.
1697 [4] Bradner, S., "Key words for use in RFCs to Indicate Requirement
1698 Levels", RFC 2119, March 1997.
1700 [5] Wahl, M., Kille, S., and T. Howes, "Lightweight Directory Access
1701 Protocol (v3): UTF-8 String Representation of
1702 Distinguished Names", RFC 2253, December 1997.
1704 [6] Kille, S., "A String Representation for Presentation Addresses",
1705 RFC 1278, November 1991.
1707 [7] Terminal Equipment and Protocols for Telematic Services -
1708 Standardization of Group 3 facsimile apparatus for document
1709 transmission. CCITT, Recommendation T.4.
1711 [8] JPEG File Interchange Format (Version 1.02). Eric Hamilton,
1712 C-Cube Microsystems, Milpitas, CA, September 1, 1992.
1714 [9] Yergeau, F., "UTF-8, a transformation format of Unicode and ISO
1715 10646", RFC 2044, October 1996.
1717 [10] Universal Multiple-Octet Coded Character Set (UCS) -
1718 Architecture and Basic Multilingual Plane, ISO/IEC 10646-1 :
1719 1993 (With amendments).
1721 [11] Hardcastle-Kille, S., "Mapping between X.400(1988) / ISO 10021
1722 and RFC 822", RFC 1327, May 1992.
1724 [12] Wahl, M., "A Summary of the X.500(96) User Schema for use
1725 with LDAPv3", RFC 2256, December 1997.
1727 [13] Crocker, D., "Standard of the Format of ARPA-Internet Text
1728 Messages", STD 11, RFC 822, August 1982.
1730 [14] ISO 3166, "Codes for the representation of names of countries".
1732 [15] ITU-T Rec. E.123, Notation for national and international
1733 telephone numbers, 1988.
1738 Wahl, et. al. Standards Track [Page 31]
1740 RFC 2252 LADPv3 Attributes December 1997
1743 13. Full Copyright Statement
1745 Copyright (C) The Internet Society (1997). All Rights Reserved.
1747 This document and translations of it may be copied and furnished to
1748 others, and derivative works that comment on or otherwise explain it
1749 or assist in its implementation may be prepared, copied, published
1750 and distributed, in whole or in part, without restriction of any
1751 kind, provided that the above copyright notice and this paragraph are
1752 included on all such copies and derivative works. However, this
1753 document itself may not be modified in any way, such as by removing
1754 the copyright notice or references to the Internet Society or other
1755 Internet organizations, except as needed for the purpose of
1756 developing Internet standards in which case the procedures for
1757 copyrights defined in the Internet Standards process must be
1758 followed, or as required to translate it into languages other than
1761 The limited permissions granted above are perpetual and will not be
1762 revoked by the Internet Society or its successors or assigns.
1764 This document and the information contained herein is provided on an
1765 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
1766 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
1767 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
1768 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
1769 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
1794 Wahl, et. al. Standards Track [Page 32]