draft-ietf-asid-ldapv3-attributes-06.txt   draft-ietf-asid-ldapv3-attributes-07.txt 
Network Working Group M. Wahl Network Working Group M. Wahl
INTERNET-DRAFT Critical Angle Inc. INTERNET-DRAFT Critical Angle Inc.
Obsoletes: RFC 1778 A. Coulbeck Obsoletes: RFC 1778 A. Coulbeck
Isode Inc. Isode Inc.
T. Howes T. Howes
Netscape Communications Corp. Netscape Communications Corp.
S. Kille S. Kille
Isode Limited Isode Limited
Intended Category: Standards Track 5 August 1997
Lightweight Directory Access Protocol (v3): Lightweight Directory Access Protocol (v3):
Attribute Syntax Definitions Attribute Syntax Definitions
<draft-ietf-asid-ldapv3-attributes-06.txt> <draft-ietf-asid-ldapv3-attributes-07.txt>
1. Status of this Memo 1. Status of this Memo
This document is an Internet-Draft. Internet-Drafts are working This document is an Internet-Draft. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas, and documents of the Internet Engineering Task Force (IETF), its areas, and
its working groups. Note that other groups may also distribute working its working groups. Note that other groups may also distribute working
documents as Internet-Drafts. documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
skipping to change at line 121 skipping to change at line 123
whsp = [ space ] whsp = [ space ]
utf8 = <any sequence of octets formed from the UTF-8 [9] utf8 = <any sequence of octets formed from the UTF-8 [9]
transformation of a character from ISO10646 [10]> transformation of a character from ISO10646 [10]>
dstring = 1*utf8 dstring = 1*utf8
qdstring = whsp "'" dstring "'" whsp qdstring = whsp "'" dstring "'" whsp
qdstringlist = ( qdstringlist qdstring ) / "" qdstringlist = [ qdstring *( qdstring ) ]
qdstrings = qdstring / ( whsp "(" qdstringlist ")" whsp ) qdstrings = qdstring / ( whsp "(" qdstringlist ")" whsp )
In the following BNF for the string representation of OBJECT In the following BNF for the string representation of OBJECT
IDENTIFIERs, descr is the syntactic representation of an object IDENTIFIERs, descr is the syntactic representation of an object
descriptor, which consists of letters and digits, starting with a descriptor, which consists of letters and digits, starting with a
letter. An OBJECT IDENTIFIER in the numericoid format should not 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 have leading zeroes (e.g. "0.9.3" is permitted but "0.09.3" should
not be generated). not be generated).
When encoding values in syntax, the descr encoding option SHOULD When encoding 'oid' elements in a value, the descr encoding option
be used in preference to the numericoid. An object descriptor is SHOULD be used in preference to the numericoid. An object descriptor is
a more readable alias for a number OBJECT IDENTIFIER, and these a more readable alias for a number OBJECT IDENTIFIER, and these
(where assigned and known by the implementation) SHOULD be used in (where assigned and known by the implementation) SHOULD be used in
preference to numeric oids to the greatest extent possible. preference to numeric oids to the greatest extent possible.
Examples of object descriptors in LDAP are attribute type, object Examples of object descriptors in LDAP are attribute type, object
class and matching rule names. class and matching rule names.
oid = descr / numericoid oid = descr / numericoid
descr = keystring descr = keystring
skipping to change at line 156 skipping to change at line 158
woid = whsp oid whsp woid = whsp oid whsp
; set of oids of either form ; set of oids of either form
oids = woid / ( "(" oidlist ")" ) oids = woid / ( "(" oidlist ")" )
oidlist = woid *( "$" woid ) oidlist = woid *( "$" woid )
; object descriptors used as schema element names ; object descriptors used as schema element names
qdescrs = qdescr / ( whsp "(" qdescrlist ")" whsp ) qdescrs = qdescr / ( whsp "(" qdescrlist ")" whsp )
qdescrlist = ( qdescrlist qdescr ) / "" qdescrlist = [ qdescr *( qdescr ) ]
qdescr = whsp "'" descr "'" whsp qdescr = whsp "'" descr "'" whsp
4.2. Attribute Types 4.2. Attribute Types
The attribute types are described by sample values for the subschema The attribute types are described by sample values for the subschema
"attributeTypes" attribute, which is written in the "attributeTypes" attribute, which is written in the
AttributeTypeDescription syntax. While lines have been folded for AttributeTypeDescription syntax. While lines have been folded for
readability, the values transferred in protocol would not contain readability, the values transferred in protocol would not contain
newlines. newlines.
The AttributeTypeDescription is encoded according to the following The AttributeTypeDescription is encoded according to the following
BNF, and the productions for oid, qdsescrs and qdstring are given BNF, and the productions for oid, qdescrs and qdstring are given
in section 4.1. Implementors should note that future versions of this in section 4.1. Implementors should note that future versions of
document may have expanded this BNF to include additional terms. this document may have expanded this BNF to include additional terms.
Terms which begin with the characters "X-" are reserved for private
experiments.
AttributeTypeDescription = "(" whsp AttributeTypeDescription = "(" whsp
numericoid whsp ; AttributeType identifier numericoid whsp ; AttributeType identifier
[ "NAME" qdescrs ] ; name used in AttributeType [ "NAME" qdescrs ] ; name used in AttributeType
[ "DESC" qdstring ] ; description [ "DESC" qdstring ] ; description
[ "OBSOLETE" whsp ] [ "OBSOLETE" whsp ]
[ "SUP" woid ] ; derived from this other [ "SUP" woid ] ; derived from this other
; AttributeType ; AttributeType
[ "EQUALITY" woid ; Matching Rule name [ "EQUALITY" woid ; Matching Rule name
[ "ORDERING" woid ; Matching Rule name [ "ORDERING" woid ; Matching Rule name
[ "SUBSTR" woid ] ; Matching Rule name [ "SUBSTR" woid ] ; Matching Rule name
[ "SYNTAX" whsp noidlen whsp ] ; see section 4.3 [ "SYNTAX" whsp noidlen whsp ] ; see section 4.3
[ "SINGLE-VALUE" whsp ] ; default multi-valued [ "SINGLE-VALUE" whsp ] ; default multi-valued
[ "COLLECTIVE" whsp ] ; default not collective [ "COLLECTIVE" whsp ] ; default not collective
[ "NO-USER-MODIFICATION" whsp ]; default user modifiable [ "NO-USER-MODIFICATION" whsp ]; default user modifiable
[ "USAGE" whsp AttributeUsage ]; default user applications [ "USAGE" whsp AttributeUsage ]; default userApplications
whsp ")" whsp ")"
AttributeUsage = AttributeUsage =
"userApplications" / "userApplications" /
"directoryOperation" / "directoryOperation" /
"distributedOperation" / ; DSA-shared "distributedOperation" / ; DSA-shared
"dSAOperation" ; DSA-specific, value depends on server "dSAOperation" ; DSA-specific, value depends on server
Servers are not required to provide the same or any text Servers are not required to provide the same or any text
in the description part of the subschema values they maintain. in the description part of the subschema values they maintain.
Servers SHOULD provide at least one of the "SUP" and "SYNTAX" fields Servers SHOULD provide at least one of the "SUP" and "SYNTAX" fields
for each AttributeTypeDescription. for each AttributeTypeDescription.
Servers SHOULD implement all the attribute types referenced in Servers MUST implement all the attribute types referenced in
section 5. Servers MUST be able to evaluate presence filters, sections 5.1, 5.2 and 5.3.
SHOULD be able to perform equality matching of values of all user
attributes known to the server, and MAY be able to perform matching
with the other kinds of filters. If a server allows values of an
attribute of a particular type to be added or removed over protocol,
the server MUST be able to perform equality matching of values of
that attribute, but need not perform any additional validity checks
on attribute values.
Servers MAY recognize additional names and attributes not listed in Servers MAY recognize additional names and attributes not listed in
this document, and if they do so, MUST publish the definitions of this document, and if they do so, MUST publish the definitions of
the types in the attributeTypes attribute of their subschema the types in the attributeTypes attribute of their subschema
entries. entries.
Schema developers MUST NOT create attribute definitions whose names Schema developers MUST NOT create attribute definitions whose names
conflict with attributes defined for use with LDAP in existing conflict with attributes defined for use with LDAP in existing
standards-track RFCs. standards-track RFCs.
AttributeDescriptions can be used as the value in a NAME part of an An AttributeDescription can be used as the value in a NAME part of an
AttributeTypeDescription. Note that these are case insensitive. AttributeTypeDescription. Note that these are case insensitive.
Note that the AttributeTypeDescription does not list the matching Note that the AttributeTypeDescription does not list the matching
rules which can can be used with that attribute type in an rules which can can be used with that attribute type in an
extensibleMatch search filter. This is done using the matchingRuleUse extensibleMatch search filter. This is done using the matchingRuleUse
attribute described in section 4.5. attribute described in section 4.5.
This document refines the schema description of X.501 by requiring This document refines the schema description of X.501 by requiring
that the syntax field in an AttributeTypeDescription be a string that the syntax field in an AttributeTypeDescription be a string
representation of an OBJECT IDENTIFIER for the LDAP string syntax representation of an OBJECT IDENTIFIER for the LDAP string syntax
skipping to change at line 250 skipping to change at line 247
The encoding rules defined for a given attribute syntax must produce The encoding rules defined for a given attribute syntax must produce
octet strings. To the greatest extent possible, encoded octet octet strings. To the greatest extent possible, encoded octet
strings should be usable in their native encoded form for display strings should be usable in their native encoded form for display
purposes. In particular, encoding rules for attribute syntaxes purposes. In particular, encoding rules for attribute syntaxes
defining non-binary values should produce strings that can be defining non-binary values should produce strings that can be
displayed with little or no translation by clients implementing displayed with little or no translation by clients implementing
LDAP. There are a few cases (e.g. audio) however, when it is not LDAP. There are a few cases (e.g. audio) however, when it is not
sensible to produce a printable representation, and clients MUST NOT sensible to produce a printable representation, and clients MUST NOT
assume that an unrecognized syntax is a string representation. assume that an unrecognized syntax is a string representation.
In encodings where an arbitrary string is used as part of a larger In encodings where an arbitrary string, not a Distinguished Name, is
production (other than a Distinguished Name), a backslash quoting used as part of a larger production, and other than as part of a
mechanism is used to encode the following separator symbol character Distinguished Name, a backslash quoting mechanism is used to escape
(such as "'", "$" or "#") if it should occur in that string. The the following separator symbol character (such as "'", "$" or "#") if
backslash is followed by a pair of hexadecimal digits representing the it should occur in that string. The backslash is followed by a pair
next character. A backslash itself in the string which forms part of of hexadecimal digits representing the next character. A backslash
a larger syntax is always transmitted as '\5C' or '\5c'. 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.
Syntaxes are also defined for matching rules whose assertion value Syntaxes are also defined for matching rules whose assertion value
syntax is different from the attribute value syntax. syntax is different from the attribute value syntax.
4.3.1 Binary Transfer of Values 4.3.1 Binary Transfer of Values
This encoding format is used if the binary encoding is requested by This encoding format is used if the binary encoding is requested by
the client for an attribute, or if the attribute syntax name is the client for an attribute, or if the attribute syntax name is
"1.3.6.1.4.1.1466.115.121.1.5". The value, an instance of the ASN.1 "1.3.6.1.4.1.1466.115.121.1.5". The value, an instance of the ASN.1
AttributeValue type, is BER-encoded, subject to the restrictions of AttributeValue type, is BER-encoded, and the result is used as the
section 5.1 of [1], and this sequence of octets is used as the value. value: the first byte inside the OCTET STRING wrapper is a tag byte.
(E.g. the first byte inside the OCTET STRING wrapper is a tag byte.
However the OCTET STRING is still encoded in primitive form.) However the OCTET STRING is still encoded in primitive form.)
All servers MUST implement this form for both generating attribute All servers MUST implement this form for both generating attribute
values in search responses, and parsing attribute values in add, values in search responses, and parsing attribute values in add,
compare and modify requests, if the attribute type is recognized and compare and modify requests, if the attribute type is recognized and
the attribute syntax name is that of Binary. Clients which request the attribute syntax name is that of Binary. Clients which request
that all attributes be returned from entries MUST be prepared that all attributes be returned from entries MUST be prepared
to receive values in binary (e.g. userCertificate), and SHOULD NOT to receive values in binary (e.g. userCertificate), and SHOULD NOT
simply display binary or unrecognized values to users. simply display binary or unrecognized values to users.
4.3.2. Syntax Object Identifiers 4.3.2. Syntax Object Identifiers
skipping to change at line 295 skipping to change at line 292
len = numericstring len = numericstring
The following table lists some of the syntaxes that have been defined 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 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 syntax would likely be a human readable string. Clients and servers
need not implement all the syntaxes listed here, and MAY implement need not implement all the syntaxes listed here, and MAY implement
other syntaxes. other syntaxes.
Other documents may define additional syntaxes. However, the Other documents may define additional syntaxes. However, the
definition of additional arbitrary syntaxes is strongly depreciated definition of additional arbitrary syntaxes is strongly deprecated
since it will hinder interoperability: today's client and server since it will hinder interoperability: today's client and server
implementations generally do not have the ability to dynamically implementations generally do not have the ability to dynamically
recognize new syntaxes. In most cases attributes will be defined recognize new syntaxes. In most cases attributes will be defined
with the syntax for directory strings. with the syntax for directory strings.
Value being represented H-R OBJECT IDENTIFIER Value being represented H-R OBJECT IDENTIFIER
================================================================= =================================================================
ACI Item N 1.3.6.1.4.1.1466.115.121.1.1 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 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 Attribute Type Description Y 1.3.6.1.4.1.1466.115.121.1.3
skipping to change at line 342 skipping to change at line 339
Master And Shadow Access Points Y 1.3.6.1.4.1.1466.115.121.1.29 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 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 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 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 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 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 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 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 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 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 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 Other Mailbox Y 1.3.6.1.4.1.1466.115.121.1.39
Password Y 1.3.6.1.4.1.1466.115.121.1.40
Postal Address Y 1.3.6.1.4.1.1466.115.121.1.41 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 Protocol Information Y 1.3.6.1.4.1.1466.115.121.1.42
Presentation Address Y 1.3.6.1.4.1.1466.115.121.1.43 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 Printable String Y 1.3.6.1.4.1.1466.115.121.1.44
Subtree Specification Y 1.3.6.1.4.1.1466.115.121.1.45 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 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 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 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 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 Telephone Number Y 1.3.6.1.4.1.1466.115.121.1.50
skipping to change at line 375 skipping to change at line 372
implementations should allow a string to be 64 characters long, implementations should allow a string to be 64 characters long,
although they may allow longer strings. Note that a single character although they may allow longer strings. Note that a single character
of the Directory String syntax may be encoded in more than one byte of the Directory String syntax may be encoded in more than one byte
since UTF-8 is a variable-length encoding. since UTF-8 is a variable-length encoding.
4.3.3. Syntax Description 4.3.3. Syntax Description
The following BNF may be used to associate a short description with The following BNF may be used to associate a short description with
a syntax OBJECT IDENTIFIER. Implementors should note that future a syntax OBJECT IDENTIFIER. Implementors should note that future
versions of this document may expand this definition to include versions of this document may expand this definition to include
additional terms. additional terms. Terms whose identifier begins with "X-" are
reserved for private experiments.
SyntaxDescription = "(" whsp SyntaxDescription = "(" whsp
numericoid whsp numericoid whsp
[ "DESC" qdstring ] [ "DESC" qdstring ]
whsp ")" whsp ")"
4.4. Object Classes 4.4. Object Classes
The format for representation of object classes is defined in X.501 The format for representation of object classes is defined in X.501
[3]. In general every entry will contain an abstract class ("top" or [3]. In general every entry will contain an abstract class ("top" or
"alias"), at least one structural object class, and zero or more "alias"), at least one structural object class, and zero or more
auxiliary object classes. Whether an object class is abstract, auxiliary object classes. Whether an object class is abstract,
structural or auxiliary is defined when the object class identifier structural or auxiliary is defined when the object class identifier
is assigned. An object class definition should not be changed is assigned. An object class definition should not be changed
without having a new identifier assigned to it. without having a new identifier assigned to it.
Object class descriptions are written according to the following BNF. Object class descriptions are written according to the following BNF.
Implementors should note that future versions of this document may Implementors should note that future versions of this document may
expand this definition to include additional terms. expand this definition to include additional terms. Terms whose
identifier begins with "X-" are reserved for private experiments.
ObjectClassDescription = "(" whsp ObjectClassDescription = "(" whsp
numericoid whsp ; ObjectClass identifier numericoid whsp ; ObjectClass identifier
[ "NAME" qdescrs ] [ "NAME" qdescrs ]
[ "DESC" qdstring ] [ "DESC" qdstring ]
[ "OBSOLETE" whsp ] [ "OBSOLETE" whsp ]
[ "SUP" oids ] ; Superior ObjectClasses [ "SUP" oids ] ; Superior ObjectClasses
[ ( "ABSTRACT" / "STRUCTURAL" / "AUXILIARY" ) whsp ] [ ( "ABSTRACT" / "STRUCTURAL" / "AUXILIARY" ) whsp ]
; default structural ; default structural
[ "MUST" oids ] ; AttributeTypes [ "MUST" oids ] ; AttributeTypes
skipping to change at line 486 skipping to change at line 485
SYNTAX '1.3.6.1.4.1.1466.115.121.1.15' ) 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 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: 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) ) matchingRuleUse: ( 1.2.3.4.5 APPLIES (2.5.4.41 $ 2.5.4.15) )
A client could then make use of this matching rule by sending a A client could then make use of this matching rule by sending a
search operation in which the filter is of the extensibleMatch choice, search operation in which the filter is of the extensibleMatch choice,
the matchingRule field is "soundAlikeMatch", and the type field is the matchingRule field is "soundAlikeMatch", and the type field is
"2.5.4.41" of "2.5.4.15". "2.5.4.41" or "2.5.4.15".
5. Attribute Types 5. Attribute Types
All LDAP server implementations MUST recognize the attribute types All LDAP server implementations MUST recognize the attribute types
defined in this section. These types are based on definitions in defined in this section.
X.501(93) [3].
Servers SHOULD also recognize all the attributes from section 5 of Servers SHOULD also recognize all the attributes from section 5 of
[12]. [12].
5.1. Standard Operational Attributes 5.1. Standard Operational Attributes
Servers MUST maintain values of these attributes in accordance with Servers MUST maintain values of these attributes in accordance with
the definitions in X.501(93). the definitions in X.501(93).
5.1.1. createTimestamp 5.1.1. createTimestamp
skipping to change at line 630 skipping to change at line 628
supported extended operations which the server supports. supported extended operations which the server supports.
If the server does not support any extensions this attribute will be If the server does not support any extensions this attribute will be
absent. absent.
( 1.3.6.1.4.1.1466.101.120.7 NAME 'supportedExtension' ( 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 ) SYNTAX '1.3.6.1.4.1.1466.115.121.1.38' USAGE dSAOperation )
5.2.4. supportedControl 5.2.4. supportedControl
The values of this attribute are the OBJECT IDENTIFIERS identifying The values of this attribute are the OBJECT IDENTIFIERs identifying
controls which the server supports. If the server does not controls which the server supports. If the server does not
support any controls, this attribute will be absent. support any controls, this attribute will be absent.
( 1.3.6.1.4.1.1466.101.120.13 NAME 'supportedControl' ( 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 ) SYNTAX '1.3.6.1.4.1.1466.115.121.1.38' USAGE dSAOperation )
5.2.5. supportedSASLMechanisms 5.2.5. supportedSASLMechanisms
The values of this attribute are the names of supported SASL The values of this attribute are the names of supported SASL
mechanisms which the server supports. If the server does not mechanisms which the server supports. If the server does not
skipping to change at line 670 skipping to change at line 668
Servers MAY use this attribute to list the syntaxes which are Servers MAY use this attribute to list the syntaxes which are
implemented. Each value corresponds to one syntax. implemented. Each value corresponds to one syntax.
( 1.3.6.1.4.1.1466.101.120.16 NAME 'ldapSyntaxes' ( 1.3.6.1.4.1.1466.101.120.16 NAME 'ldapSyntaxes'
EQUALITY objectIdentifierFirstComponentMatch EQUALITY objectIdentifierFirstComponentMatch
SYNTAX '1.3.6.1.4.1.1466.115.121.1.54' USAGE directoryOperation ) SYNTAX '1.3.6.1.4.1.1466.115.121.1.54' USAGE directoryOperation )
6. Syntaxes 6. Syntaxes
Servers SHOULD recognize all the syntaxes described in this section. Servers SHOULD recognize all the syntaxes described in this section.
Each syntax begins with a sample value of the ldapSyntaxes attribute
which defines the OBJECT IDENTIFIER of the syntax. The descriptions
of syntax names are not carried in protocol, and are not guaranteed
to be unique.
6.1. Attribute Type Description 6.1. Attribute Type Description
( 1.3.6.1.4.1.1466.115.121.1.3 DESC '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 Values in this syntax are encoded according to the BNF given at the
start of section 4.2. For example, start of section 4.2. For example,
( 2.5.4.0 NAME 'objectClass' ( 2.5.4.0 NAME 'objectClass'
SYNTAX '1.3.6.1.4.1.1466.115.121.1.38' ) SYNTAX '1.3.6.1.4.1.1466.115.121.1.38' )
skipping to change at line 754 skipping to change at line 748
or returning the attribute description "crossCertificatePair;binary". or returning the attribute description "crossCertificatePair;binary".
The BNF notation in RFC 1778 for "Certificate Pair" is not The BNF notation in RFC 1778 for "Certificate Pair" is not
recommended to be used. recommended to be used.
6.8. Country String 6.8. Country String
( 1.3.6.1.4.1.1466.115.121.1.11 DESC '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 A value in this syntax is encoded the same as a value of
Directory String syntax. Note that this syntax is limited to values Directory String syntax. Note that this syntax is limited to values
of exactly two printable string characters. of exactly two printable string characters, as listed in ISO 3166 [14].
CountryString = p p CountryString = p p
Example: Example:
US US
6.9. DN 6.9. DN
( 1.3.6.1.4.1.1466.115.121.1.12 DESC 'DN' ) ( 1.3.6.1.4.1.1466.115.121.1.12 DESC 'DN' )
skipping to change at line 841 skipping to change at line 835
Values in this syntax are encoded according to the following BNF: Values in this syntax are encoded according to the following BNF:
fax-number = printablestring [ "$" faxparameters ] fax-number = printablestring [ "$" faxparameters ]
faxparameters = faxparm / ( faxparm "$" faxparameters ) faxparameters = faxparm / ( faxparm "$" faxparameters )
faxparm = "twoDimensional" / "fineResolution" / faxparm = "twoDimensional" / "fineResolution" /
"unlimitedLength" / "unlimitedLength" /
"b4Length" / "a3Width" / "b4Width" / "uncompressed" "b4Length" / "a3Width" / "b4Width" / "uncompressed"
In the above, the first printablestring is the actual fax number, In the above, the first printablestring is the telephone number,
and the faxparm tokens represent fax parameters. based on E.123 [15], and the faxparm tokens represent fax parameters.
6.13. Fax 6.13. Fax
( 1.3.6.1.4.1.1466.115.121.1.23 DESC '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 Values in this syntax are encoded as if they were octet strings
containing Group 3 Fax images as defined in [7]. containing Group 3 Fax images as defined in [7].
6.14. Generalized Time 6.14. Generalized Time
skipping to change at line 913 skipping to change at line 907
6.21. Name And Optional UID 6.21. Name And Optional UID
( 1.3.6.1.4.1.1466.115.121.1.34 DESC '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: Values in this syntax are encoded according to the following BNF:
NameAndOptionalUID = DistinguishedName [ "#" bitstring ] NameAndOptionalUID = DistinguishedName [ "#" bitstring ]
Although the '#' character may occur in a string representation of a Although the '#' character may occur in a string representation of a
distinguished name, no additional special quoting is done. distinguished name, no additional special quoting is done. This
syntax has been added subsequent to RFC 1778.
This syntax has been added subsequent to RFC 1778.
Example: Example:
1.3.6.1.4.1.1466.0=#04024869,O=Test,C=GB#'0101'B 1.3.6.1.4.1.1466.0=#04024869,O=Test,C=GB#'0101'B
6.22. Name Form Description 6.22. Name Form Description
( 1.3.6.1.4.1.1466.115.121.1.35 DESC '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. Values in this syntax are encoded according to the following BNF.
skipping to change at line 993 skipping to change at line 986
( 1.3.6.1.4.1.1466.115.121.1.41 DESC 'Postal Address' ) ( 1.3.6.1.4.1.1466.115.121.1.41 DESC 'Postal Address' )
Values in this syntax are encoded according to the following BNF: Values in this syntax are encoded according to the following BNF:
postal-address = dstring *( "$" dstring ) postal-address = dstring *( "$" dstring )
In the above, each dstring component of a postal address value is In the above, each dstring component of a postal address value is
encoded as a value of type Directory String syntax. Backslashes and encoded as a value of type Directory String syntax. Backslashes and
dollar characters, if they occur in the component, are quoted as dollar characters, if they occur in the component, are quoted as
described in section 4. described in section 4.3. Many servers limit the postal address to
six lines of up to thirty characters.
Example: Example:
1234 Main St.$Anytown, CA 12345$USA 1234 Main St.$Anytown, CA 12345$USA
\241,000,000 Sweepstakes$PO Box 1000000$Anytown, CA 12345$USA \241,000,000 Sweepstakes$PO Box 1000000$Anytown, CA 12345$USA
6.28. Presentation Address 6.28. Presentation Address
( 1.3.6.1.4.1.1466.115.121.1.43 DESC 'Presentation Address' ) ( 1.3.6.1.4.1.1466.115.121.1.43 DESC 'Presentation Address' )
skipping to change at line 1025 skipping to change at line 1019
Example: Example:
This is a PrintableString This is a PrintableString
6.30. Telephone Number 6.30. Telephone Number
( 1.3.6.1.4.1.1466.115.121.1.50 DESC '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 Values in this syntax are encoded as if they were Printable String
types. Telephone numbers are recommended in X.520 to be in types. Telephone numbers are recommended in X.520 to be in
international form. international form, as described in E.123 [15].
Example: Example:
+1 512 305 0280 +1 512 305 0280
6.31. UTC Time 6.31. UTC Time
( 1.3.6.1.4.1.1466.115.121.1.53 DESC '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 Values in this syntax are encoded as if they were printable
skipping to change at line 1253 skipping to change at line 1247
TW9 1DT TW9 1DT
UK UK
Phone: +44-181-332-9091 Phone: +44-181-332-9091
EMail: S.Kille@isode.com EMail: S.Kille@isode.com
12. Bibliography 12. Bibliography
[1] M. Wahl, T. Howes, S. Kille, "Lightweight Directory Access [1] M. Wahl, T. Howes, S. Kille, "Lightweight Directory Access
Protocol (Version 3)", INTERNET-DRAFT Protocol (Version 3)", INTERNET-DRAFT
<draft-ietf-asid-ldapv3-protocol-06.txt>, July 1997. <draft-ietf-asid-ldapv3-protocol-07.txt>, Aug. 1997.
[2] The Directory: Selected Attribute Types. ITU-T Recommendation [2] The Directory: Selected Attribute Types. ITU-T Recommendation
X.520, 1993. X.520, 1993.
[3] The Directory: Models. ITU-T Recommendation X.501, 1993. [3] The Directory: Models. ITU-T Recommendation X.501, 1993.
[4] S. Bradner, "Key words for use in RFCs to Indicate Requirement [4] S. Bradner, "Key words for use in RFCs to Indicate Requirement
Levels", RFC 2119. Levels", RFC 2119.
[5] M. Wahl, S. Kille, "A UTF-8 String Representation of [5] M. Wahl, S. Kille, "A UTF-8 String Representation of
skipping to change at line 1288 skipping to change at line 1282
10646", RFC 2044, October 1996. 10646", RFC 2044, October 1996.
[10] Universal Multiple-Octet Coded Character Set (UCS) - [10] Universal Multiple-Octet Coded Character Set (UCS) -
Architecture and Basic Multilingual Plane, ISO/IEC 10646-1 : Architecture and Basic Multilingual Plane, ISO/IEC 10646-1 :
1993 (With amendments). 1993 (With amendments).
[11] S. Hardcastle-Kille, "Mapping between X.400(1988) / ISO 10021 [11] S. Hardcastle-Kille, "Mapping between X.400(1988) / ISO 10021
and RFC 822", RFC 1327, May 1992. and RFC 822", RFC 1327, May 1992.
[12] M. Wahl, "X.500(96) User Schema for use with LDAP", [12] M. Wahl, "X.500(96) User Schema for use with LDAP",
INTERNET-DRAFT <draft-ietf-asid-ldapv3schema-x500-01.txt>, INTERNET-DRAFT <draft-ietf-asid-ldapv3schema-x500-02.txt>,
July 1997. Aug. 1997.
[13] D. Crocker, "Standard of the Format of ARPA-Internet Text [13] D. Crocker, "Standard of the Format of ARPA-Internet Text
Messages", STD 11, RFC 822, August 1982. Messages", STD 11, RFC 822, August 1982.
<draft-ietf-asid-ldapv3-attributes-06.txt> Expires: December 1997 [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.
<draft-ietf-asid-ldapv3-attributes-07.txt> Expires: February 1998
 End of changes. 28 change blocks. 
52 lines changed or deleted 46 lines changed or added

This html diff was produced by rfcdiff 1.33. The latest version is available from http://tools.ietf.org/tools/rfcdiff/