rfc-4527

Lightweight Directory Access Protocol (LDAP) Read Entry Controls

K. Zeilenga
date2006-06 streamIETF wgnon working group statusPROPOSED STANDARD pages8 canonicalhttps://www.rfc-editor.org/rfc/rfc4527 doi10.17487/RFC4527 errataview
This document specifies an extension to the Lightweight Directory Access Protocol (LDAP) to allow the client to read the target entry of an update operation. The client may request to read the entry before and/or after the modifications are applied. These reads are done as an atomic part of the update operation. [STANDARDS-TRACK]

Extracted elements (16)

design-rationale §1

The controls are intended for use cases such as obtaining replaced or deleted attribute values via Pre-Read, and reading server-updated operational attributes (e.g., entryUUID, modifyTimestamp) via Post-Read after an update completes.

ldap

design-rationale §1

The Pre-Read and Post-Read controls are modeled after similar capabilities in the X.500 Directory Access Protocol (DAP) [X.511], bringing analogous read-with-update semantics to LDAP.

ldap

interoperability-note §4

The Pre-Read and Post-Read controls may be combined with each other and with the assertion control (RFC 4528) and/or the manageDsaIT control (RFC 3296); the semantics of each control in the combination applies independently.

ldap

normative-requirement §3.2 MUST

If the update operation fails (in either normal or control processing), no Post-Read response control is provided.

ldap

normative-requirement §3.2 SHOULD

Servers implementing the Post-Read controls SHOULD publish 1.3.6.1.1.13.2 as a value of the 'supportedControl' attribute in their root DSE.

ldap

normative-requirement §3.1 SHOULD

Servers implementing the Pre-Read controls SHOULD publish 1.3.6.1.1.13.1 as a value of the 'supportedControl' attribute in their root DSE.

ldap

normative-requirement §3.2 MUST

The normal processing of the update operation and the processing of the Post-Read control MUST be performed as one atomic action isolated from other update operations.

ldap

normative-requirement §3.2 MUST

The Post-Read response control is appropriate only for addResponse, modifyResponse, and modDNResponse messages with a resultCode of success (0).

ldap

normative-requirement §3.1 MUST

The Pre-Read response control is appropriate only for modifyResponse, delResponse, and modDNResponse messages with a resultCode of success (0).

ldap

protocol-element §3.2

The Post-Read request control is identified by OID 1.3.6.1.1.13.2. Its controlValue is a BER-encoded AttributeSelection and it is appropriate for addRequest, modifyRequest, and modDNRequest messages. The corresponding response control returns a BER-encoded SearchResultEntry.

ldap

protocol-element §3.1

The Pre-Read request control is identified by OID 1.3.6.1.1.13.1. Its controlValue is a BER-encoded AttributeSelection and it is appropriate for modifyRequest, delRequest, and modDNRequest messages. The corresponding response control returns a BER-encoded SearchResultEntry.

ldap

registry §6.1

IANA registered LDAP Object Identifier for the LDAP Read Entry Controls under RFC 4527, with Author/Change Controller IESG.

ldap, registry

registry §6.2

IANA registered two LDAP Protocol Mechanisms: OID 1.3.6.1.1.13.1 (LDAP Pre-read Control) and OID 1.3.6.1.1.13.2 (LDAP Post-read Control), both with Usage: Control and Specification: RFC 4527.

ldap, registry

security-consideration §5 MUST

Servers MUST ensure that the client is authorized both for reading the information returned in the read entry control and for performing the requested directory update operation. These are separate authorization checks.

ldap, security

wire-format §3.2

The Post-Read request control's controlValue is a BER-encoded AttributeSelection (as defined in RFC 4511 and extended by RFC 3673), encoded as an OCTET STRING. The response control's controlValue is a BER-encoded SearchResultEntry.

ldap

wire-format §3.1

The Pre-Read request control's controlValue is a BER-encoded AttributeSelection (as defined in RFC 4511 and extended by RFC 3673), encoded as an OCTET STRING. The response control's controlValue is a BER-encoded SearchResultEntry.

ldap