summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc1558.txt
diff options
context:
space:
mode:
authorThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
committerThomas Voss <mail@thomasvoss.com> 2024-11-27 20:54:24 +0100
commit4bfd864f10b68b71482b35c818559068ef8d5797 (patch)
treee3989f47a7994642eb325063d46e8f08ffa681dc /doc/rfc/rfc1558.txt
parentea76e11061bda059ae9f9ad130a9895cc85607db (diff)
doc: Add RFC documents
Diffstat (limited to 'doc/rfc/rfc1558.txt')
-rw-r--r--doc/rfc/rfc1558.txt171
1 files changed, 171 insertions, 0 deletions
diff --git a/doc/rfc/rfc1558.txt b/doc/rfc/rfc1558.txt
new file mode 100644
index 0000000..1bb5bd9
--- /dev/null
+++ b/doc/rfc/rfc1558.txt
@@ -0,0 +1,171 @@
+
+
+
+
+
+
+Network Working Group T. Howes
+Request for Comments: 1558 University of Michigan
+Category: Informational December 1993
+
+
+ A String Representation of LDAP Search Filters
+
+Status of this Memo
+
+ This memo provides information for the Internet community. This memo
+ does not specify an Internet standard of any kind. Distribution of
+ this memo is unlimited.
+
+Abstract
+
+ The Lightweight Directory Access Protocol (LDAP) [1] defines a
+ network representation of a search filter transmitted to an LDAP
+ server. Some applications may find it useful to have a common way of
+ representing these search filters in a human-readable form. This
+ document defines a human-readable string format for representing LDAP
+ search filters.
+
+1. LDAP Search Filter Definition
+
+ An LDAP search filter is defined in [1] as follows:
+
+ Filter ::= CHOICE {
+ and [0] SET OF Filter,
+ or [1] SET OF Filter,
+ not [2] Filter,
+ equalityMatch [3] AttributeValueAssertion,
+ substrings [4] SubstringFilter,
+ greaterOrEqual [5] AttributeValueAssertion,
+ lessOrEqual [6] AttributeValueAssertion,
+ present [7] AttributeType,
+ approxMatch [8] AttributeValueAssertion
+ }
+
+ SubstringFilter ::= SEQUENCE {
+ type AttributeType,
+ SEQUENCE OF CHOICE {
+ initial [0] LDAPString,
+ any [1] LDAPString,
+ final [2] LDAPString
+ }
+ }
+
+
+
+
+
+Howes [Page 1]
+
+RFC 1558 Representation of LDAP Filters December 1993
+
+
+ AttributeValueAssertion ::= SEQUENCE
+ attributeType AttributeType,
+ attributeValue AttributeValue
+ }
+
+ AttributeType ::= LDAPString
+
+ AttributeValue ::= OCTET STRING
+
+ LDAPString ::= OCTET STRING
+
+ where the LDAPString above is limited to the IA5 character set. The
+ AttributeType is a string representation of the attribute object
+ identifier in dotted OID format (e.g., "2.5.4.10"), or the shorter
+ string name of the attribute (e.g., "organizationName", or "o"). The
+ AttributeValue OCTET STRING has the form defined in [2]. The Filter
+ is encoded for transmission over a network using the Basic Encoding
+ Rules defined in [3], with simplifications described in [1].
+
+2. String Search Filter Definition
+
+ The string representation of an LDAP search filter is defined by the
+ following BNF. It uses a prefix format.
+
+ <filter> ::= '(' <filtercomp> ')'
+ <filtercomp> ::= <and> | <or> | <not> | <item>
+ <and> ::= '&' <filterlist>
+ <or> ::= '|' <filterlist>
+ <not> ::= '!' <filter>
+ <filterlist> ::= <filter> | <filter> <filterlist>
+ <item> ::= <simple> | <present> | <substring>
+ <simple> ::= <attr> <filtertype> <value>
+ <filtertype> ::= <equal> | <approx> | <greater> | <less>
+ <equal> ::= '='
+ <approx> ::= '~='
+ <greater> ::= '>='
+ <less> ::= '<='
+ <present> ::= <attr> '=*'
+ <substring> ::= <attr> '=' <initial> <any> <final>
+ <initial> ::= NULL | <value>
+ <any> ::= '*' <starval>
+ <starval> ::= NULL | <value> '*' <starval>
+ <final> ::= NULL | <value>
+
+ <attr> is a string representing an AttributeType, and has the format
+ defined in [1]. <value> is a string representing an AttributeValue,
+ or part of one, and has the form defined in [2]. If a <value> must
+ contain one of the characters '*' or '(' or ')', these characters
+
+
+
+Howes [Page 2]
+
+RFC 1558 Representation of LDAP Filters December 1993
+
+
+ should be escaped by preceding them with the backslash '\' character.
+
+3. Examples
+
+ This section gives a few examples of search filters written using
+ this notation.
+
+ (cn=Babs Jensen)
+ (!(cn=Tim Howes))
+ (&(objectClass=Person)(|(sn=Jensen)(cn=Babs J*)))
+ (o=univ*of*mich*)
+
+4. Security Considerations
+
+ Security issues are not discussed in this memo.
+
+5. References
+
+ [1] Yeong, W., Howes, T., and S. Kille, "Lightweight Directory Access
+ Protocol", RFC 1487, Performance Systems International,
+ University of Michigan, ISODE Consortium, July 1993.
+
+ [2] Howes, T., Kille, S., Yeong, W., and C. Robbins, "The String
+ Representation of Standard Attribute Syntaxes", RFC 1488,
+ University of Michigan, ISODE Consortium, Performance Systems
+ International, NeXor Ltd., July 1993.
+
+ [3] "Specification of Basic Encoding Rules for Abstract Syntax
+ Notation One (ASN.1)", CCITT Recommendation X.209, 1988.
+
+6. Author's Address
+
+ Tim Howes
+ University of Michigan
+ ITD Research Systems
+ 535 W William St.
+ Ann Arbor, MI 48103-4943
+ USA
+
+ Phone: +1 313 747-4454
+ EMail: tim@umich.edu
+
+
+
+
+
+
+
+
+
+
+Howes [Page 3]
+ \ No newline at end of file