draft-ietf-ldapbis-protocol-09.txt | draft-ietf-ldapbis-protocol-10.txt | |||
---|---|---|---|---|
Internet-Draft Editor: J. Sermersheim | Internet-Draft Editor: J. Sermersheim | |||
Intended Category: Standard Track Novell, Inc | Intended Category: Standard Track Novell, Inc | |||
Document: draft-ietf-ldapbis-protocol-09.txt Oct 2002 | Document: draft-ietf-ldapbis-protocol-10.txt Oct 2002 | |||
Obsoletes: RFC 2251 | Obsoletes: RFC 2251 | |||
LDAP: The Protocol | LDAP: The Protocol | |||
Status of this Memo | Status of this Memo | |||
This document is an Internet-Draft and is in full conformance with | This document is an Internet-Draft and is in full conformance with | |||
all provisions of Section 10 of RFC2026. | all provisions of Section 10 of RFC2026. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
skipping to change at line 59 | skipping to change at line 59 | |||
4.1.1. Message Envelope.............................................4 | 4.1.1. Message Envelope.............................................4 | |||
4.1.2. String Types.................................................5 | 4.1.2. String Types.................................................5 | |||
4.1.3. Distinguished Name and Relative Distinguished Name...........6 | 4.1.3. Distinguished Name and Relative Distinguished Name...........6 | |||
Sermersheim Internet-Draft - Expires Apr 2003 Page 1 | Sermersheim Internet-Draft - Expires Apr 2003 Page 1 | |||
Lightweight Directory Access Protocol Version 3 | Lightweight Directory Access Protocol Version 3 | |||
4.1.4. Attribute Descriptions.......................................6 | 4.1.4. Attribute Descriptions.......................................6 | |||
4.1.5. Attribute Value..............................................7 | 4.1.5. Attribute Value..............................................7 | |||
4.1.6. Attribute Value Assertion....................................7 | 4.1.6. Attribute Value Assertion....................................7 | |||
4.1.7. Attribute....................................................7 | 4.1.7. Attribute....................................................8 | |||
4.1.8. Matching Rule Identifier.....................................8 | 4.1.8. Matching Rule Identifier.....................................8 | |||
4.1.9. Result Message...............................................8 | 4.1.9. Result Message...............................................8 | |||
4.1.10. Referral...................................................10 | 4.1.10. Referral...................................................10 | |||
4.1.11. Controls...................................................11 | 4.1.11. Controls...................................................11 | |||
4.2. Bind Operation................................................12 | 4.2. Bind Operation................................................12 | |||
4.3. Unbind Operation..............................................15 | 4.3. Unbind Operation..............................................15 | |||
4.4. Unsolicited Notification......................................15 | 4.4. Unsolicited Notification......................................15 | |||
4.5. Search Operation..............................................16 | 4.5. Search Operation..............................................16 | |||
4.6. Modify Operation..............................................23 | 4.6. Modify Operation..............................................23 | |||
4.7. Add Operation.................................................25 | 4.7. Add Operation.................................................25 | |||
skipping to change at line 99 | skipping to change at line 99 | |||
Appendix C - Change History........................................44 | Appendix C - Change History........................................44 | |||
C.1 Changes made to RFC 2251:......................................44 | C.1 Changes made to RFC 2251:......................................44 | |||
C.2 Changes made to draft-ietf-ldapbis-protocol-00.txt:............44 | C.2 Changes made to draft-ietf-ldapbis-protocol-00.txt:............44 | |||
C.3 Changes made to draft-ietf-ldapbis-protocol-01.txt:............45 | C.3 Changes made to draft-ietf-ldapbis-protocol-01.txt:............45 | |||
C.4 Changes made to draft-ietf-ldapbis-protocol-02.txt:............45 | C.4 Changes made to draft-ietf-ldapbis-protocol-02.txt:............45 | |||
C.5 Changes made to draft-ietf-ldapbis-protocol-03.txt:............47 | C.5 Changes made to draft-ietf-ldapbis-protocol-03.txt:............47 | |||
C.6 Changes made to draft-ietf-ldapbis-protocol-04.txt:............49 | C.6 Changes made to draft-ietf-ldapbis-protocol-04.txt:............49 | |||
C.7 Changes made to draft-ietf-ldapbis-protocol-05.txt:............49 | C.7 Changes made to draft-ietf-ldapbis-protocol-05.txt:............49 | |||
C.8 Changes made to draft-ietf-ldapbis-protocol-06.txt:............50 | C.8 Changes made to draft-ietf-ldapbis-protocol-06.txt:............50 | |||
C.9 Changes made to draft-ietf-ldapbis-protocol-07.txt:............53 | C.9 Changes made to draft-ietf-ldapbis-protocol-07.txt:............53 | |||
C.10 Changes made to draft-ietf-ldapbis-protocol-07.txt:...........53 | C.10 Changes made to draft-ietf-ldapbis-protocol-08.txt:...........53 | |||
C.11 Changes made to draft-ietf-ldapbis-protocol-09.txt:...........53 | ||||
Appendix D - Outstanding Work Items................................53 | Appendix D - Outstanding Work Items................................53 | |||
1. Introduction | 1. Introduction | |||
The Directory is "a collection of open systems cooperating to provide | The Directory is "a collection of open systems cooperating to provide | |||
directory services" [X.500]. A Directory user, which may be a human | directory services" [X.500]. A Directory user, which may be a human | |||
or other entity, accesses the Directory through a client (or | or other entity, accesses the Directory through a client (or | |||
Directory User Agent (DUA)). The client, on behalf of the directory | Directory User Agent (DUA)). The client, on behalf of the directory | |||
user, interacts with one or more servers (or Directory System Agents | ||||
Sermersheim Internet-Draft - Expires Apr 2003 Page 2 | Sermersheim Internet-Draft - Expires Apr 2003 Page 2 | |||
Lightweight Directory Access Protocol Version 3 | Lightweight Directory Access Protocol Version 3 | |||
user, interacts with one or more servers (or Directory System Agents | ||||
(DSA)). Clients interact with servers using a directory access | (DSA)). Clients interact with servers using a directory access | |||
protocol. | protocol. | |||
This document details the protocol elements of Lightweight Directory | This document details the protocol elements of Lightweight Directory | |||
Access Protocol, along with their semantic meanings. Following the | Access Protocol, along with their semantic meanings. Following the | |||
description of protocol elements, it describes the way in which the | description of protocol elements, it describes the way in which the | |||
protocol is encoded and transferred. | protocol is encoded and transferred. | |||
This document is an integral part of the LDAP Technical Specification | This document is an integral part of the LDAP Technical Specification | |||
[Roadmap]. | [Roadmap]. | |||
skipping to change at line 175 | skipping to change at line 176 | |||
Lightweight Directory Access Protocol Version 3 | Lightweight Directory Access Protocol Version 3 | |||
In order to support future Standards Track extensions to this | In order to support future Standards Track extensions to this | |||
protocol, extensibility is implied where it is allowed (per ASN.1). | protocol, extensibility is implied where it is allowed (per ASN.1). | |||
In addition, ellipses (...) have been supplied in ASN.1 types that | In addition, ellipses (...) have been supplied in ASN.1 types that | |||
are explicitly extensible as discussed in [LDAPIANA]. Because of the | are explicitly extensible as discussed in [LDAPIANA]. Because of the | |||
implied extensibility, clients and servers MUST ignore trailing | implied extensibility, clients and servers MUST ignore trailing | |||
SEQUENCE elements whose tags they do not recognize. | SEQUENCE elements whose tags they do not recognize. | |||
Changes to the LDAP protocol other than those described in [LDAPIANA] | Changes to the LDAP protocol other than those described in [LDAPIANA] | |||
Comment | ||||
: | ||||
I | ||||
s | ||||
t | ||||
h | ||||
i | ||||
s | ||||
t | ||||
r | ||||
u | ||||
e | ||||
? | ||||
require a different version number. A client indicates the version it | require a different version number. A client indicates the version it | |||
is using as part of the bind request, described in section 4.2. If a | is using as part of the bind request, described in section 4.2. If a | |||
client has not sent a bind, the server MUST assume the client is | client has not sent a bind, the server MUST assume the client is | |||
using version 3 or later. | using version 3 or later. | |||
Clients may determine the protocol versions a server supports by | Clients may determine the protocol versions a server supports by | |||
reading the supportedLDAPVersion attribute from the root DSE | reading the supportedLDAPVersion attribute from the root DSE | |||
[Models]. Servers which implement version 3 or later MUST provide | [Models]. Servers which implement version 3 or later MUST provide | |||
this attribute. | this attribute. | |||
skipping to change at line 234 | skipping to change at line 219 | |||
modifyResponse ModifyResponse, | modifyResponse ModifyResponse, | |||
addRequest AddRequest, | addRequest AddRequest, | |||
addResponse AddResponse, | addResponse AddResponse, | |||
delRequest DelRequest, | delRequest DelRequest, | |||
delResponse DelResponse, | delResponse DelResponse, | |||
modDNRequest ModifyDNRequest, | modDNRequest ModifyDNRequest, | |||
modDNResponse ModifyDNResponse, | modDNResponse ModifyDNResponse, | |||
compareRequest CompareRequest, | compareRequest CompareRequest, | |||
compareResponse CompareResponse, | compareResponse CompareResponse, | |||
abandonRequest AbandonRequest, | abandonRequest AbandonRequest, | |||
extendedReq ExtendedRequest, | ||||
Sermersheim Internet-Draft - Expires Apr 2003 Page 4 | Sermersheim Internet-Draft - Expires Apr 2003 Page 4 | |||
Lightweight Directory Access Protocol Version 3 | Lightweight Directory Access Protocol Version 3 | |||
extendedReq ExtendedRequest, | ||||
extendedResp ExtendedResponse, | extendedResp ExtendedResponse, | |||
... }, | ... }, | |||
controls [0] Controls OPTIONAL } | controls [0] Controls OPTIONAL } | |||
MessageID ::= INTEGER (0 .. maxInt) | MessageID ::= INTEGER (0 .. maxInt) | |||
maxInt INTEGER ::= 2147483647 -- (2^^31 - 1) -- | maxInt INTEGER ::= 2147483647 -- (2^^31 - 1) -- | |||
The function of the LDAPMessage is to provide an envelope containing | The function of the LDAPMessage is to provide an envelope containing | |||
common fields required in all protocol exchanges. At this time the | common fields required in all protocol exchanges. At this time the | |||
skipping to change at line 289 | skipping to change at line 274 | |||
A client MUST NOT send a request with the same message ID as an | A client MUST NOT send a request with the same message ID as an | |||
earlier request on the same connection unless it can be determined | earlier request on the same connection unless it can be determined | |||
that the server is no longer servicing the earlier request. Otherwise | that the server is no longer servicing the earlier request. Otherwise | |||
the behavior is undefined. For operations that do not return | the behavior is undefined. For operations that do not return | |||
responses (unbind, abandon, and abandoned operations), the client | responses (unbind, abandon, and abandoned operations), the client | |||
SHOULD assumes the operation is in progress until a subsequent bind | SHOULD assumes the operation is in progress until a subsequent bind | |||
request completes. | request completes. | |||
4.1.2. String Types | 4.1.2. String Types | |||
The LDAPString is a notational convenience to indicate that, although | ||||
strings of LDAPString type encode as OCTET STRING types, the | ||||
Sermersheim Internet-Draft - Expires Apr 2003 Page 5 | Sermersheim Internet-Draft - Expires Apr 2003 Page 5 | |||
Lightweight Directory Access Protocol Version 3 | Lightweight Directory Access Protocol Version 3 | |||
The LDAPString is a notational convenience to indicate that, although | ||||
strings of LDAPString type encode as OCTET STRING types, the | ||||
[ISO10646] character set (a superset of Unicode) is used, encoded | [ISO10646] character set (a superset of Unicode) is used, encoded | |||
following the UTF-8 algorithm [RFC2044]. Note that in the UTF-8 | following the UTF-8 algorithm [RFC2044]. Note that in the UTF-8 | |||
algorithm characters which are the same as ASCII (0x0000 through | algorithm characters which are the same as ASCII (0x0000 through | |||
0x007F) are represented as that same ASCII character in a single | 0x007F) are represented as that same ASCII character in a single | |||
byte. The other byte values are used to form a variable-length | byte. The other byte values are used to form a variable-length | |||
encoding of an arbitrary character. | encoding of an arbitrary character. | |||
LDAPString ::= OCTET STRING -- UTF-8 encoded, | LDAPString ::= OCTET STRING -- UTF-8 encoded, | |||
-- ISO 10646 characters | -- ISO 10646 characters | |||
skipping to change at line 343 | skipping to change at line 327 | |||
is an attribute type and zero or more options. | is an attribute type and zero or more options. | |||
AttributeDescription ::= LDAPString | AttributeDescription ::= LDAPString | |||
-- Constrained to attributedescription | -- Constrained to attributedescription | |||
-- [Models] | -- [Models] | |||
Not all options can be associated with attributes held in the | Not all options can be associated with attributes held in the | |||
directory. A server will treat an AttributeDescription with any | directory. A server will treat an AttributeDescription with any | |||
options it does not implement or support as unrecognized. The order | options it does not implement or support as unrecognized. The order | |||
in which options appear in the list MUST NOT be used to impart any | in which options appear in the list MUST NOT be used to impart any | |||
semantic meaning. Servers MUST treat any two AttributeDescription | ||||
with the same attribute type and options as equivalent. | ||||
Sermersheim Internet-Draft - Expires Apr 2003 Page 6 | Sermersheim Internet-Draft - Expires Apr 2003 Page 6 | |||
Lightweight Directory Access Protocol Version 3 | Lightweight Directory Access Protocol Version 3 | |||
semantic meaning. Servers MUST treat any two AttributeDescription | ||||
with the same attribute type and options as equivalent. | ||||
AttributeDescriptionList describes a list of 0 or more attribute | AttributeDescriptionList describes a list of 0 or more attribute | |||
descriptions. (A list of zero elements has special significance in | descriptions. (A list of zero elements has special significance in | |||
the Search request.) | the Search request.) | |||
AttributeDescriptionList ::= SEQUENCE OF | AttributeDescriptionList ::= SEQUENCE OF | |||
AttributeDescription | AttributeDescription | |||
4.1.5. Attribute Value | 4.1.5. Attribute Value | |||
A field of type AttributeValue is an OCTET STRING containing an | A field of type AttributeValue is an OCTET STRING containing an | |||
skipping to change at line 399 | skipping to change at line 384 | |||
AssertionValue ::= OCTET STRING | AssertionValue ::= OCTET STRING | |||
The syntax of the AssertionValue depends on the context of the LDAP | The syntax of the AssertionValue depends on the context of the LDAP | |||
operation being performed. For example, the syntax of the EQUALITY | operation being performed. For example, the syntax of the EQUALITY | |||
matching rule for an attribute is used when performing a Compare | matching rule for an attribute is used when performing a Compare | |||
operation. Often this is the same syntax used for values of the | operation. Often this is the same syntax used for values of the | |||
attribute type, but in some cases the assertion syntax differs from | attribute type, but in some cases the assertion syntax differs from | |||
the value syntax. See objectIdentiferFirstComponentMatch in | the value syntax. See objectIdentiferFirstComponentMatch in | |||
[Syntaxes] for an example. | [Syntaxes] for an example. | |||
4.1.7. Attribute | ||||
Sermersheim Internet-Draft - Expires Apr 2003 Page 7 | Sermersheim Internet-Draft - Expires Apr 2003 Page 7 | |||
Lightweight Directory Access Protocol Version 3 | Lightweight Directory Access Protocol Version 3 | |||
4.1.7. Attribute | ||||
An attribute consists of an attribute description and one or more | An attribute consists of an attribute description and one or more | |||
values of that attribute description. (Though attributes MUST have at | values of that attribute description. (Though attributes MUST have at | |||
least one value when stored, due to access control restrictions the | least one value when stored, due to access control restrictions the | |||
set may be empty when transferred from the server to the client. This | set may be empty when transferred from the server to the client. This | |||
is described in section 4.5.2, concerning the PartialAttributeList | is described in section 4.5.2, concerning the PartialAttributeList | |||
type.) | type.) | |||
Attribute ::= SEQUENCE { | Attribute ::= SEQUENCE { | |||
type AttributeDescription, | type AttributeDescription, | |||
vals SET OF AttributeValue } | vals SET OF AttributeValue } | |||
skipping to change at line 433 | skipping to change at line 418 | |||
either its numericoid, or one of its short name descriptors, e.g. | either its numericoid, or one of its short name descriptors, e.g. | |||
"caseIgnoreIA5Match" or "1.3.6.1.4.1.453.33.33". | "caseIgnoreIA5Match" or "1.3.6.1.4.1.453.33.33". | |||
MatchingRuleId ::= LDAPString | MatchingRuleId ::= LDAPString | |||
Servers which support matching rules for use in the extensibleMatch | Servers which support matching rules for use in the extensibleMatch | |||
search filter MUST list the matching rules they implement in | search filter MUST list the matching rules they implement in | |||
subschema entries, using the matchingRules attributes. The server | subschema entries, using the matchingRules attributes. The server | |||
SHOULD also list there, using the matchingRuleUse attribute, the | SHOULD also list there, using the matchingRuleUse attribute, the | |||
attribute types with which each matching rule can be used. More | attribute types with which each matching rule can be used. More | |||
Comment | ||||
: | ||||
mov | ||||
e | ||||
t | ||||
o | ||||
mo | ||||
d | ||||
e | ||||
l | ||||
s | ||||
information is given in section 4.5 of [Syntaxes]. | information is given in section 4.5 of [Syntaxes]. | |||
4.1.9. Result Message | 4.1.9. Result Message | |||
The LDAPResult is the construct used in this protocol to return | The LDAPResult is the construct used in this protocol to return | |||
success or failure indications from servers to clients. To various | success or failure indications from servers to clients. To various | |||
requests, servers will return responses of LDAPResult or responses | requests, servers will return responses of LDAPResult or responses | |||
containing the components of LDAPResponse to indicate the final | containing the components of LDAPResponse to indicate the final | |||
status of a protocol operation request. | status of a protocol operation request. | |||
LDAPResult ::= SEQUENCE { | LDAPResult ::= SEQUENCE { | |||
resultCode ENUMERATED { | resultCode ENUMERATED { | |||
success (0), | success (0), | |||
operationsError (1), | operationsError (1), | |||
protocolError (2), | protocolError (2), | |||
timeLimitExceeded (3), | timeLimitExceeded (3), | |||
sizeLimitExceeded (4), | sizeLimitExceeded (4), | |||
compareFalse (5), | compareFalse (5), | |||
compareTrue (6), | compareTrue (6), | |||
authMethodNotSupported (7), | ||||
strongAuthRequired (8), | ||||
-- 9 reserved -- | ||||
Sermersheim Internet-Draft - Expires Apr 2003 Page 8 | Sermersheim Internet-Draft - Expires Apr 2003 Page 8 | |||
Lightweight Directory Access Protocol Version 3 | Lightweight Directory Access Protocol Version 3 | |||
authMethodNotSupported (7), | ||||
strongAuthRequired (8), | ||||
-- 9 reserved -- | ||||
referral (10), | referral (10), | |||
adminLimitExceeded (11), | adminLimitExceeded (11), | |||
unavailableCriticalExtension (12), | unavailableCriticalExtension (12), | |||
confidentialityRequired (13), | confidentialityRequired (13), | |||
saslBindInProgress (14), | saslBindInProgress (14), | |||
noSuchAttribute (16), | noSuchAttribute (16), | |||
undefinedAttributeType (17), | undefinedAttributeType (17), | |||
inappropriateMatching (18), | inappropriateMatching (18), | |||
constraintViolation (19), | constraintViolation (19), | |||
attributeOrValueExists (20), | attributeOrValueExists (20), | |||
skipping to change at line 523 | skipping to change at line 495 | |||
The result codes enumeration is extensible as defined in Section 3.5 | The result codes enumeration is extensible as defined in Section 3.5 | |||
of [LDAPIANA]. The meanings of the result codes are given in Appendix | of [LDAPIANA]. The meanings of the result codes are given in Appendix | |||
A. | A. | |||
The errorMessage field of this construct may, at the server's option, | The errorMessage field of this construct may, at the server's option, | |||
be used to return a string containing a textual, human-readable | be used to return a string containing a textual, human-readable | |||
(terminal control and page formatting characters should be avoided) | (terminal control and page formatting characters should be avoided) | |||
error diagnostic. As this error diagnostic is not standardized, | error diagnostic. As this error diagnostic is not standardized, | |||
implementations MUST NOT rely on the values returned. If the server | implementations MUST NOT rely on the values returned. If the server | |||
chooses not to return a textual diagnostic, the errorMessage field of | ||||
the LDAPResult type MUST contain a zero length string. | ||||
Sermersheim Internet-Draft - Expires Apr 2003 Page 9 | Sermersheim Internet-Draft - Expires Apr 2003 Page 9 | |||
Lightweight Directory Access Protocol Version 3 | Lightweight Directory Access Protocol Version 3 | |||
chooses not to return a textual diagnostic, the errorMessage field of | ||||
the LDAPResult type MUST contain a zero length string. | ||||
For result codes of noSuchObject, aliasProblem, invalidDNSyntax and | For result codes of noSuchObject, aliasProblem, invalidDNSyntax and | |||
aliasDereferencingProblem, the matchedDN field is set to the name of | aliasDereferencingProblem, the matchedDN field is set to the name of | |||
the lowest entry (object or alias) in the directory that was matched. | the lowest entry (object or alias) in the directory that was matched. | |||
If no aliases were dereferenced while attempting to locate the entry, | If no aliases were dereferenced while attempting to locate the entry, | |||
this will be a truncated form of the name provided, or if aliases | this will be a truncated form of the name provided, or if aliases | |||
were dereferenced, of the resulting name, as defined in section 12.5 | were dereferenced, of the resulting name, as defined in section 12.5 | |||
of [X.511]. The matchedDN field contains a zero length string with | of [X.511]. The matchedDN field contains a zero length string with | |||
all other result codes. | all other result codes. | |||
4.1.10. Referral | 4.1.10. Referral | |||
skipping to change at line 578 | skipping to change at line 551 | |||
to [LDAPDN]. If an alias was dereferenced, the <dn> part of the URL | to [LDAPDN]. If an alias was dereferenced, the <dn> part of the URL | |||
MUST be present, with the new target object name. If the <dn> part is | MUST be present, with the new target object name. If the <dn> part is | |||
present, the client MUST use this name in its next request to | present, the client MUST use this name in its next request to | |||
progress the operation, and if it is not present the client will use | progress the operation, and if it is not present the client will use | |||
the same name as in the original request. Some servers (e.g. | the same name as in the original request. Some servers (e.g. | |||
participating in distributed indexing) may provide a different filter | participating in distributed indexing) may provide a different filter | |||
in a referral for a search operation. If the filter part of the URL | in a referral for a search operation. If the filter part of the URL | |||
is present in an LDAPURL, the client MUST use this filter in its next | is present in an LDAPURL, the client MUST use this filter in its next | |||
request to progress this search, and if it is not present the client | request to progress this search, and if it is not present the client | |||
MUST use the same filter as it used for that search. Other aspects of | MUST use the same filter as it used for that search. Other aspects of | |||
the new request may be the same or different as the request which | ||||
generated the referral. | ||||
Sermersheim Internet-Draft - Expires Apr 2003 Page 10 | Sermersheim Internet-Draft - Expires Apr 2003 Page 10 | |||
Lightweight Directory Access Protocol Version 3 | Lightweight Directory Access Protocol Version 3 | |||
the new request may be the same or different as the request which | ||||
generated the referral. | ||||
Note that UTF-8 characters appearing in a DN or search filter may not | Note that UTF-8 characters appearing in a DN or search filter may not | |||
be legal for URLs (e.g. spaces) and MUST be escaped using the % | be legal for URLs (e.g. spaces) and MUST be escaped using the % | |||
method in [RFC2396]. | method in [RFC2396]. | |||
Other kinds of URLs may be returned, so long as the operation could | Other kinds of URLs may be returned, so long as the operation could | |||
be performed using that protocol. | be performed using that protocol. | |||
4.1.11. Controls | 4.1.11. Controls | |||
A control is a way to specify extension information for an LDAP | A control is a way to specify extension information for an LDAP | |||
skipping to change at line 635 | skipping to change at line 609 | |||
The controlValue contains any information associated with the | The controlValue contains any information associated with the | |||
control, and its format is defined for the control. Implementations | control, and its format is defined for the control. Implementations | |||
MUST be prepared to handle arbitrary contents of the controlValue | MUST be prepared to handle arbitrary contents of the controlValue | |||
octet string, including zero bytes. It is absent only if there is no | octet string, including zero bytes. It is absent only if there is no | |||
value information which is associated with a control of its type. | value information which is associated with a control of its type. | |||
This document does not specify any controls. Controls may be | This document does not specify any controls. Controls may be | |||
specified in other documents. The specification of a control consists | specified in other documents. The specification of a control consists | |||
of: | of: | |||
- the OBJECT IDENTIFIER assigned to the control, | ||||
Sermersheim Internet-Draft - Expires Apr 2003 Page 11 | Sermersheim Internet-Draft - Expires Apr 2003 Page 11 | |||
Lightweight Directory Access Protocol Version 3 | Lightweight Directory Access Protocol Version 3 | |||
- the OBJECT IDENTIFIER assigned to the control, | ||||
- whether the control is always noncritical, always critical, or | - whether the control is always noncritical, always critical, or | |||
critical at the client's option, | critical at the client's option, | |||
- the format of the controlValue contents of the control, | - the format of the controlValue contents of the control, | |||
- the semantics of the control, | - the semantics of the control, | |||
- and optionally, semantics regarding the combination of the control | - and optionally, semantics regarding the combination of the control | |||
with other controls. | with other controls. | |||
skipping to change at line 689 | skipping to change at line 663 | |||
-- 1 and 2 reserved | -- 1 and 2 reserved | |||
sasl [3] SaslCredentials, | sasl [3] SaslCredentials, | |||
... } | ... } | |||
SaslCredentials ::= SEQUENCE { | SaslCredentials ::= SEQUENCE { | |||
mechanism LDAPString, | mechanism LDAPString, | |||
credentials OCTET STRING OPTIONAL } | credentials OCTET STRING OPTIONAL } | |||
Parameters of the Bind Request are: | Parameters of the Bind Request are: | |||
Sermersheim Internet-Draft - Expires Apr 2003 Page 12 | ||||
Lightweight Directory Access Protocol Version 3 | ||||
- version: A version number indicating the version of the protocol | - version: A version number indicating the version of the protocol | |||
to be used in this protocol session. This document describes | to be used in this protocol session. This document describes | |||
version 3 of the LDAP protocol. Note that there is no version | version 3 of the LDAP protocol. Note that there is no version | |||
negotiation, and the client just sets this parameter to the | negotiation, and the client just sets this parameter to the | |||
Sermersheim Internet-Draft - Expires Apr 2003 Page 12 | ||||
Lightweight Directory Access Protocol Version 3 | ||||
version it desires. If the server does not support the specified | version it desires. If the server does not support the specified | |||
version, it responds with protocolError in the resultCode field of | version, it responds with protocolError in the resultCode field of | |||
the BindResponse. | the BindResponse. | |||
- name: The name of the directory object that the client wishes to | - name: The name of the directory object that the client wishes to | |||
bind as. This field may take on a null value (a zero length | bind as. This field may take on a null value (a zero length | |||
string) for the purposes of anonymous binds, when authentication | string) for the purposes of anonymous binds, when authentication | |||
has been performed at a lower layer, or when using SASL | has been performed at a lower layer, or when using SASL | |||
credentials with a mechanism that includes the name in the | credentials with a mechanism that includes the name in the | |||
credentials. Server behavior is undefined when the name is a null | credentials. Server behavior is undefined when the name is a null | |||
skipping to change at line 745 | skipping to change at line 718 | |||
A client may abort a SASL bind negotiation by sending a BindRequest | A client may abort a SASL bind negotiation by sending a BindRequest | |||
with a different value in the mechanism field of SaslCredentials, or | with a different value in the mechanism field of SaslCredentials, or | |||
an AuthenticationChoice other than sasl. | an AuthenticationChoice other than sasl. | |||
If the client sends a BindRequest with the sasl mechanism field as an | If the client sends a BindRequest with the sasl mechanism field as an | |||
empty string, the server MUST return a BindResponse with | empty string, the server MUST return a BindResponse with | |||
authMethodNotSupported as the resultCode. This will allow clients to | authMethodNotSupported as the resultCode. This will allow clients to | |||
abort a negotiation if it wishes to try again with the same SASL | abort a negotiation if it wishes to try again with the same SASL | |||
mechanism. | mechanism. | |||
Sermersheim Internet-Draft - Expires Apr 2003 Page 13 | ||||
Lightweight Directory Access Protocol Version 3 | ||||
If the client did not bind before sending a request and receives an | If the client did not bind before sending a request and receives an | |||
operationsError, it may then send a Bind Request. If this also fails | operationsError, it may then send a Bind Request. If this also fails | |||
or the client chooses not to bind on the existing connection, it will | or the client chooses not to bind on the existing connection, it will | |||
close the connection, reopen it and begin again by first sending a | close the connection, reopen it and begin again by first sending a | |||
Sermersheim Internet-Draft - Expires Apr 2003 Page 13 | ||||
Lightweight Directory Access Protocol Version 3 | ||||
PDU with a Bind Request. This will aid in interoperating with servers | PDU with a Bind Request. This will aid in interoperating with servers | |||
implementing other versions of LDAP. | implementing other versions of LDAP. | |||
4.2.2. Bind Response | 4.2.2. Bind Response | |||
The Bind Response is defined as follows. | The Bind Response is defined as follows. | |||
BindResponse ::= [APPLICATION 1] SEQUENCE { | BindResponse ::= [APPLICATION 1] SEQUENCE { | |||
COMPONENTS OF LDAPResult, | COMPONENTS OF LDAPResult, | |||
serverSaslCreds [7] OCTET STRING OPTIONAL } | serverSaslCreds [7] OCTET STRING OPTIONAL } | |||
BindResponse consists simply of an indication from the server of the | BindResponse consists simply of an indication from the server of the | |||
status of the client's request for authentication. | status of the client's request for authentication. | |||
If the bind was successful, the resultCode will be success, otherwise | If the bind was successful, the resultCode will be success, otherwise | |||
Comment | ||||
: | ||||
Re | ||||
c | ||||
o | ||||
n | ||||
c | ||||
i | ||||
l | ||||
e | ||||
w | ||||
i | ||||
t | ||||
h | ||||
r | ||||
e | ||||
s | ||||
u | ||||
l | ||||
t | ||||
c | ||||
o | ||||
d | ||||
e | ||||
s | ||||
it MAY be one of: | it MAY be one of: | |||
d | ||||
r | ||||
a | ||||
f | ||||
t | ||||
. | ||||
- operationsError: server encountered an internal error. | - operationsError: server encountered an internal error. | |||
- protocolError: unrecognized version number or incorrect PDU | - protocolError: unrecognized version number or incorrect PDU | |||
structure. | structure. | |||
- authMethodNotSupported: unrecognized SASL mechanism name. | - authMethodNotSupported: unrecognized SASL mechanism name. | |||
- strongAuthRequired: the server requires authentication be | - strongAuthRequired: the server requires authentication be | |||
performed with a SASL mechanism. | performed with a SASL mechanism. | |||
skipping to change at line 838 | skipping to change at line 774 | |||
credentials could not be processed. | credentials could not be processed. | |||
- unavailable: the server is shutting down. | - unavailable: the server is shutting down. | |||
If the server does not support the client's requested protocol | If the server does not support the client's requested protocol | |||
version, it MUST set the resultCode to protocolError. | version, it MUST set the resultCode to protocolError. | |||
If the client receives a BindResponse response where the resultCode | If the client receives a BindResponse response where the resultCode | |||
was protocolError, it MUST close the connection as the server will be | was protocolError, it MUST close the connection as the server will be | |||
unwilling to accept further operations. (This is for compatibility | unwilling to accept further operations. (This is for compatibility | |||
with earlier versions of LDAP, in which the bind was always the first | ||||
operation, and there was no negotiation.) | ||||
Sermersheim Internet-Draft - Expires Apr 2003 Page 14 | Sermersheim Internet-Draft - Expires Apr 2003 Page 14 | |||
Lightweight Directory Access Protocol Version 3 | Lightweight Directory Access Protocol Version 3 | |||
with earlier versions of LDAP, in which the bind was always the first | ||||
operation, and there was no negotiation.) | ||||
The serverSaslCreds are used as part of a SASL-defined bind mechanism | The serverSaslCreds are used as part of a SASL-defined bind mechanism | |||
to allow the client to authenticate the server to which it is | to allow the client to authenticate the server to which it is | |||
communicating, or to perform "challenge-response" authentication. If | communicating, or to perform "challenge-response" authentication. If | |||
the client bound with the simple choice, or the SASL mechanism does | the client bound with the simple choice, or the SASL mechanism does | |||
not require the server to return information to the client, then this | not require the server to return information to the client, then this | |||
field is not to be included in the result. | field is not to be included in the result. | |||
4.3. Unbind Operation | 4.3. Unbind Operation | |||
The function of the Unbind Operation is to terminate a protocol | The function of the Unbind Operation is to terminate a protocol | |||
skipping to change at line 892 | skipping to change at line 829 | |||
4.4.1. Notice of Disconnection | 4.4.1. Notice of Disconnection | |||
This notification may be used by the server to advise the client that | This notification may be used by the server to advise the client that | |||
the server is about to close the connection due to an error | the server is about to close the connection due to an error | |||
condition. Note that this notification is NOT a response to an unbind | condition. Note that this notification is NOT a response to an unbind | |||
requested by the client: the server MUST follow the procedures of | requested by the client: the server MUST follow the procedures of | |||
section 4.3. This notification is intended to assist clients in | section 4.3. This notification is intended to assist clients in | |||
distinguishing between an error condition and a transient network | distinguishing between an error condition and a transient network | |||
failure. As with a connection close due to network failure, the | failure. As with a connection close due to network failure, the | |||
client MUST NOT assume that any outstanding requests which modified | ||||
the directory have succeeded or failed. | ||||
Sermersheim Internet-Draft - Expires Apr 2003 Page 15 | Sermersheim Internet-Draft - Expires Apr 2003 Page 15 | |||
Lightweight Directory Access Protocol Version 3 | Lightweight Directory Access Protocol Version 3 | |||
client MUST NOT assume that any outstanding requests which modified | ||||
the directory have succeeded or failed. | ||||
The responseName is 1.3.6.1.4.1.1466.20036, the response field is | The responseName is 1.3.6.1.4.1.1466.20036, the response field is | |||
absent, and the resultCode is used to indicate the reason for the | absent, and the resultCode is used to indicate the reason for the | |||
disconnection. | disconnection. | |||
Comment | ||||
: | ||||
mov | ||||
e | ||||
t | ||||
o | ||||
r | ||||
e | ||||
s | ||||
u | ||||
l | ||||
t | ||||
c | ||||
o | ||||
d | ||||
e | ||||
The following resultCode values are to be used in this notification: | The following resultCode values are to be used in this notification: | |||
a | ||||
p | ||||
p | ||||
e | ||||
n | ||||
d | ||||
i | ||||
x | ||||
? | ||||
- protocolError: The server has received data from the client in | - protocolError: The server has received data from the client in | |||
which the LDAPMessage structure could not be parsed. | which the LDAPMessage structure could not be parsed. | |||
- strongAuthRequired: The server has detected that an established | - strongAuthRequired: The server has detected that an established | |||
underlying security association protecting communication between | underlying security association protecting communication between | |||
the client and server has unexpectedly failed or been compromised. | the client and server has unexpectedly failed or been compromised. | |||
- unavailable: This server will stop accepting new connections and | - unavailable: This server will stop accepting new connections and | |||
operations on all existing connections, and be unavailable for an | operations on all existing connections, and be unavailable for an | |||
skipping to change at line 978 | skipping to change at line 886 | |||
neverDerefAliases (0), | neverDerefAliases (0), | |||
derefInSearching (1), | derefInSearching (1), | |||
derefFindingBaseObj (2), | derefFindingBaseObj (2), | |||
derefAlways (3) }, | derefAlways (3) }, | |||
sizeLimit INTEGER (0 .. maxInt), | sizeLimit INTEGER (0 .. maxInt), | |||
timeLimit INTEGER (0 .. maxInt), | timeLimit INTEGER (0 .. maxInt), | |||
typesOnly BOOLEAN, | typesOnly BOOLEAN, | |||
filter Filter, | filter Filter, | |||
attributes AttributeDescriptionList } | attributes AttributeDescriptionList } | |||
Filter ::= CHOICE { | ||||
and [0] SET SIZE (1..MAX) OF Filter, | ||||
Sermersheim Internet-Draft - Expires Apr 2003 Page 16 | Sermersheim Internet-Draft - Expires Apr 2003 Page 16 | |||
Lightweight Directory Access Protocol Version 3 | Lightweight Directory Access Protocol Version 3 | |||
Filter ::= CHOICE { | ||||
and [0] SET SIZE (1..MAX) OF Filter, | ||||
or [1] SET SIZE (1..MAX) OF Filter, | or [1] SET SIZE (1..MAX) OF Filter, | |||
not [2] Filter, | not [2] Filter, | |||
equalityMatch [3] AttributeValueAssertion, | equalityMatch [3] AttributeValueAssertion, | |||
substrings [4] SubstringFilter, | substrings [4] SubstringFilter, | |||
greaterOrEqual [5] AttributeValueAssertion, | greaterOrEqual [5] AttributeValueAssertion, | |||
lessOrEqual [6] AttributeValueAssertion, | lessOrEqual [6] AttributeValueAssertion, | |||
present [7] AttributeDescription, | present [7] AttributeDescription, | |||
approxMatch [8] AttributeValueAssertion, | approxMatch [8] AttributeValueAssertion, | |||
extensibleMatch [9] MatchingRuleAssertion } | extensibleMatch [9] MatchingRuleAssertion } | |||
skipping to change at line 1027 | skipping to change at line 934 | |||
- derefAliases: An indicator as to how alias objects (as defined in | - derefAliases: An indicator as to how alias objects (as defined in | |||
X.501) are to be handled in searching. The semantics of the | X.501) are to be handled in searching. The semantics of the | |||
possible values of this field are: | possible values of this field are: | |||
neverDerefAliases: do not dereference aliases in searching | neverDerefAliases: do not dereference aliases in searching | |||
or in locating the base object of the search; | or in locating the base object of the search; | |||
derefInSearching: dereference aliases in subordinates of | derefInSearching: dereference aliases in subordinates of | |||
the base object in searching, but not in locating the base | the base object in searching, but not in locating the base | |||
Comment | ||||
: | ||||
When | ||||
s | ||||
c | ||||
o | ||||
p | ||||
e | ||||
i | ||||
s | ||||
b | ||||
a | ||||
s | ||||
e | ||||
o | ||||
r | ||||
object of the search; | object of the search; | |||
s | ||||
u | ||||
b | ||||
t | ||||
r | ||||
e | ||||
e | ||||
, | ||||
t | ||||
h | ||||
e | ||||
b | ||||
a | ||||
s | ||||
e | ||||
o | ||||
b | ||||
j | ||||
e | ||||
c | ||||
t | ||||
i | ||||
s | ||||
b | ||||
o | ||||
t | ||||
h | ||||
l | ||||
o | ||||
c | ||||
a | ||||
t | ||||
e | ||||
d | ||||
, | ||||
a | ||||
n | ||||
d | ||||
s | ||||
e | ||||
a | ||||
r | ||||
c | ||||
h | ||||
e | ||||
d | ||||
. | ||||
" | ||||
s | ||||
u | ||||
b | ||||
o | ||||
r | ||||
d | ||||
i | ||||
n | ||||
a | ||||
t | ||||
e | ||||
s | ||||
" | ||||
p | ||||
r | ||||
e | ||||
v | ||||
e | ||||
n | ||||
t | ||||
s | ||||
derefFindingBaseObj: dereference aliases in locating the | derefFindingBaseObj: dereference aliases in locating the | |||
t | ||||
h | ||||
i | ||||
s | ||||
o | ||||
b | ||||
j | ||||
e | ||||
c | ||||
t | ||||
f | ||||
r | ||||
om | ||||
b | ||||
e | ||||
i | ||||
n | ||||
g | ||||
d | ||||
e | ||||
r | ||||
e | ||||
f | ||||
e | ||||
r | ||||
e | ||||
n | ||||
c | ||||
e | ||||
d | ||||
wh | ||||
i | ||||
l | ||||
e | ||||
s | ||||
e | ||||
a | ||||
r | ||||
c | ||||
h | ||||
i | ||||
n | ||||
g | ||||
. | ||||
base object of the search, but not when searching | base object of the search, but not when searching | |||
subordinates of the base object; | subordinates of the base object; | |||
derefAlways: dereference aliases both in searching and in | derefAlways: dereference aliases both in searching and in | |||
locating the base object of the search. | locating the base object of the search. | |||
- sizeLimit: A size limit that restricts the maximum number of | ||||
entries to be returned as a result of the search. A value of 0 in | ||||
Sermersheim Internet-Draft - Expires Apr 2003 Page 17 | Sermersheim Internet-Draft - Expires Apr 2003 Page 17 | |||
Lightweight Directory Access Protocol Version 3 | Lightweight Directory Access Protocol Version 3 | |||
- sizeLimit: A size limit that restricts the maximum number of | ||||
entries to be returned as a result of the search. A value of 0 in | ||||
this field indicates that no client-requested size limit | this field indicates that no client-requested size limit | |||
restrictions are in effect for the search. Servers may enforce a | restrictions are in effect for the search. Servers may enforce a | |||
maximum number of entries to return. | maximum number of entries to return. | |||
- timeLimit: A time limit that restricts the maximum time (in | - timeLimit: A time limit that restricts the maximum time (in | |||
seconds) allowed for a search. A value of 0 in this field | seconds) allowed for a search. A value of 0 in this field | |||
indicates that no client-requested time limit restrictions are in | indicates that no client-requested time limit restrictions are in | |||
effect for the search. | effect for the search. | |||
- typesOnly: An indicator as to whether search results will contain | - typesOnly: An indicator as to whether search results will contain | |||
skipping to change at line 1243 | skipping to change at line 999 | |||
The present match evaluates to TRUE where there is an attribute or | The present match evaluates to TRUE where there is an attribute or | |||
subtype of the specified attribute description present in an | subtype of the specified attribute description present in an | |||
entry, and FALSE otherwise (including a presence test with an | entry, and FALSE otherwise (including a presence test with an | |||
unrecognized attribute description.) | unrecognized attribute description.) | |||
The matching rule and assertion syntax for equalityMatch filter | The matching rule and assertion syntax for equalityMatch filter | |||
items is defined by the EQUALITY matching rule for the attribute | items is defined by the EQUALITY matching rule for the attribute | |||
type. | type. | |||
Sermersheim Internet-Draft - Expires Apr 2003 Page 18 | ||||
Lightweight Directory Access Protocol Version 3 | ||||
The matching rule and assertion syntax for AssertionValues in a | The matching rule and assertion syntax for AssertionValues in a | |||
substrings filter item is defined by the SUBSTR matching rule for | substrings filter item is defined by the SUBSTR matching rule for | |||
the attribute type. | the attribute type. | |||
Sermersheim Internet-Draft - Expires Apr 2003 Page 18 | ||||
Lightweight Directory Access Protocol Version 3 | ||||
The matching rule and assertion syntax for greaterOrEqual and | The matching rule and assertion syntax for greaterOrEqual and | |||
lessOrEqual filter items is defined by the ORDERING matching rule | lessOrEqual filter items is defined by the ORDERING matching rule | |||
for the attribute type. | for the attribute type. | |||
The matching rule and assertion syntax for approxMatch filter | The matching rule and assertion syntax for approxMatch filter | |||
items is implementation-defined. If approximate matching is not | items is implementation-defined. If approximate matching is not | |||
supported by the server, the filter item should be treated as an | supported by the server, the filter item should be treated as an | |||
equalityMatch. | equalityMatch. | |||
The extensibleMatch is new in this version of LDAP. If the | The extensibleMatch is new in this version of LDAP. If the | |||
skipping to change at line 1299 | skipping to change at line 1055 | |||
server did not recognize the attribute type shoeSize, a filter of | server did not recognize the attribute type shoeSize, a filter of | |||
(shoeSize=*) would evaluate to FALSE, and the filters | (shoeSize=*) would evaluate to FALSE, and the filters | |||
(shoeSize=12), (shoeSize>=12) and (shoeSize<=12) would evaluate to | (shoeSize=12), (shoeSize>=12) and (shoeSize<=12) would evaluate to | |||
Undefined. | Undefined. | |||
Servers MUST NOT return errors if attribute descriptions or | Servers MUST NOT return errors if attribute descriptions or | |||
matching rule ids are not recognized, or assertion values cannot | matching rule ids are not recognized, or assertion values cannot | |||
be parsed. More details of filter processing are given in section | be parsed. More details of filter processing are given in section | |||
7.8 of [X.511]. | 7.8 of [X.511]. | |||
Sermersheim Internet-Draft - Expires Apr 2003 Page 19 | ||||
Lightweight Directory Access Protocol Version 3 | ||||
- attributes: A list of the attributes to be returned from each | - attributes: A list of the attributes to be returned from each | |||
entry which matches the search filter. There are two special | entry which matches the search filter. There are two special | |||
values which may be used: an empty list with no attributes, and | values which may be used: an empty list with no attributes, and | |||
the attribute description string "*". Both of these signify that | the attribute description string "*". Both of these signify that | |||
Sermersheim Internet-Draft - Expires Apr 2003 Page 19 | ||||
Lightweight Directory Access Protocol Version 3 | ||||
all user attributes are to be returned. (The "*" allows the client | all user attributes are to be returned. (The "*" allows the client | |||
to request all user attributes in addition to any specified | to request all user attributes in addition to any specified | |||
operational attributes). | operational attributes). | |||
Attributes MUST be named at most once in the list, and are | Attributes MUST be named at most once in the list, and are | |||
returned at most once in an entry. If there are attribute | returned at most once in an entry. If there are attribute | |||
descriptions in the list which are not recognized, they are | descriptions in the list which are not recognized, they are | |||
ignored by the server. | ignored by the server. | |||
If the client does not want any attributes returned, it can | If the client does not want any attributes returned, it can | |||
skipping to change at line 1356 | skipping to change at line 1111 | |||
SearchResultEntry ::= [APPLICATION 4] SEQUENCE { | SearchResultEntry ::= [APPLICATION 4] SEQUENCE { | |||
objectName LDAPDN, | objectName LDAPDN, | |||
attributes PartialAttributeList } | attributes PartialAttributeList } | |||
PartialAttributeList ::= SEQUENCE OF SEQUENCE { | PartialAttributeList ::= SEQUENCE OF SEQUENCE { | |||
type AttributeDescription, | type AttributeDescription, | |||
vals SET OF AttributeValue } | vals SET OF AttributeValue } | |||
-- implementors should note that the PartialAttributeList may | -- implementors should note that the PartialAttributeList may | |||
-- have zero elements (if none of the attributes of that entry | -- have zero elements (if none of the attributes of that entry | |||
-- were requested, or could be returned), and that the vals set | -- were requested, or could be returned), and that the vals set | |||
-- may also have zero elements (if types only was requested, or | ||||
-- all values were excluded from the result.) | ||||
SearchResultReference ::= [APPLICATION 19] SEQUENCE OF LDAPURL | ||||
Sermersheim Internet-Draft - Expires Apr 2003 Page 20 | Sermersheim Internet-Draft - Expires Apr 2003 Page 20 | |||
Lightweight Directory Access Protocol Version 3 | Lightweight Directory Access Protocol Version 3 | |||
-- may also have zero elements (if types only was requested, or | ||||
-- all values were excluded from the result.) | ||||
SearchResultReference ::= [APPLICATION 19] SEQUENCE OF LDAPURL | ||||
-- at least one LDAPURL element must be present | -- at least one LDAPURL element must be present | |||
SearchResultDone ::= [APPLICATION 5] LDAPResult | SearchResultDone ::= [APPLICATION 5] LDAPResult | |||
Upon receipt of a Search Request, a server will perform the necessary | Upon receipt of a Search Request, a server will perform the necessary | |||
search of the DIT. | search of the DIT. | |||
If the LDAP session is operating over a connection-oriented transport | If the LDAP session is operating over a connection-oriented transport | |||
such as TCP, the server will return to the client a sequence of | such as TCP, the server will return to the client a sequence of | |||
responses in separate LDAP messages. There may be zero or more | responses in separate LDAP messages. There may be zero or more | |||
skipping to change at line 1413 | skipping to change at line 1168 | |||
If the server was able to locate the entry referred to by the | If the server was able to locate the entry referred to by the | |||
baseObject but was unable to search all the entries in the scope at | baseObject but was unable to search all the entries in the scope at | |||
and under the baseObject, the server may return one or more | and under the baseObject, the server may return one or more | |||
SearchResultReference entries, each containing a reference to another | SearchResultReference entries, each containing a reference to another | |||
set of servers for continuing the operation. A server MUST NOT return | set of servers for continuing the operation. A server MUST NOT return | |||
any SearchResultReference if it has not located the baseObject and | any SearchResultReference if it has not located the baseObject and | |||
thus has not searched any entries; in this case it would return a | thus has not searched any entries; in this case it would return a | |||
SearchResultDone containing a referral resultCode. | SearchResultDone containing a referral resultCode. | |||
Sermersheim Internet-Draft - Expires Apr 2003 Page 21 | ||||
Lightweight Directory Access Protocol Version 3 | ||||
In the absence of indexing information provided to a server from | In the absence of indexing information provided to a server from | |||
servers holding subordinate naming contexts, SearchResultReference | servers holding subordinate naming contexts, SearchResultReference | |||
responses are not affected by search filters and are always returned | responses are not affected by search filters and are always returned | |||
when in scope. | when in scope. | |||
Sermersheim Internet-Draft - Expires Apr 2003 Page 21 | ||||
Lightweight Directory Access Protocol Version 3 | ||||
The SearchResultReference is of the same data type as the Referral. | The SearchResultReference is of the same data type as the Referral. | |||
URLs for servers implementing the LDAP protocol are written according | URLs for servers implementing the LDAP protocol are written according | |||
to [LDAPDN]. The <dn> part MUST be present in the URL, with the new | to [LDAPDN]. The <dn> part MUST be present in the URL, with the new | |||
target object name. The client MUST use this name in its next | target object name. The client MUST use this name in its next | |||
request. Some servers (e.g. part of a distributed index exchange | request. Some servers (e.g. part of a distributed index exchange | |||
system) may provide a different filter in the URLs of the | system) may provide a different filter in the URLs of the | |||
SearchResultReference. If the filter part of the URL is present in an | SearchResultReference. If the filter part of the URL is present in an | |||
LDAP URL, the client MUST use the new filter in its next request to | LDAP URL, the client MUST use the new filter in its next request to | |||
progress the search, and if the filter part is absent the client will | progress the search, and if the filter part is absent the client will | |||
use again the same filter. If the originating search scope was | use again the same filter. If the originating search scope was | |||
singleLevel, the scope part of the URL will be baseObject. Other | singleLevel, the scope part of the URL will be baseObject. Other | |||
aspects of the new search request may be the same or different as the | aspects of the new search request may be the same or different as the | |||
search which generated the continuation references. | search which generated the continuation references. | |||
Other kinds of URLs may be returned so long as the operation could be | Other kinds of URLs may be returned so long as the operation could be | |||
performed using that protocol. | performed using that protocol. | |||
Comment | ||||
: | ||||
why | ||||
n | ||||
o | ||||
t | ||||
? | ||||
P | ||||
r | ||||
o | ||||
b | ||||
a | ||||
b | ||||
l | ||||
y | ||||
b | ||||
e | ||||
c | ||||
a | ||||
u | ||||
s | ||||
e | ||||
The name of an unexplored subtree in a SearchResultReference need not | The name of an unexplored subtree in a SearchResultReference need not | |||
o | ||||
f | ||||
a | ||||
l | ||||
i | ||||
a | ||||
s | ||||
d | ||||
e | ||||
r | ||||
e | ||||
f | ||||
e | ||||
r | ||||
e | ||||
n | ||||
c | ||||
i | ||||
n | ||||
g | ||||
be subordinate to the base object. | be subordinate to the base object. | |||
In order to complete the search, the client MUST issue a new search | In order to complete the search, the client MUST issue a new search | |||
operation for each SearchResultReference that is returned. Note that | operation for each SearchResultReference that is returned. Note that | |||
the abandon operation described in section 4.11 applies only to a | the abandon operation described in section 4.11 applies only to a | |||
particular operation sent on a connection between a client and | particular operation sent on a connection between a client and | |||
server, and if the client has multiple outstanding search operations, | server, and if the client has multiple outstanding search operations, | |||
it MUST abandon each operation individually. | it MUST abandon each operation individually. | |||
4.5.3.1. Example | 4.5.3.1. Example | |||
skipping to change at line 1518 | skipping to change at line 1224 | |||
SearchResultEntry for CN=Manager,DC=Example,DC=NET | SearchResultEntry for CN=Manager,DC=Example,DC=NET | |||
SearchResultReference { | SearchResultReference { | |||
ldap://hostb/OU=People,DC=Example,DC=NET | ldap://hostb/OU=People,DC=Example,DC=NET | |||
ldap://hostc/OU=People,DC=Example,DC=NET | ldap://hostc/OU=People,DC=Example,DC=NET | |||
} | } | |||
SearchResultReference { | SearchResultReference { | |||
ldap://hostd/OU=Roles,DC=Example,DC=NET | ldap://hostd/OU=Roles,DC=Example,DC=NET | |||
} | } | |||
SearchResultDone (success) | SearchResultDone (success) | |||
Client implementors should note that when following a | ||||
SearchResultReference, additional SearchResultReference may be | ||||
generated. Continuing the example, if the client contacted the server | ||||
Sermersheim Internet-Draft - Expires Apr 2003 Page 22 | Sermersheim Internet-Draft - Expires Apr 2003 Page 22 | |||
Lightweight Directory Access Protocol Version 3 | Lightweight Directory Access Protocol Version 3 | |||
Client implementors should note that when following a | ||||
SearchResultReference, additional SearchResultReference may be | ||||
generated. Continuing the example, if the client contacted the server | ||||
(hostb) and issued the search for the subtree | (hostb) and issued the search for the subtree | |||
"OU=People,DC=Example,DC=NET", the server might respond as follows: | "OU=People,DC=Example,DC=NET", the server might respond as follows: | |||
SearchResultEntry for OU=People,DC=Example,DC=NET | SearchResultEntry for OU=People,DC=Example,DC=NET | |||
SearchResultReference { | SearchResultReference { | |||
ldap://hoste/OU=Managers,OU=People,DC=Example,DC=NET | ldap://hoste/OU=Managers,OU=People,DC=Example,DC=NET | |||
} | } | |||
SearchResultReference { | SearchResultReference { | |||
ldap://hostf/OU=Consultants,OU=People,DC=Example,DC=NET | ldap://hostf/OU=Consultants,OU=People,DC=Example,DC=NET | |||
} | } | |||
skipping to change at line 1575 | skipping to change at line 1280 | |||
Parameters of the Modify Request are: | Parameters of the Modify Request are: | |||
- object: The object to be modified. The value of this field | - object: The object to be modified. The value of this field | |||
contains the DN of the entry to be modified. The server will not | contains the DN of the entry to be modified. The server will not | |||
perform any alias dereferencing in determining the object to be | perform any alias dereferencing in determining the object to be | |||
modified. | modified. | |||
- modification: A list of modifications to be performed on the | - modification: A list of modifications to be performed on the | |||
entry. The entire list of entry modifications MUST be performed in | entry. The entire list of entry modifications MUST be performed in | |||
the order they are listed, as a single atomic operation. While | the order they are listed, as a single atomic operation. While | |||
individual modifications may violate the directory schema, the | ||||
resulting entry after the entire list of modifications is | ||||
performed MUST conform to the requirements of the directory | ||||
Sermersheim Internet-Draft - Expires Apr 2003 Page 23 | Sermersheim Internet-Draft - Expires Apr 2003 Page 23 | |||
Lightweight Directory Access Protocol Version 3 | Lightweight Directory Access Protocol Version 3 | |||
individual modifications may violate the directory schema, the | ||||
resulting entry after the entire list of modifications is | ||||
performed MUST conform to the requirements of the directory | ||||
schema. The values that may be taken on by the 'operation' field | schema. The values that may be taken on by the 'operation' field | |||
in each modification construct have the following semantics | in each modification construct have the following semantics | |||
respectively: | respectively: | |||
add: add values listed to the given attribute, creating the | add: add values listed to the given attribute, creating the | |||
attribute if necessary; | attribute if necessary; | |||
delete: delete values listed from the given attribute, | delete: delete values listed from the given attribute, | |||
removing the entire attribute if no values are listed, or | removing the entire attribute if no values are listed, or | |||
if all current values of the attribute are listed for | if all current values of the attribute are listed for | |||
deletion; | deletion; | |||
replace: replace all existing values of the given attribute | replace: replace all existing values of the given attribute | |||
with the new values listed, creating the attribute if it | with the new values listed, creating the attribute if it | |||
did not already exist. A replace with no value will delete | did not already exist. A replace with no value will delete | |||
the entire attribute if it exists, and is ignored if the | the entire attribute if it exists, and is ignored if the | |||
Comment | ||||
: | ||||
Doe | ||||
s | ||||
n | ||||
o | ||||
t | ||||
e | ||||
x | ||||
i | ||||
s | ||||
t | ||||
o | ||||
n | ||||
t | ||||
h | ||||
e | ||||
e | ||||
n | ||||
t | ||||
r | ||||
y | ||||
, | ||||
attribute does not exist. | attribute does not exist. | |||
t | ||||
h | ||||
e | ||||
o | ||||
b | ||||
j | ||||
e | ||||
c | ||||
t | ||||
c | ||||
l | ||||
a | ||||
s | ||||
s | ||||
, | ||||
o | ||||
r | ||||
t | ||||
h | ||||
e | ||||
s | ||||
c | ||||
h | ||||
ema | ||||
? | ||||
App | ||||
l | ||||
y | ||||
s | ||||
ame | ||||
t | ||||
o | ||||
d | ||||
e | ||||
l | ||||
e | ||||
t | ||||
e | ||||
The result of the modification attempted by the server upon receipt | The result of the modification attempted by the server upon receipt | |||
of a Modify Request is returned in a Modify Response, defined as | of a Modify Request is returned in a Modify Response, defined as | |||
follows: | follows: | |||
ModifyResponse ::= [APPLICATION 7] LDAPResult | ModifyResponse ::= [APPLICATION 7] LDAPResult | |||
Upon receipt of a Modify Request, a server will perform the necessary | Upon receipt of a Modify Request, a server will perform the necessary | |||
modifications to the DIT. | modifications to the DIT. | |||
skipping to change at line 1708 | skipping to change at line 1338 | |||
server returning the error notAllowedOnRDN. The Modify DN Operation | server returning the error notAllowedOnRDN. The Modify DN Operation | |||
described in section 4.9 is used to rename an entry. | described in section 4.9 is used to rename an entry. | |||
If an EQUALITY matching rule has not been defined for an attribute | If an EQUALITY matching rule has not been defined for an attribute | |||
type, clients MUST NOT attempt to add or delete individual values of | type, clients MUST NOT attempt to add or delete individual values of | |||
that attribute from an entry using the "add" or "delete" form of a | that attribute from an entry using the "add" or "delete" form of a | |||
modification, and MUST instead use the "replace" form. | modification, and MUST instead use the "replace" form. | |||
Note that due to the simplifications made in LDAP, there is not a | Note that due to the simplifications made in LDAP, there is not a | |||
direct mapping of the modifications in an LDAP ModifyRequest onto the | direct mapping of the modifications in an LDAP ModifyRequest onto the | |||
EntryModifications of a DAP ModifyEntry operation, and different | ||||
implementations of LDAP-DAP gateways may use different means of | ||||
Sermersheim Internet-Draft - Expires Apr 2003 Page 24 | Sermersheim Internet-Draft - Expires Apr 2003 Page 24 | |||
Lightweight Directory Access Protocol Version 3 | Lightweight Directory Access Protocol Version 3 | |||
EntryModifications of a DAP ModifyEntry operation, and different | ||||
implementations of LDAP-DAP gateways may use different means of | ||||
representing the change. If successful, the final effect of the | representing the change. If successful, the final effect of the | |||
operations on the entry MUST be identical. | operations on the entry MUST be identical. | |||
4.7. Add Operation | 4.7. Add Operation | |||
The Add Operation allows a client to request the addition of an entry | The Add Operation allows a client to request the addition of an entry | |||
into the directory. The Add Request is defined as follows: | into the directory. The Add Request is defined as follows: | |||
AddRequest ::= [APPLICATION 8] SEQUENCE { | AddRequest ::= [APPLICATION 8] SEQUENCE { | |||
entry LDAPDN, | entry LDAPDN, | |||
skipping to change at line 1765 | skipping to change at line 1395 | |||
located in the directory unless DIT structure rules are in place. | located in the directory unless DIT structure rules are in place. | |||
Some servers MAY allow the administrator to restrict the classes of | Some servers MAY allow the administrator to restrict the classes of | |||
entries which can be added to the directory. | entries which can be added to the directory. | |||
Upon receipt of an Add Request, a server will attempt to perform the | Upon receipt of an Add Request, a server will attempt to perform the | |||
add requested. The result of the add attempt will be returned to the | add requested. The result of the add attempt will be returned to the | |||
client in the Add Response, defined as follows: | client in the Add Response, defined as follows: | |||
AddResponse ::= [APPLICATION 9] LDAPResult | AddResponse ::= [APPLICATION 9] LDAPResult | |||
A response of success indicates that the new entry is present in the | ||||
directory. | ||||
Sermersheim Internet-Draft - Expires Apr 2003 Page 25 | Sermersheim Internet-Draft - Expires Apr 2003 Page 25 | |||
Lightweight Directory Access Protocol Version 3 | Lightweight Directory Access Protocol Version 3 | |||
A response of success indicates that the new entry is present in the | ||||
directory. | ||||
4.8. Delete Operation | 4.8. Delete Operation | |||
The Delete Operation allows a client to request the removal of an | The Delete Operation allows a client to request the removal of an | |||
entry from the directory. The Delete Request is defined as follows: | entry from the directory. The Delete Request is defined as follows: | |||
DelRequest ::= [APPLICATION 10] LDAPDN | DelRequest ::= [APPLICATION 10] LDAPDN | |||
The Delete Request consists of the Distinguished Name of the entry to | The Delete Request consists of the Distinguished Name of the entry to | |||
be deleted. Note that the server will not dereference aliases while | be deleted. Note that the server will not dereference aliases while | |||
resolving the name of the target entry to be removed, and that only | resolving the name of the target entry to be removed, and that only | |||
skipping to change at line 1889 | skipping to change at line 1519 | |||
The result of the compare attempted by the server upon receipt of a | The result of the compare attempted by the server upon receipt of a | |||
Compare Request is returned in the Compare Response, defined as | Compare Request is returned in the Compare Response, defined as | |||
follows: | follows: | |||
CompareResponse ::= [APPLICATION 15] LDAPResult | CompareResponse ::= [APPLICATION 15] LDAPResult | |||
Upon receipt of a Compare Request, a server will attempt to perform | Upon receipt of a Compare Request, a server will attempt to perform | |||
the requested comparison using the EQUALITY matching rule for the | the requested comparison using the EQUALITY matching rule for the | |||
attribute type. The result of the comparison will be returned to the | attribute type. The result of the comparison will be returned to the | |||
Comment | ||||
: | ||||
s | ||||
h | ||||
o | ||||
u | ||||
l | ||||
d | ||||
w | ||||
e | ||||
t | ||||
a | ||||
l | ||||
k | ||||
a | ||||
b | ||||
o | ||||
u | ||||
t | ||||
w | ||||
h | ||||
a | ||||
t | ||||
client in the Compare Response. Note that errors and the result of | client in the Compare Response. Note that errors and the result of | |||
t | ||||
o | ||||
d | ||||
o | ||||
w | ||||
h | ||||
e | ||||
n | ||||
t | ||||
e | ||||
h | ||||
a | ||||
t | ||||
t | ||||
r | ||||
i | ||||
s | ||||
m | ||||
i | ||||
s | ||||
s | ||||
i | ||||
n | ||||
g | ||||
v | ||||
s | ||||
a | ||||
t | ||||
t | ||||
r | ||||
i | ||||
s | ||||
n | ||||
' | ||||
t | ||||
comparison are all returned in the same construct. | comparison are all returned in the same construct. | |||
i | ||||
n | ||||
s | ||||
c | ||||
h | ||||
ema | ||||
? | ||||
Shou | ||||
l | ||||
d | ||||
w | ||||
e | ||||
d | ||||
e | ||||
s | ||||
c | ||||
r | ||||
i | ||||
b | ||||
e | ||||
w | ||||
h | ||||
a | ||||
t | ||||
h | ||||
a | ||||
p | ||||
p | ||||
e | ||||
n | ||||
s | ||||
i | ||||
f | ||||
t | ||||
h | ||||
e | ||||
r | ||||
e | ||||
' | ||||
s | ||||
n | ||||
o | ||||
e | ||||
q | ||||
u | ||||
a | ||||
l | ||||
i | ||||
t | ||||
y | ||||
m | ||||
a | ||||
t | ||||
c | ||||
h | ||||
i | ||||
n | ||||
g | ||||
r | ||||
u | ||||
l | ||||
e | ||||
? | ||||
Note that some directory systems may establish access controls which | Note that some directory systems may establish access controls which | |||
permit the values of certain attributes (such as userPassword) to be | permit the values of certain attributes (such as userPassword) to be | |||
compared but not read. | compared but not read. | |||
4.11. Abandon Operation | 4.11. Abandon Operation | |||
The function of the Abandon Operation is to allow a client to request | The function of the Abandon Operation is to allow a client to request | |||
that the server abandon an outstanding operation. The Abandon Request | that the server abandon an outstanding operation. The Abandon Request | |||
is defined as follows: | is defined as follows: | |||
skipping to change at line 2142 | skipping to change at line 1631 | |||
(3) If the value of a BOOLEAN type is true, the encoding MUST have | (3) If the value of a BOOLEAN type is true, the encoding MUST have | |||
its contents octets set to hex "FF". | its contents octets set to hex "FF". | |||
(4) If a value of a type is its default value, it MUST be absent. | (4) If a value of a type is its default value, it MUST be absent. | |||
Only some BOOLEAN and INTEGER types have default values in this | Only some BOOLEAN and INTEGER types have default values in this | |||
protocol definition. | protocol definition. | |||
These restrictions do not apply to ASN.1 types encapsulated inside of | These restrictions do not apply to ASN.1 types encapsulated inside of | |||
OCTET STRING values, such as attribute values, unless otherwise | OCTET STRING values, such as attribute values, unless otherwise | |||
Comment | ||||
: | ||||
Wha | ||||
t | ||||
a | ||||
b | ||||
o | ||||
u | ||||
t | ||||
c | ||||
o | ||||
n | ||||
t | ||||
r | ||||
o | ||||
l | ||||
v | ||||
a | ||||
l | ||||
u | ||||
e | ||||
s | ||||
noted. | noted. | |||
a | ||||
n | ||||
d | ||||
e | ||||
x | ||||
t | ||||
e | ||||
n | ||||
s | ||||
i | ||||
o | ||||
n | ||||
v | ||||
a | ||||
l | ||||
u | ||||
e | ||||
s | ||||
? | ||||
5.2. Transfer Protocols | 5.2. Transfer Protocols | |||
This protocol is designed to run over connection-oriented, reliable | This protocol is designed to run over connection-oriented, reliable | |||
transports, with all 8 bits in an octet being significant in the data | transports, with all 8 bits in an octet being significant in the data | |||
stream. | stream. | |||
5.2.1. Transmission Control Protocol (TCP) | 5.2.1. Transmission Control Protocol (TCP) | |||
The encoded LDAPMessage PDUs are mapped directly onto the TCP | The encoded LDAPMessage PDUs are mapped directly onto the TCP | |||
skipping to change at line 2415 | skipping to change at line 1856 | |||
operationsError (1) | operationsError (1) | |||
Indicates that the operation is not properly sequenced with | Indicates that the operation is not properly sequenced with | |||
relation to other operations (of same or different type). | relation to other operations (of same or different type). | |||
For example, this code is returned if the client attempts to | For example, this code is returned if the client attempts to | |||
Start TLS [RFC2830] while there are other operations | Start TLS [RFC2830] while there are other operations | |||
outstanding or if TLS was already established. | outstanding or if TLS was already established. | |||
For the bind operation only, the code indicates the server | For the bind operation only, the code indicates the server | |||
Comment | ||||
: | ||||
Do | ||||
w | ||||
e | ||||
r | ||||
e | ||||
a | ||||
l | ||||
l | ||||
y | ||||
w | ||||
a | ||||
n | ||||
t | ||||
t | ||||
o | ||||
c | ||||
a | ||||
r | ||||
r | ||||
y | ||||
encountered an internal error. | encountered an internal error. | |||
t | ||||
h | ||||
i | ||||
s | ||||
o | ||||
n | ||||
? | ||||
protocolError (2) | protocolError (2) | |||
Indicates the server received data which has incorrect | Indicates the server received data which has incorrect | |||
structure. | structure. | |||
For bind operation only, the code may be resulted to indicate | For bind operation only, the code may be resulted to indicate | |||
Comment | ||||
: | ||||
Do | ||||
w | ||||
e | ||||
r | ||||
e | ||||
a | ||||
l | ||||
l | ||||
y | ||||
w | ||||
a | ||||
n | ||||
t | ||||
t | ||||
o | ||||
c | ||||
a | ||||
r | ||||
r | ||||
y | ||||
the server does not support the requested protocol version. | the server does not support the requested protocol version. | |||
t | ||||
h | ||||
i | ||||
s | ||||
o | ||||
n | ||||
? | ||||
timeLimitExceeded (3) | timeLimitExceeded (3) | |||
Indicates that the time limit specified by the client was | Indicates that the time limit specified by the client was | |||
exceeded before the operation could be completed. | exceeded before the operation could be completed. | |||
sizeLimitExceeded (4) | sizeLimitExceeded (4) | |||
Indicates that the size limit specified by the client was | Indicates that the size limit specified by the client was | |||
exceeded before the operation could be completed. | exceeded before the operation could be completed. | |||
skipping to change at line 3513 | skipping to change at line 2884 | |||
- Further alignment with [Models]. | - Further alignment with [Models]. | |||
- Added extensibility ellipsis to protocol op choice | - Added extensibility ellipsis to protocol op choice | |||
- In 4.1.1, clarified when connections may be dropped due to | - In 4.1.1, clarified when connections may be dropped due to | |||
malformed PDUs | malformed PDUs | |||
- Specified which matching rules and syntaxes are used for various | - Specified which matching rules and syntaxes are used for various | |||
filter items | filter items | |||
C.10 Changes made to draft-ietf-ldapbis-protocol-07.txt: | C.10 Changes made to draft-ietf-ldapbis-protocol-08.txt: | |||
C.10.1 Section 4.1.1.1: | C.10.1 Section 4.1.1.1: | |||
- Clarified when it is and isn't appropriate to return an already | - Clarified when it is and isn't appropriate to return an already | |||
used result code. | used result code. | |||
C.10.2 Section 4.1.11: | C.10.2 Section 4.1.11: | |||
- Clarified that a control only applies to the message it's attached | - Clarified that a control only applies to the message it's attached | |||
to. | to. | |||
skipping to change at line 3536 | skipping to change at line 2907 | |||
request messages. | request messages. | |||
- Added language regarding the combination of controls. | - Added language regarding the combination of controls. | |||
C.10.3 Section 4.11: | C.10.3 Section 4.11: | |||
- Explained that Abandon and Unbind cannot be abandoned, and | - Explained that Abandon and Unbind cannot be abandoned, and | |||
illustrated how to determine whether an operation has been | illustrated how to determine whether an operation has been | |||
abandoned. | abandoned. | |||
C.11 Changes made to draft-ietf-ldapbis-protocol-09.txt: | ||||
- Fixed formatting | ||||
Appendix D - Outstanding Work Items | Appendix D - Outstanding Work Items | |||
D.0 Integrate notational consistency agreements | D.0 Integrate notational consistency agreements | |||
- WG will discuss notation consistency. Once agreement happens, | - WG will discuss notation consistency. Once agreement happens, | |||
reconcile draft. | reconcile draft. | |||
D.1 Integrate result codes draft. | D.1 Integrate result codes draft. | |||
- The result codes draft should be reconciled with this draft. | ||||
Operation-specific instructions will reside with operations while | ||||
the error-specific sections will be added as an appendix. Note | ||||
Sermersheim Internet-Draft - Expires Apr 2003 Page 53 | Sermersheim Internet-Draft - Expires Apr 2003 Page 53 | |||
Lightweight Directory Access Protocol Version 3 | Lightweight Directory Access Protocol Version 3 | |||
- The result codes draft should be reconciled with this draft. | ||||
Operation-specific instructions will reside with operations while | ||||
the error-specific sections will be added as an appendix. Note | ||||
that there is a result codes appendix now. Still need to reconcile | that there is a result codes appendix now. Still need to reconcile | |||
with each operation. | with each operation. | |||
D.2 Verify references. | D.2 Verify references. | |||
- Many referenced documents have changed. Ensure references and | - Many referenced documents have changed. Ensure references and | |||
section numbers are correct. | section numbers are correct. | |||
D.3 Usage of Naming Context | D.3 Usage of Naming Context | |||
skipping to change at line 3598 | skipping to change at line 2972 | |||
complete subtree searches and base scope to complete one level | complete subtree searches and base scope to complete one level | |||
searches." to the third paragraph. | searches." to the third paragraph. | |||
D.25 Section 4.6 | D.25 Section 4.6 | |||
- Resolve the meaning of "and is ignored if the attribute does not | - Resolve the meaning of "and is ignored if the attribute does not | |||
exist". See "modify: "non-existent attribute"" on the list. | exist". See "modify: "non-existent attribute"" on the list. | |||
D.27 Section 4.10 | D.27 Section 4.10 | |||
Sermersheim Internet-Draft - Expires Apr 2003 Page 54 | ||||
Lightweight Directory Access Protocol Version 3 | ||||
- Specify what happens when the attr is missing vs. attr isn't in | - Specify what happens when the attr is missing vs. attr isn't in | |||
schema. Also what happens if there's no equality matching rule. | schema. Also what happens if there's no equality matching rule. | |||
D.30 Section 5.1 | D.30 Section 5.1 | |||
Sermersheim Internet-Draft - Expires Apr 2003 Page 54 | ||||
Lightweight Directory Access Protocol Version 3 | ||||
- Add "control and extended operation values" to last paragraph. See | - Add "control and extended operation values" to last paragraph. See | |||
"LBER (BER Restrictions)" on list. | "LBER (BER Restrictions)" on list. | |||
D.32 Section 6.1 | D.32 Section 6.1 | |||
- Add "that are used by those attributes" to the first paragraph. | - Add "that are used by those attributes" to the first paragraph. | |||
- Add "Servers which support update operations MUST, and other | - Add "Servers which support update operations MUST, and other | |||
servers SHOULD, support strong authentication mechanisms described | servers SHOULD, support strong authentication mechanisms described | |||
in [RFC2829]." as a second paragraph. | in [RFC2829]." as a second paragraph. | |||
- Add "Servers which provide access to sensitive information MUST, | - Add "Servers which provide access to sensitive information MUST, | |||
End of changes. | ||||
This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/ |