RFC 4526
Lightweight Directory Access Protocol (LDAP) Absolute True and False Filters
Lightweight Directory Access Protocol (LDAP) Absolute True and False Filters π
Okay bestie, this is RFC 4526 from the Network Working Group πΈ It's a Standards Track document, which means it's an actual Internet standard, not just a vibe. Kurt D. Zeilenga wrote it for the OpenLDAP Foundation, and it's dated June 2006. The header doesn't list anything it obsoletes or updates, so it's not replacing or patching any other RFC. It's a fresh add-on. β¨
Status of This Memo π
This document specifies an Internet standards track protocol for the Internet community, and it's asking everyone to talk about it and suggest improvements π¬ For the standardization state and status of this protocol, check the current edition of the "Internet Official Protocol Standards" (STD 1). Distribution of this memo is unlimited, so share it with everyone π¦
Copyright Notice Β©οΈ
Copyright (C) The Internet Society (2006).
Abstract π
This document extends the Lightweight Directory Access Protocol (LDAP) so it can do absolute True and False filters π₯ These are based on similar capabilities that already exist in X.500 directory systems. It also extends the String Representation of LDAP Search Filters so those filters can be written as strings too π
Table of Contents ποΈ
1. Background ......................................................1
2. Absolute True and False Filters .................................2
3. Security Considerations .........................................2
4. IANA Considerations .............................................3
5. References ......................................................3
5.1. Normative References .......................................3
5.2. Informative References .....................................3
1. Background π§
Okay so the X.500 Directory Access Protocol (DAP) [X.511] already supports absolute True and False assertions π An 'and' filter with zero elements always evaluates to True. An 'or' filter with zero elements always evaluates to False. These come up a lot when you're asking for DSA-specific Entries (DSEs), which don't necessarily have 'objectClass' attributes. That's why "(objectClass=*)" might evaluate to False in those cases π
LDAPv2 [RFC1777][RFC3494] put no limit on how many elements 'and' and 'or' filter sets could have, but the LDAPv2 string representation [RFC1960][RFC3494] couldn't represent empty 'and' and 'or' filter sets at all. Because of that, absolute True or False filters were (unfortunately) dropped from LDAPv3 [RFC4510] π
This document fixes that by extending LDAPv3 to support absolute True and False assertions. It lets empty 'and' and 'or' show up in Search filters [RFC4511], and it extends the filter string representation [RFC4515] so empty filter lists are allowed π
Heads up: certain search operations, like the ones used to retrieve subschema information [RFC4512], need particular filters. This document doesn't change those requirements π
This feature is meant to give a more direct mapping between DAP and LDAP, which is what you'd need if you're building DAP-to-LDAP gateways π
In this document, the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" are to be interpreted as described in BCP 14 [RFC2119]. β
2. Absolute True and False Filters π
Implementations of this extension SHALL allow 'and' and 'or' choices with zero filter elements. β¨
An 'and' filter consisting of an empty set of filters SHALL evaluate to True. This filter is represented by the string "(&)". π₯
An 'or' filter consisting of an empty set of filters SHALL evaluate to False. This filter is represented by the string "(|)". π
Servers supporting this feature SHOULD publish the Object Identifier 1.3.6.1.4.1.4203.1.5.3 as a value of the 'supportedFeatures' [RFC4512] attribute in the root DSE π§
Clients supporting this feature SHOULD NOT use the feature unless they know that the server supports it. Don't be that friend who assumes things π ββοΈ
3. Security Considerations π
The (re)introduction of absolute True and False filters is not believed to raise any new security considerations. Phew π
Implementors of this (or any) LDAPv3 extension should be familiar with general LDAPv3 security considerations [RFC4510]. Read those before you ship anything π
4. IANA Considerations π
Registration of this feature has been completed by the IANA [RFC4520]. It's official, bestie π
The registration template looks like this:
Subject: Request for LDAP Protocol Mechanism Registration Object
Identifier: 1.3.6.1.4.1.4203.1.5.3 Description: True/False filters
Person & email address to contact for further information:
Kurt Zeilenga <kurt@openldap.org> Usage: Feature Specification:
RFC 4526 Author/Change Controller: IESG Comments: none
This OID was assigned [ASSIGN] by OpenLDAP Foundation, under its IANA-assigned private enterprise allocation [PRIVATE], for use in this specification π¦
5. References π
5.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC4510] Zeilenga, K., Ed, "Lightweight Directory Access
Protocol (LDAP): Technical Specification Road Map", RFC
4510, June 2006.
[RFC4511] Sermersheim, J., Ed., "Lightweight Directory Access
Protocol (LDAP): The Protocol", RFC 4511, June 2006.
[RFC4512] Zeilenga, K., "Lightweight Directory Access Protocol
(LDAP): Directory Information Models", RFC 4512, June
2006.
[RFC4515] Smith, M., Ed. and T. Howes, "Lightweight Directory
Access Protocol (LDAP): String Representation of Search
Filters", RFC 4515, June 2006.
5.2. Informative References
[RFC1777] Yeong, W., Howes, T., and S. Kille, "Lightweight
Directory Access Protocol", RFC 1777, March 1995.
[RFC1960] Howes, T., "A String Representation of LDAP Search
Filters", RFC 1960, June 1996.
[RFC3494] Zeilenga, K., "Lightweight Directory Access Protocol
version 2 (LDAPv2) to Historic Status", RFC 3494, March
2003.
[RFC4520] Zeilenga, K., "Internet Assigned Numbers Authority
(IANA) Considerations for the Lightweight Directory
Access Protocol (LDAP)", BCP 64, RFC 4520, June 2006.
[X.500] International Telecommunication Union -
Telecommunication Standardization Sector, "The
Directory -- Overview of concepts, models and
services," X.500(1993) (also ISO/IEC 9594-1:1994).
[X.501] International Telecommunication Union -
Telecommunication Standardization Sector, "The
Directory -- Models," X.501(1993) (also ISO/IEC 9594-
2:1994).
[X.511] International Telecommunication Union -
Telecommunication Standardization Sector, "The
Directory: Abstract Service Definition", X.511(1993)
(also ISO/IEC 9594-3:1993).
[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.
Author's Address ποΈ
Kurt D. Zeilenga
OpenLDAP Foundation
EMail: Kurt@OpenLDAP.org
Full Copyright Statement Β©οΈ
Copyright (C) The Internet Society (2006).
This document is subject to the rights, licenses and restrictions contained in BCP 78. Except as BCP 78 says otherwise, the authors keep all their rights π«Ά
This document and the information in it are provided on an "AS IS" basis. THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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.
Intellectual Property π§Ύ
The IETF takes no position on the validity or scope of any Intellectual Property Rights or other rights that someone might claim cover the implementation or use of the technology described here. It also doesn't say whether any license under those rights is or isn't available, and it hasn't independently tried to find any such rights. You can find information about how rights work for RFC documents in BCP 78 and BCP 79 βοΈ
Copies of IPR disclosures made to the IETF Secretariat, any assurances of licenses to be made available, or the results of attempts to get a general license or permission to use proprietary rights for implementers or users of this specification can be found in the IETF's online IPR repository at http://www.ietf.org/ipr π
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology needed to implement this standard. Send that information to the IETF at ietf-ipr@ietf.org π¬
Acknowledgement π·
Funding for the RFC Editor function is provided by the IETF Administrative Support Activity (IASA). Thank you, IASA π«Ά
π¦ where this page comes from
- ietf: rfc4526 2006-06
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms