mirror of
https://git.openldap.org/openldap/openldap.git
synced 2024-12-21 03:10:25 +08:00
284 lines
10 KiB
Plaintext
284 lines
10 KiB
Plaintext
|
||
|
||
|
||
|
||
|
||
|
||
Network Working Group K. Zeilenga
|
||
Request for Comments: 3674 OpenLDAP Foundation
|
||
Category: Standards Track December 2003
|
||
|
||
|
||
Feature Discovery in Lightweight Directory Access Protocol (LDAP)
|
||
|
||
Status of this Memo
|
||
|
||
This document specifies an Internet standards track protocol for the
|
||
Internet community, and requests discussion and suggestions for
|
||
improvements. Please refer to the current edition of the "Internet
|
||
Official Protocol Standards" (STD 1) for the standardization state
|
||
and status of this protocol. Distribution of this memo is unlimited.
|
||
|
||
Copyright Notice
|
||
|
||
Copyright (C) The Internet Society (2003). All Rights Reserved.
|
||
|
||
Abstract
|
||
|
||
The Lightweight Directory Access Protocol (LDAP) is an extensible
|
||
protocol with numerous elective features. This document introduces a
|
||
general mechanism for discovery of elective features and extensions
|
||
which cannot be discovered using existing mechanisms.
|
||
|
||
1. Background and Intended Use
|
||
|
||
The Lightweight Directory Access Protocol (LDAP) [RFC3377] is an
|
||
extensible protocol with numerous elective features. LDAP provides
|
||
mechanisms for a client to discover supported protocol versions,
|
||
controls, extended operations, Simple Authentication and Security
|
||
Layer (SASL) mechanisms, and subschema information. However, these
|
||
mechanisms are not designed to support general feature discovery.
|
||
|
||
This document describes a simple, general-purpose mechanism which
|
||
clients may use to discover the set of elective features supported by
|
||
a server. For example, this mechanism could be used by a client to
|
||
discover whether or not the server supports requests for all
|
||
operational attributes, e.g., "+" [RFC3673]. As another example,
|
||
this mechanism could be used to discover absolute true, e.g., "(&)"
|
||
and false, e.g., "(|)", search filters [T-F] support.
|
||
|
||
This document extends the LDAP Protocol Mechanism registry [RFC3383]
|
||
to support registration of values of the supportedFeatures attribute.
|
||
This registry is managed by the Internet Assigned Numbers Authority
|
||
(IANA).
|
||
|
||
|
||
|
||
|
||
Zeilenga Standards Track [Page 1]
|
||
|
||
RFC 3674 Feature Discovery in LDAP December 2003
|
||
|
||
|
||
Schema definitions are provided using LDAP description formats
|
||
[RFC2252]. Definitions provided here are formatted (line wrapped)
|
||
for readability.
|
||
|
||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
|
||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
|
||
document are to be interpreted as described in BCP 14 [RFC2119].
|
||
|
||
2. Discovery of supported features
|
||
|
||
Each elective feature whose support may be discovered SHALL be
|
||
identified by an Object Identifier (OID). A server advertises its
|
||
support for a given feature by providing the OID associated with the
|
||
feature as a value of the 'supportedFeatures' attribute held in the
|
||
root DSE. A client may examine the values of this attribute to
|
||
determine if a particular feature is supported by the server. A
|
||
client MUST ignore values it doesn't recognize as they refer to
|
||
elective features it doesn't implement.
|
||
|
||
Features associated with Standard Track protocol mechanisms MUST be
|
||
registered. Features associated with other protocol mechanisms
|
||
SHOULD be registered. Procedures for registering protocol mechanisms
|
||
are described in BCP 64 [RFC3383]. The word "Feature" should be
|
||
placed in the usage field of the submitted LDAP Protocol Mechanism
|
||
template.
|
||
|
||
The 'supportedFeatures' attribute type is described as follows:
|
||
|
||
( 1.3.6.1.4.1.4203.1.3.5
|
||
NAME 'supportedFeatures'
|
||
DESC 'features supported by the server'
|
||
EQUALITY objectIdentifierMatch
|
||
SYNTAX 1.3.6.1.4.1.1466.115.121.1.38
|
||
USAGE dSAOperation )
|
||
|
||
Servers MUST be capable of recognizing this attribute type by the
|
||
name 'supportedFeatures'. Servers MAY recognize the attribute type
|
||
by other names.
|
||
|
||
3. Security Considerations
|
||
|
||
As rogue clients can discover features of a server by other means
|
||
(such as by trial and error), this feature discovery mechanism is not
|
||
believed to introduce any new security risk to LDAP.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Zeilenga Standards Track [Page 2]
|
||
|
||
RFC 3674 Feature Discovery in LDAP December 2003
|
||
|
||
|
||
4. IANA Considerations
|
||
|
||
4.1. Registration of Features as Protocol Mechanisms
|
||
|
||
Future specifications detailing LDAP features are to register each
|
||
feature as a LDAP Protocol Mechanism per guidance given in BCP 64
|
||
[RFC3383]. A usage of "Feature" in a Protocol Mechanism registration
|
||
template indicates that the value to be registered is associated with
|
||
an LDAP feature.
|
||
|
||
4.2. Registration of the supportedFeatures descriptor
|
||
|
||
The IANA has registered the LDAP 'supportedFeatures' descriptor. The
|
||
following registration template is suggested:
|
||
|
||
Subject: Request for LDAP Descriptor Registration
|
||
Descriptor (short name): supportedFeatures
|
||
Object Identifier: 1.3.6.1.4.1.4203.1.3.5
|
||
Person & email address to contact for further information:
|
||
Kurt Zeilenga <kurt@OpenLDAP.org>
|
||
Usage: Attribute Type
|
||
Specification: RFC 3674
|
||
Author/Change Controller: IESG
|
||
|
||
This OID was assigned [ASSIGN] by OpenLDAP Foundation under its IANA
|
||
assigned private enterprise allocation [PRIVATE] for use in this
|
||
specification.
|
||
|
||
5. Acknowledgment
|
||
|
||
This document is based upon input from the IETF LDAPEXT working
|
||
group.
|
||
|
||
6. Intellectual Property Statement
|
||
|
||
The IETF takes no position regarding the validity or scope of any
|
||
intellectual property or other rights that might be claimed to
|
||
pertain to the implementation or use of the technology described in
|
||
this document or the extent to which any license under such rights
|
||
might or might not be available; neither does it represent that it
|
||
has made any effort to identify any such rights. Information on the
|
||
IETF's procedures with respect to rights in standards-track and
|
||
standards-related documentation can be found in BCP-11. Copies of
|
||
claims of rights made available for publication and any assurances of
|
||
licenses to be made available, or the result of an attempt made to
|
||
obtain a general license or permission for the use of such
|
||
proprietary rights by implementors or users of this specification can
|
||
be obtained from the IETF Secretariat.
|
||
|
||
|
||
|
||
Zeilenga Standards Track [Page 3]
|
||
|
||
RFC 3674 Feature Discovery in LDAP December 2003
|
||
|
||
|
||
The IETF invites any interested party to bring to its attention any
|
||
copyrights, patents or patent applications, or other proprietary
|
||
rights which may cover technology that may be required to practice
|
||
this standard. Please address the information to the IETF Executive
|
||
Director.
|
||
|
||
7. References
|
||
|
||
7.1. Normative References
|
||
|
||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
|
||
Requirement Levels", BCP 14, RFC 2119, March 1997.
|
||
|
||
[RFC2252] Wahl, M., Coulbeck, A., Howes, T. and S. Kille,
|
||
"Lightweight Directory Access Protocol (v3): Attribute
|
||
Syntax Definitions", RFC 2252, December 1997.
|
||
|
||
[RFC3377] Hodges, J. and R. Morgan, "Lightweight Directory Access
|
||
Protocol (v3): Technical Specification", RFC 3377,
|
||
September 2002.
|
||
|
||
[RFC3383] Zeilenga, K., "Internet Assigned Numbers Authority
|
||
(IANA) Considerations for Lightweight Directory Access
|
||
Protocol (LDAP)", BCP 64, RFC 3383, September 2002.
|
||
|
||
7.2. Informative References
|
||
|
||
[RFC3673] Zeilenga, K., "Lightweight Directory Access Protocol
|
||
version 3 (LDAPv3): All Operational Attributes", RFC
|
||
3673, December 2003.
|
||
|
||
[T-F] Zeilenga, K., "LDAP True/False Filters", Work in
|
||
Progress.
|
||
|
||
[ASSIGN] OpenLDAP Foundation, "OpenLDAP OID Delegations",
|
||
http://www.openldap.org/foundation/oid-delegate.txt.
|
||
|
||
[PRIVATE] IANA, "Private Enterprise Numbers",
|
||
http://www.iana.org/assignments/enterprise-numbers.
|
||
|
||
8. Author's Address
|
||
|
||
Kurt D. Zeilenga
|
||
OpenLDAP Foundation
|
||
|
||
EMail: Kurt@OpenLDAP.org
|
||
|
||
|
||
|
||
|
||
|
||
Zeilenga Standards Track [Page 4]
|
||
|
||
RFC 3674 Feature Discovery in LDAP December 2003
|
||
|
||
|
||
9. Full Copyright Statement
|
||
|
||
Copyright (C) The Internet Society (2003). All Rights Reserved.
|
||
|
||
This document and translations of it may be copied and furnished to
|
||
others, and derivative works that comment on or otherwise explain it
|
||
or assist in its implementation may be prepared, copied, published
|
||
and distributed, in whole or in part, without restriction of any
|
||
kind, provided that the above copyright notice and this paragraph are
|
||
included on all such copies and derivative works. However, this
|
||
document itself may not be modified in any way, such as by removing
|
||
the copyright notice or references to the Internet Society or other
|
||
Internet organizations, except as needed for the purpose of
|
||
developing Internet standards in which case the procedures for
|
||
copyrights defined in the Internet Standards process must be
|
||
followed, or as required to translate it into languages other than
|
||
English.
|
||
|
||
The limited permissions granted above are perpetual and will not be
|
||
revoked by the Internet Society or its successors or assignees.
|
||
|
||
This document and the information contained herein is provided on an
|
||
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
|
||
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
|
||
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
|
||
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
|
||
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
|
||
|
||
Acknowledgement
|
||
|
||
Funding for the RFC Editor function is currently provided by the
|
||
Internet Society.
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Zeilenga Standards Track [Page 5]
|
||
|