LDAP URL Format

Hi there.  The ASID working group has produced the attached draft, which
defines an LDAP URL format.  LDAP is the lightweight directory access
protocol, used as a front-end for accessing the X.500 directory, and
soon for holding directory data of its own (i.e., not necessarily in
X.500).  The format is general enough to handle both cases, and allows
pretty general access to the LDAP search capability.

The ASID group and the authors of this document would appreciate any
comments you guys have on the draft, the format itself, or the prototype
implementation mentioned in the draft.           Thanks!    -- Tim
Network Working Group                                        Tim Howes
INTERNET DRAFT                                              Mark Smith
                                                University of Michigan
                                                        14 March, 1995


                           An LDAP URL Format
                   <draft-ietf-asid-ldap-format-00.txt>


1.  Status of this Memo

This document is an Internet-Draft.  Internet-Drafts are  working  docu-
ments  of the Internet Engineering Task Force (IETF), its areas, and its
working groups.  Note that other  groups  may  also  distribute  working
documents as Internet-Drafts.

Internet-Drafts are draft documents valid for a maximum  of  six  months
and  may  be  updated,  replaced, or obsoleted by other documents at any
time.  It is inappropriate to use Internet- Drafts as reference material
or to cite them other than as ``work in progress.''

To learn the current status of  any  Internet-Draft,  please  check  the
``1id-abstracts.txt''  listing  contained in the Internet- Drafts Shadow
Directories on ds.internic.net (US East Coast), nic.nordu.net  (Europe),
ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim).

2.  Abstract

LDAP is the Lightweight Directory Access Protocol, defined  in  [1]  and
[2].   This  document  describes  a  format for an LDAP Uniform Resource
Locator which will allow World Wide Web clients to have direct access to
the  LDAP protocol.  While LDAP currently is used only as a front end to
the X.500 directory, the URL format described here is general enough  to
handle  the  case  of  stand-alone  LDAP servers (i.e., LDAP servers not
back-ended by X.500).

This document is meant to provide information to the Internet community.
The format it describes is at the experimental stage.  It is anticipated
that once more experience with the format is gained, a  standards  track
version  of  this document will be pursued.  Please send comments to the
authors.









Howes & Smith                                                   [Page 1]





RFC DRAFT                                                     March 1995


3.  URL Definition

An LDAP URL begins with the protocol prefix "ldap" and is defined by the
following grammar.

    <ldapurl> ::= "ldap://" [ <hostport> ] "/" <dn> [ "?" <attributes>
                        [ "?" <scope> "?" <filter> ] ]

    <hostport> ::= <hostname> [ ":" <portnumber> ]

    <dn> ::= a string as defined in RFC 1485

    <attributes> ::= NULL | <attributelist>

    <attributelist> ::= <attribute> | <attribute> [ "," <attributelist> ]

    <attribute> ::= a string as defined in RFC 1487

    <scope> ::= "base" | "one" | "sub"

    <filter> ::= a string as defined in RFC 1558

The ldap prefix indicates an entry  or  entries  residing  in  the  LDAP
server  running  on the given <hostname> at the given <portnumber>.  The
default port is TCP port 389.  The <dn> is an  LDAP  Distinguished  Name
using  the  string format described in [1], with any URL-illegal charac-
ters (e.g., spaces) escaped using the % method.

The <attributes> construct is used to indicate which  attributes  should
be  returned  from the entry or entries.  Individual attribute names are
as defined in [3].  If the <attributes> part is omitted, all  attributes
of the entry or entries should be returned.

The <scope> construct is used to specify the scope of the search to per-
form  in  the  given LDAP server.  The allowable scopes are "base" for a
base object search, "one" for a one-level search, or "sub" for a subtree
search.  The default is "base".

The <filter> is used to specify the search filter to  apply  to  entries
within  the specified scope during the search.  It has the format speci-
fied in [4].  The default is "(objectClass=*)".

Note that if the entry resides in the  X.500  namespace,  it  should  be
reachable from any LDAP server that is providing front-end access to the
X.500 directory.  If the <hostport> part of the URL is missing, the  URL
can be resolved by contacting any X.500-back-ended LDAP server.





Howes & Smith                                                   [Page 2]





RFC DRAFT                                                     March 1995


4.  Examples

The following are some example LDAP URLs using the format defined above.

An LDAP URL referring to the University of Michigan entry:

  ldap://ldap.itd.umich.edu/o=University%20of%20Michigan,c=US

This URL corresponds to a base object search  of  the  "o=University  of
Michigan,  c=US" entry using a filter of (objectclass=*), requesting all
attributes.

An LDAP URL referring to only the postalAddress attribute of the Univer-
sity of Michigan entry:

  ldap://ldap.itd.umich.edu/o=University%20of%20Michigan,c=US?postalAddress

The corresponding LDAP search operation is the same as in  the  previous
example, except that only the postalAddress attribute is requested.

An LDAP URL referring to the  set  of  entries  found  by  qyerying  any
X.500-capable  LDAP  server and doing a subtree search of the University
of Michigan for any entry with a common name of "Babs Jensen",  retriev-
ing all attributes:

  ldap:///o=University%20of%20Michigan,c=US??sub?(cn=Babs%20Jensen)

An LDAP URL referring to all children of the c=GB entry:

  ldap://ldap.itd.umich.edu/c=GB?objectClass?one

The objectClass attribute is requested to be  returned  along  with  the
entries.

5.  Security Considerations

Security considerations are not discussed in this document.

6.  Prototype Implementation Availability

There is a prototype implementation of the specification defined in this
document  available.   It  is an extension to the libwww client library,
provided in both source and binary forms.  Also included are binary ver-
sions of the Mosaic WWW client for various platforms.  See the following
URL for more details:

        ftp://terminator.rs.itd.umich.edu/ldap/url/




Howes & Smith                                                   [Page 3]





RFC DRAFT                                                     March 1995


7.  Bibliography

[1]  A String Representation of Distinguished Names.  S. Kille,  Request
     for Comment (RFC) 1485, July 1993

[2]  Lightweight Directory Access Protocol.  Wengyik Yeong,  Tim  Howes,
     Steve Kille, Request for Comment (RFC) 1487, July 1993

[3]  The String  Representation  of  Standard  Attribute  Syntaxes.   T.
     Howes, S.  Kille, W. Yeong, C.J. Robbins; Request for Comment (RFC)
     1488, July 1993

[4]  A String Representation of LDAP Search Filters.  T. Howes;  Request
     for Comment (RFC) 1558, December 1993

8.  Acknowledgements

This material is based upon work supported by the National Science Foun-
dation under Grant No. NCR-9416667.

9.  Author's Address

   Tim Howes
   University of Michigan
   ITD Research Systems
   535 W William St.
   Ann Arbor, MI 48103-4943
   USA
   +1 313 747-4454
   tim@umich.edu

   Mark Smith
   University of Michigan
   ITD Research Systems
   535 W William St.
   Ann Arbor, MI 48103-4943
   USA
   +1 313 764-2277
   mcs@umich.edu

             This Internet Draft expires September 14, 1995.










Howes & Smith                                                   [Page 4]




 

Received on Friday, 21 April 1995 09:52:24 UTC