home *** CD-ROM | disk | FTP | other *** search
/ Handbook of Infosec Terms 2.0 / Handbook_of_Infosec_Terms_Version_2.0_ISSO.iso / text / rfcs / rfc1558.txt < prev    next >
Text File  |  1996-05-07  |  5KB  |  93 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                           T. Howes Request for Comments: 1558                        University of Michigan Category: Informational                                    December 1993 
  8.  
  9.               A String Representation of LDAP Search Filters 
  10.  
  11. Status of this Memo 
  12.  
  13.    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. 
  14.  
  15. Abstract 
  16.  
  17.    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. 
  18.  
  19. 1.  LDAP Search Filter Definition 
  20.  
  21.    An LDAP search filter is defined in [1] as follows: 
  22.  
  23.      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      } 
  24.  
  25.      SubstringFilter ::= SEQUENCE {              type    AttributeType,              SEQUENCE OF CHOICE {                      initial        [0] LDAPString,                      any            [1] LDAPString,                      final          [2] LDAPString              }      } 
  26.  
  27.  
  28.  
  29.  
  30.  
  31. Howes                                                           [Page 1] 
  32.  RFC 1558             Representation of LDAP Filters        December 1993 
  33.  
  34.       AttributeValueAssertion ::= SEQUENCE              attributeType   AttributeType,              attributeValue  AttributeValue      } 
  35.  
  36.      AttributeType ::= LDAPString 
  37.  
  38.      AttributeValue ::= OCTET STRING 
  39.  
  40.      LDAPString ::= OCTET STRING 
  41.  
  42.    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]. 
  43.  
  44. 2.  String Search Filter Definition 
  45.  
  46.    The string representation of an LDAP search filter is defined by the    following BNF.  It uses a prefix format. 
  47.  
  48.      <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> 
  49.  
  50.    <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 
  51.  
  52.  
  53.  
  54. Howes                                                           [Page 2] 
  55.  RFC 1558             Representation of LDAP Filters        December 1993 
  56.  
  57.     should be escaped by preceding them with the backslash '\' character. 
  58.  
  59. 3.  Examples 
  60.  
  61.    This section gives a few examples of search filters written using    this notation. 
  62.  
  63.      (cn=Babs Jensen)      (!(cn=Tim Howes))      (&(objectClass=Person)(|(sn=Jensen)(cn=Babs J*)))      (o=univ*of*mich*) 
  64.  
  65. 4.  Security Considerations 
  66.  
  67.    Security issues are not discussed in this memo. 
  68.  
  69. 5.  References 
  70.  
  71.    [1] Yeong, W., Howes, T., and S. Kille, "Lightweight Directory Access        Protocol", RFC 1487, Performance Systems International,        University of Michigan, ISODE Consortium, July 1993. 
  72.  
  73.    [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. 
  74.  
  75.    [3] "Specification of Basic Encoding Rules for Abstract Syntax        Notation One (ASN.1)", CCITT Recommendation X.209, 1988. 
  76.  
  77. 6.  Author's Address 
  78.  
  79.        Tim Howes        University of Michigan        ITD Research Systems        535 W William St.        Ann Arbor, MI 48103-4943        USA 
  80.  
  81.        Phone: +1 313 747-4454        EMail: tim@umich.edu 
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  Howes                                                           [Page 3] 
  92.  
  93.