rfc-3909

Lightweight Directory Access Protocol (LDAP) Cancel Operation

K. Zeilenga
date2004-10 streamIETF wgnon working group statusPROPOSED STANDARD pages7 canonicalhttps://www.rfc-editor.org/rfc/rfc3909 doi10.17487/RFC3909
This specification describes a Lightweight Directory Access Protocol (LDAP) extended operation to cancel (or abandon) an outstanding operation. Unlike the LDAP Abandon operation, but like the X.511 Directory Access Protocol (DAP) Abandon operation, this operation has a response which provides an indication of its outcome. [STANDARDS-TRACK]

Extracted elements (18)

design-rationale §3

The Abandon, Bind, Start TLS, Unbind, and Cancel operations are explicitly made non-cancelable to avoid adding complexity to authentication, authorization, and security layer semantics. Additionally, the Cancel operation itself cannot be abandoned.

ldap, security

design-rationale §1

The LDAP Cancel operation is modeled after the X.511 DAP Abandon operation, which unlike LDAP Abandon provides a response and requires the abandoned operation to return a response indicating it was canceled. This design was chosen to give clients a clear indication of the outcome of the cancel request.

ldap

normative-requirement §3 SHOULD NOT

Clients SHOULD NOT request the cancellation of an operation multiple times.

ldap

normative-requirement §3 SHALL NOT

If the server cannot cancel the operation, the Cancel Response SHALL have a non-success resultCode and SHALL NOT have an impact upon the outstanding operation.

ldap

normative-requirement §3 SHALL

If the server is willing and able to cancel the outstanding operation identified by cancelId, the server SHALL return a Cancel Response with a success resultCode, and the canceled operation SHALL fail with the canceled resultCode.

ldap

normative-requirement §3 SHOULD

Servers SHOULD indicate their support for this extended operation by providing 1.3.6.1.1.8 as a value of the 'supportedExtension' attribute type in their root DSE. A server MAY choose to advertise this extension only when the client is authorized to use it.

ldap

normative-requirement §3 REQUIRED

The cannotCancel resultCode is returned if the identified operation does not support cancellation. Non-cancelable operations include those with no response, those that create/alter/destroy authentication or authorization associations, those that establish/alter/tear-down security services, and operations that abandon or cancel other operations.

ldap

normative-requirement §1 SHOULD

The LDAP Cancel operation SHOULD be used instead of the LDAP Abandon operation when the client needs an indication of the outcome.

ldap

normative-requirement §3 REQUIRED

The noSuchOperation resultCode is returned if the server has no knowledge of the operation requested for cancellation.

ldap

normative-requirement §3 REQUIRED

The protocolError resultCode is returned if the server is unable to parse the requestValue or the requestValue is absent.

ldap

normative-requirement §3 REQUIRED

The tooLate resultCode is returned to indicate it is too late to cancel the outstanding operation, for example when a modify operation has already committed updates to the underlying data store.

ldap

protocol-element §2.3

Four new LDAP result codes are defined: canceled (118), noSuchOperation (119), tooLate (120), and cannotCancel (121). Implementations SHALL recognize all four values.

ldap, registry

protocol-element §2

The Cancel operation is an LDAP Extended Operation identified by OID 1.3.6.1.1.8. It allows a client to cancel an outstanding operation within the same session and, unlike the LDAP Abandon operation, provides a response indicating the outcome.

ldap

registry §5

IANA registered LDAP Object Identifier 1.3.6.1.1.8 to identify the LDAP Cancel Operation, and registered it as an LDAP Protocol Mechanism (Extended Operation). Four new LDAP result codes were also registered: canceled (118), noSuchOperation (119), tooLate (120), and cannotCancel (121).

ldap, registry

security-consideration §4 MUST NOT

Servers MUST NOT allow a user to cancel an operation belonging to another user. This is particularly relevant when the Proxy Authorization Control is in use, where different outstanding operations may be processed under different LDAP associations.

ldap, security

security-consideration §4

The Bind operation and Start TLS extended operation are disallowed from cancellation to avoid adding complexity to authentication, authorization, and security layer semantics. Designers of future extended operations and/or controls should disallow abandonment and cancellation when appropriate.

ldap, security, tls

wire-format §2.1

The Cancel request is an ExtendedRequest with requestName set to 1.3.6.1.1.8 and requestValue containing a BER-encoded cancelRequestValue, which is a SEQUENCE containing a single cancelID field of type MessageID identifying the operation to be canceled.

ldap

wire-format §2.2

The Cancel response is an ExtendedResponse where both the responseName and response fields are absent; only the standard resultCode is returned.

ldap