openldap/doc/drafts/draft-ietf-ldapbis-url-xx.txt

842 lines
33 KiB
Plaintext
Raw Normal View History

2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
2003-06-01 06:47:07 +08:00
Network Working Group Mark Smith, Editor
2004-03-19 10:16:37 +08:00
Request for Comments: DRAFT Pearl Crescent, LLC
2003-06-01 06:47:07 +08:00
Obsoletes: RFC 2255 Tim Howes
2005-06-26 07:06:51 +08:00
Expires: 4 July 2005 Opsware, Inc.
2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
4 January 2005
2003-06-01 06:47:07 +08:00
LDAP: Uniform Resource Locator
2005-06-26 07:06:51 +08:00
<draft-ietf-ldapbis-url-09.txt>
2004-10-27 12:52:02 +08:00
2003-06-01 06:47:07 +08:00
2004-10-27 12:52:02 +08:00
Status of this Memo
2003-06-01 06:47:07 +08:00
2004-10-27 12:52:02 +08:00
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware
have been or will be disclosed, and any of which he or she become
aware will be disclosed, in accordance with RFC 3668.
2003-06-01 06:47:07 +08:00
2004-10-27 12:52:02 +08:00
This document is intended to be published as a Standards Track RFC,
replacing RFC 2255. Distribution of this memo is unlimited.
Technical discussion of this document will take place on the IETF
LDAP (v3) Revision (ldapbis) Working Group mailing list
<ietf-ldapbis@openldap.org>. Please send editorial comments directly
to the editor <mcs@pearlcrescent.com>.
2003-06-01 06:47:07 +08:00
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
2004-10-27 12:52:02 +08:00
other groups may also distribute working documents as
Internet-Drafts.
2003-06-01 06:47:07 +08:00
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
2004-10-27 12:52:02 +08:00
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than a "work in progress."
2003-06-01 06:47:07 +08:00
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html
2004-10-27 12:52:02 +08:00
Copyright (C) The Internet Society (2004). All Rights Reserved.
Please see the Full Copyright section near the end of this document
for more information.
2003-06-01 06:47:07 +08:00
2004-10-27 12:52:02 +08:00
Smith & Howes Intended Category: Standards Track [Page 1]
2005-06-26 07:06:51 +08:00
INTERNET-DRAFT LDAP: Uniform Resource Locator 4 January 2005
2003-06-01 06:47:07 +08:00
2004-10-27 12:52:02 +08:00
Abstract
2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
This document describes a format for a Lightweight Directory Access
Protocol (LDAP) Uniform Resource Locator (URL). An LDAP URL
describes an LDAP search operation that is used to retrieve
information from an LDAP directory, or, in the context of an LDAP
referral or reference, an LDAP URL describes a service where an LDAP
operation may be progressed.
2003-06-01 06:47:07 +08:00
2004-10-27 12:52:02 +08:00
Table of Contents
Status of this Memo............................................1
Abstract.......................................................2
Table of Contents..............................................2
1. Introduction...................................................2
2. URL Definition.................................................3
2005-06-26 07:06:51 +08:00
2.1. Percent-Encoding............................................5
2004-10-27 12:52:02 +08:00
3. Defaults for Fields of the LDAP URL............................5
4. Examples.......................................................6
5. Security Considerations........................................8
6. IANA Considerations............................................9
7. Normative References...........................................9
8. Informative References.........................................10
2005-06-26 07:06:51 +08:00
9. Acknowledgements...............................................10
10. Authors' Addresses.............................................11
11. Appendix A: Changes Since RFC 2255.............................11
11.1. Technical Changes...........................................11
11.2. Editorial Changes...........................................12
12. Appendix B: Changes Since Previous Document Revision...........14
12.1. Technical Changes...........................................14
12.2. Editorial Changes...........................................14
Intellectual Property Rights...................................14
Full Copyright.................................................15
2004-10-27 12:52:02 +08:00
1. Introduction
2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
LDAP is the Lightweight Directory Access Protocol [Roadmap]. This
document specifies the LDAP URL format for version 3 of LDAP and
clarifies how LDAP URLs are resolved. This document also defines an
extension mechanism for LDAP URLs. This mechanism may be used to
provide access to new LDAP extensions.
Note that not all of the parameters of the LDAP search operation
described in [Protocol] can be expressed using the format defined in
this document. Note also that URLs may be used to represent reference
knowledge, including for non-search operations.
2003-06-01 06:47:07 +08:00
Smith & Howes Intended Category: Standards Track [Page 2]
2005-06-26 07:06:51 +08:00
INTERNET-DRAFT LDAP: Uniform Resource Locator 4 January 2005
2004-10-27 12:52:02 +08:00
2005-06-26 07:06:51 +08:00
This document is a integral part of the LDAP technical specification
[Roadmap] which obsoletes the previously defined LDAP technical
specification, RFC 3377, in its entirety.
2004-10-27 12:52:02 +08:00
This document replaces RFC 2255. See Appendix A for a list of changes
relative to RFC 2255.
2004-03-19 10:16:37 +08:00
2004-10-27 12:52:02 +08:00
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].
2003-06-01 06:47:07 +08:00
2004-10-27 12:52:02 +08:00
2. URL Definition
2003-06-01 06:47:07 +08:00
2004-03-19 10:16:37 +08:00
An LDAP URL begins with the protocol prefix "ldap" and is defined by
2003-12-07 15:50:23 +08:00
the following grammar, following the ABNF notation defined in
[RFC2234].
2005-06-26 07:06:51 +08:00
ldapurl = scheme COLON SLASH SLASH [host [COLON port]]
[SLASH dn [QUESTION [attributes]
[QUESTION [scope] [QUESTION [filter]
[QUESTION extensions]]]]]
; <host> and <port> are defined
; in Sections 3.2.2 and 3.2.3
; of [RFC2396bis].
; <filter> is from Section 3 of
; [Filters], subject to the
; provisions of the
; "Percent-Encoding" section
; below.
2003-06-01 06:47:07 +08:00
scheme = "ldap"
2005-06-26 07:06:51 +08:00
dn = distinguishedName ; From Section 3 of [LDAPDN],
; subject to the provisions of
; the "Percent-Encoding"
; section below.
2003-06-01 06:47:07 +08:00
attributes = attrdesc *(COMMA attrdesc)
2005-06-26 07:06:51 +08:00
attrdesc = selector *(COMMA selector)
selector = attributeSelector ; From Section 4.5.1 of
; [Protocol], subject to the
; provisions of the
; "Percent-Encoding" section
; below.
2003-06-01 06:47:07 +08:00
scope = "base" / "one" / "sub"
extensions = extension *(COMMA extension)
extension = [EXCLAMATION] extype [EQUALS exvalue]
2004-10-27 12:52:02 +08:00
Smith & Howes Intended Category: Standards Track [Page 3]
2005-06-26 07:06:51 +08:00
INTERNET-DRAFT LDAP: Uniform Resource Locator 4 January 2005
extype = oid ; From section 1.4 of [Models].
exvalue = LDAPString ; From section 4.1.2 of
; [Protocol], subject to the
; provisions of the
; "Percent-Encoding" section
; below.
EXCLAMATION = %x21 ; exclamation mark ("!")
SLASH = %x2F ; forward slash ("/")
COLON = %x3A ; colon (":")
QUESTION = %x3F ; question mark ("?")
2004-10-27 12:52:02 +08:00
The "ldap" prefix indicates an entry or entries accessible from the
LDAP server running on the given hostname at the given portnumber.
2005-06-26 07:06:51 +08:00
Note that the <host> may contain literal IPv6 addresses as specified
in Section 3.2.2 of [RFC2396bis].
2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
The <dn> is an LDAP Distinguished Name using the string format
2003-06-01 06:47:07 +08:00
described in [LDAPDN]. It identifies the base object of the LDAP
search or the target of a non-search operation.
2005-06-26 07:06:51 +08:00
The <attributes> construct is used to indicate which attributes
should be returned from the entry or entries.
2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
The <scope> construct is used to specify the scope of the search to
2004-03-19 10:16:37 +08:00
perform in the given LDAP server. The allowable scopes are "base"
2003-12-07 15:50:23 +08:00
for a base object search, "one" for a one-level search, or "sub" for
a subtree search.
2005-06-26 07:06:51 +08:00
The <filter> is used to specify the search filter to apply to entries
2003-12-07 15:50:23 +08:00
within the specified scope during the search. It has the format
specified in [Filters].
2005-06-26 07:06:51 +08:00
The <extensions> construct provides the LDAP URL with an
extensibility mechanism, allowing the capabilities of the URL to be
extended in the future. Extensions are a simple comma-separated list
of type=value pairs, where the =value portion MAY be omitted for
options not requiring it. Each type=value pair is a separate
extension. These LDAP URL extensions are not necessarily related to
any of the LDAP extension mechanisms. Extensions may be supported or
unsupported by the client resolving the URL. An extension prefixed
with a '!' character (ASCII 0x21) is critical. An extension not
prefixed with a '!' character is non-critical.
2003-06-01 06:47:07 +08:00
2004-10-27 12:52:02 +08:00
If an LDAP URL extension is implemented (that is, if the
implementation understands it and is able to use it), the
2005-06-26 07:06:51 +08:00
Smith & Howes Intended Category: Standards Track [Page 4]
INTERNET-DRAFT LDAP: Uniform Resource Locator 4 January 2005
2004-03-19 10:16:37 +08:00
implementation MUST make use of it. If an extension is not
2004-10-27 12:52:02 +08:00
implemented and is marked critical, the implementation MUST NOT
process the URL. If an extension is not implemented and it not
marked critical, the implementation MUST ignore the extension.
2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
The extension type (<extype>) MAY be specified using the numeric OID
<numericoid> form (e.g., 1.2.3.4) or the descriptor <descr> form
(e.g., myLDAPURLExtension). Use of the <descr> form SHOULD be
restricted to registered object identifier descriptive names. See
[LDAPIANA] for registration details and usage guidelines for
descriptive names.
2003-06-01 06:47:07 +08:00
No LDAP URL extensions are defined in this document. Other documents
or a future version of this document MAY define one or more
extensions.
2005-06-26 07:06:51 +08:00
2.1. Percent-Encoding
2003-12-07 15:50:23 +08:00
2003-06-01 06:47:07 +08:00
A generated LDAP URL MUST consist only of the restricted set of
2005-06-26 07:06:51 +08:00
characters included in one of the following three productions defined
in [RFC2396bis]:
<reserved>
<unreserved>
<pct-encoded>
Implementations SHOULD accept other valid UTF-8 strings [RFC3629] as
input. An octet MUST be encoded using the percent-encoding mechanism
described in section 2.1 of [RFC2396bis] in any of these situations:
2004-03-19 10:16:37 +08:00
The octet is not in the reserved set defined in section 2.2 of
2005-06-26 07:06:51 +08:00
[RFC2396bis] or in the unreserved set defined in section 2.3 of
[RFC2396bis].
2003-12-07 15:50:23 +08:00
2005-06-26 07:06:51 +08:00
It is the single Reserved character '?' and occurs inside a <dn>,
<filter>, or other element of an LDAP URL.
2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
It is a comma character ',' that occurs inside an <exvalue>.
2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
Note that before the percent-encoding mechanism is applied, the
extensions component of the LDAP URL may contain one or more null
(zero) bytes. No other component may.
2004-10-27 12:52:02 +08:00
3. Defaults for Fields of the LDAP URL
2003-06-01 06:47:07 +08:00
Some fields of the LDAP URL are optional, as described above. In the
absence of any other specification, the following general defaults
2005-06-26 07:06:51 +08:00
SHOULD be used when a field is absent. Note that other documents MAY
Smith & Howes Intended Category: Standards Track [Page 5]
INTERNET-DRAFT LDAP: Uniform Resource Locator 4 January 2005
2004-03-19 10:16:37 +08:00
specify different defaulting rules; for example, section 4.1.10 of
2003-06-01 06:47:07 +08:00
[Protocol] specifies a different rule for determining the correct DN
to use when it is absent in an LDAP URL that is returned as a
referral.
2005-06-26 07:06:51 +08:00
<host>
If no <host> is given, the client must have some apriori knowledge
of an appropriate LDAP server to contact.
2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
<port>
The default LDAP port is TCP port 389.
2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
<dn>
If no <dn> is given, the default is the zero-length DN, "".
<attributes>
If the <attributes> part is omitted, all user attributes of the
2003-06-01 06:47:07 +08:00
entry or entries should be requested (e.g., by setting the
attributes field AttributeDescriptionList in the LDAP search
2005-06-26 07:06:51 +08:00
request to a NULL list, or by using the special <alluserattrs>
selector "*").
2004-10-27 12:52:02 +08:00
2005-06-26 07:06:51 +08:00
<scope>
If <scope> is omitted, a <scope> of "base" is assumed.
2004-10-27 12:52:02 +08:00
2005-06-26 07:06:51 +08:00
<filter>
If <filter> is omitted, a filter of "(objectClass=*)" is assumed.
2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
<extensions>
If <extensions> is omitted, no extensions are assumed.
2003-06-01 06:47:07 +08:00
2004-10-27 12:52:02 +08:00
4. Examples
2004-03-19 10:16:37 +08:00
The following are some example LDAP URLs using the format defined
above. The first example is an LDAP URL referring to the University
of Michigan entry, available from an LDAP server of the client's
choosing:
2003-12-07 15:50:23 +08:00
2003-06-01 06:47:07 +08:00
ldap:///o=University%20of%20Michigan,c=US
The next example is an LDAP URL referring to the University of
Michigan entry in a particular ldap server:
ldap://ldap1.example.net/o=University%20of%20Michigan,c=US
Both of these URLs correspond to a base object search of the
"o=University of Michigan,c=US" entry using a filter of
2005-06-26 07:06:51 +08:00
Smith & Howes Intended Category: Standards Track [Page 6]
INTERNET-DRAFT LDAP: Uniform Resource Locator 4 January 2005
2003-06-01 06:47:07 +08:00
"(objectclass=*)", requesting all attributes.
The next example is an LDAP URL referring to only the postalAddress
attribute of the University of Michigan entry:
ldap://ldap1.example.net/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.
The next example is an LDAP URL referring to the set of entries found
by querying the given LDAP server on port 6666 and doing a subtree
search of the University of Michigan for any entry with a common name
of "Babs Jensen", retrieving all attributes:
ldap://ldap1.example.net:6666/o=University%20of%20Michigan,
c=US??sub?(cn=Babs%20Jensen)
The next example is an LDAP URL referring to all children of the c=GB
entry:
2005-06-26 07:06:51 +08:00
LDAP://ldap1.example.com/c=GB?objectClass?ONE
2003-06-01 06:47:07 +08:00
The objectClass attribute is requested to be returned along with the
entries, and the default filter of "(objectclass=*)" is used.
The next example is an LDAP URL to retrieve the mail attribute for
the LDAP entry named "o=Question?,c=US" is given below, illustrating
2005-06-26 07:06:51 +08:00
the use of the percent-encoding mechanism on the reserved character
'?'.
2003-06-01 06:47:07 +08:00
2004-03-19 10:16:37 +08:00
ldap://ldap2.example.com/o=Question%3f,c=US?mail
The next example (which is broken into two lines for readability)
illustrates the interaction between the LDAP string representation of
filters quoting mechanism and URL quoting mechanisms.
ldap://ldap3.example.com/o=Babsco,c=US
???(four-octet=%5c00%5c00%5c00%5c04)
2003-06-01 06:47:07 +08:00
2004-03-19 10:16:37 +08:00
The filter in this example uses the LDAP escaping mechanism of \ to
encode three zero or null bytes in the value. In LDAP, the filter
2003-12-07 15:50:23 +08:00
would be written as (four-octet=\00\00\00\04). Because the \
2005-06-26 07:06:51 +08:00
character must be escaped in a URL, the \'s are percent-encoded as
%5c (or %5C) in the URL encoding.
Smith & Howes Intended Category: Standards Track [Page 7]
INTERNET-DRAFT LDAP: Uniform Resource Locator 4 January 2005
2003-06-01 06:47:07 +08:00
2003-12-07 15:50:23 +08:00
The next example illustrates the interaction between the LDAP string
2003-06-01 06:47:07 +08:00
representation of DNs quoting mechanism and URL quoting mechanisms.
2005-06-26 07:06:51 +08:00
ldap://ldap.example.com/o=An%20Example%5C2C%20Inc.,c=US
2003-06-01 06:47:07 +08:00
The DN encoded in the above URL is:
2005-06-26 07:06:51 +08:00
o=An Example\2C Inc.,c=US
2003-06-01 06:47:07 +08:00
That is, the left-most RDN value is:
An Example, Inc.
The following three URLs that are equivalent, assuming that the
defaulting rules specified in section 4 of this document are used:
ldap://ldap.example.net
ldap://ldap.example.net/
ldap://ldap.example.net/?
These three URLs all point to the root DSE on the ldap.example.net
server.
The final two examples show use of a hypothetical, experimental bind
name extension (the value associated with the extension is an LDAP DN).
ldap:///??sub??e-bindname=cn=Manager%2cdc=example%2cdc=com
ldap:///??sub??!e-bindname=cn=Manager%2cdc=example%2cdc=com
2004-10-27 12:52:02 +08:00
The two URLs are the same, except that the second one marks the
2005-06-26 07:06:51 +08:00
e-bindname extension as critical. Notice the use of the
percent-encoding mechanism to encode the commas within the
distinguished name value in the e-bindname extension.
2003-06-01 06:47:07 +08:00
2004-10-27 12:52:02 +08:00
5. Security Considerations
2004-03-19 10:16:37 +08:00
2005-06-26 07:06:51 +08:00
General URL security considerations discussed in [RFC2396bis] are
2004-03-19 10:16:37 +08:00
relevant for LDAP URLs.
2003-12-07 15:50:23 +08:00
2003-06-01 06:47:07 +08:00
The use of security mechanisms when processing LDAP URLs requires
particular care, since clients may encounter many different servers
via URLs, and since URLs are likely to be processed automatically,
without user intervention. A client SHOULD have a user-configurable
2005-06-26 07:06:51 +08:00
policy that controls which servers the client will establish LDAP
sessions with using which security mechanisms, and SHOULD NOT
establish LDAP sessions that are inconsistent with this policy. If a
client chooses to reuse an existing LDAP session when resolving one
Smith & Howes Intended Category: Standards Track [Page 8]
INTERNET-DRAFT LDAP: Uniform Resource Locator 4 January 2005
or more LDAP URLs, it MUST ensure that the session is compatible with
the URL and that no security policies are violated.
2003-06-01 06:47:07 +08:00
Sending authentication information, no matter the mechanism, may
violate a user's privacy requirements. In the absence of specific
policy permitting authentication information to be sent to a server,
2005-06-26 07:06:51 +08:00
a client should use an anonymous LDAP session. (Note that clients
conforming to previous LDAP URL specifications, where all LDAP
sessions are anonymous and unprotected, are consistent with this
2003-06-01 06:47:07 +08:00
specification; they simply have the default security policy.) Simply
2005-06-26 07:06:51 +08:00
opening a transport connection to another server may violate some
users' privacy requirements, so clients should provide the user with
a way to control URL processing.
2003-06-01 06:47:07 +08:00
Some authentication methods, in particular reusable passwords sent to
the server, may reveal easily-abused information to the remote server
or to eavesdroppers in transit, and should not be used in URL
processing unless explicitly permitted by policy. Confirmation by
the human user of the use of authentication information is
appropriate in many circumstances. Use of strong authentication
methods that do not reveal sensitive information is much preferred.
If the URL represents a referral for an update operation, strong
authentication methods SHOULD be used. Please refer to the Security
Considerations section of [AuthMeth] for more information.
The LDAP URL format allows the specification of an arbitrary LDAP
search operation to be performed when evaluating the LDAP URL.
Following an LDAP URL may cause unexpected results, for example, the
retrieval of large amounts of data, the initiation of a long-lived
search, etc. The security implications of resolving an LDAP URL are
the same as those of resolving an LDAP search query.
2004-10-27 12:52:02 +08:00
6. IANA Considerations
This document has no actions for IANA.
7. Normative References
2003-06-01 06:47:07 +08:00
2004-03-19 10:16:37 +08:00
[AuthMeth] Harrison, R. (editor), "LDAP: Authentication Methods",
draft-ietf-ldapbis-authmeth-xx.txt, a work in progress. a
work in progress.
[LDAPDN] Zeilenga, K. (editor), "LDAP: String Representation of
Distinguished Names", draft-ietf-ldapbis-dn-xx.txt, a work
in progress.
2003-12-07 15:50:23 +08:00
2004-03-19 10:16:37 +08:00
[Filters] Smith, M. and Howes, T., "LDAP: String Representation of
Search Filters", draft-ietf-ldapbis-filter-xx.txt, a work in
2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
Smith & Howes Intended Category: Standards Track [Page 9]
INTERNET-DRAFT LDAP: Uniform Resource Locator 4 January 2005
progress.
2003-06-01 06:47:07 +08:00
2004-03-19 10:16:37 +08:00
[RFC2119] Bradner, S., "Key Words for use in RFCs to Indicate
Requirement Levels," RFC 2119, BCP 14, March 1997.
2003-06-01 06:47:07 +08:00
2004-10-27 12:52:02 +08:00
[Protocol] Sermersheim, J. (editor), "LDAP: The Protocol",
draft-ietf-ldapbis-protocol-xx.txt, a work in progress.
2003-06-01 06:47:07 +08:00
2004-03-19 10:16:37 +08:00
[RFC2234] Crocker, D., Overell, P., "Augmented BNF for Syntax
Specifications: ABNF", RFC 2234, November 1997.
2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
[RFC2396bis]
Berners-Lee, T., Fielding, R. and Masinter, L., "Uniform
Resource Identifiers (URI): Generic Syntax",
draft-fielding-uri-rfc2396bis-xx.txt, a work in progress.
2003-06-01 06:47:07 +08:00
2004-03-19 10:16:37 +08:00
[Roadmap] K. Zeilenga (editor), "LDAP: Technical Specification Road
Map", draft-ietf-ldapbis-roadmap-xx.txt, a work in progress.
2003-06-01 06:47:07 +08:00
2004-03-19 10:16:37 +08:00
[RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO 10646",
RFC 3629, November 2003.
2003-12-07 15:50:23 +08:00
2004-10-27 12:52:02 +08:00
8. Informative References
2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
[LDAPIANA] Zeilenga, K., "IANA Considerations for LDAP",
draft-ietf-ldapbis-bcp64-xx.txt, a work in progress. None.
2003-12-07 15:50:23 +08:00
2005-06-26 07:06:51 +08:00
9. Acknowledgements
2003-12-07 15:50:23 +08:00
The LDAP URL format was originally defined at the University of
Michigan. This material is based upon work supported by the National
Science Foundation under Grant No. NCR-9416667. The support of both
the University of Michigan and the National Science Foundation is
gratefully acknowledged.
This document is an update to RFC 2255 by Tim Howes and Mark Smith.
Changes included in this revised specification are based upon
discussions among the authors, discussions within the LDAP (v3)
Revision Working Group (ldapbis), and discussions within other IETF
Working Groups. The contributions of individuals in these working
groups is gratefully acknowledged. Several people in particular have
made valuable comments on this document; RL "Bob" Morgan, Mark Wahl,
Kurt Zeilenga, Jim Sermersheim, and Hallvard Furuseth deserve special
thanks for their contributions.
2003-06-01 06:47:07 +08:00
2004-10-27 12:52:02 +08:00
2005-06-26 07:06:51 +08:00
2004-10-27 12:52:02 +08:00
Smith & Howes Intended Category: Standards Track [Page 10]
2005-06-26 07:06:51 +08:00
INTERNET-DRAFT LDAP: Uniform Resource Locator 4 January 2005
2004-10-27 12:52:02 +08:00
2005-06-26 07:06:51 +08:00
10. Authors' Addresses
2003-06-01 06:47:07 +08:00
2003-12-07 15:50:23 +08:00
Mark Smith, Editor
2004-03-19 10:16:37 +08:00
Pearl Crescent, LLC
447 Marlpool Dr.
Saline, MI 48176
2003-12-07 15:50:23 +08:00
USA
2004-03-19 10:16:37 +08:00
+1 734 944-2856
mcs@pearlcrescent.com
2003-06-01 06:47:07 +08:00
Tim Howes
Opsware, Inc.
599 N. Mathilda Ave.
Sunnyvale, CA 94085
USA
+1 408 744-7509
2004-03-19 10:16:37 +08:00
howes@opsware.com
2005-06-26 07:06:51 +08:00
11. Appendix A: Changes Since RFC 2255
2004-03-19 10:16:37 +08:00
2005-06-26 07:06:51 +08:00
11.1. Technical Changes
2003-06-01 06:47:07 +08:00
The following technical changes were made to the contents of the "URL
Definition" section:
Revised all of the ABNF to use common productions from [Models].
2005-06-26 07:06:51 +08:00
Replaced references to [RFC2396] with a reference to [RFC2396bis]
(this allows literal IPv6 addresses to be used inside the <host>
portion of the URL, and a note was added to remind the reader of this
enhancement). Referencing [RFC2396bis] required changes to the ABNF
and text so that productions that are no longer defined by
[RFC2396bis] are not used. For example, <hostport> is not defined by
[RFC2396bis] so it has been replaced with host [COLON port]. Note:
[RFC2396bis] includes new definitions for the "Reserved" and
"Unreserved" sets of characters, and the net result is that the
following two additional characters should be percent-encoded when
they appear anywhere in the data used to construct an LDAP URL: "["
and "]" (these two characters were first added to the Reserved set by
RFC 2732).
Changed the definition of <attrdesc> to refer to <attributeSelector>
from [Protocol]. This allows use of "*" in the <attrdesc> part of
the URL. It is believed that existing implementations of RFC 2255
2003-06-01 06:47:07 +08:00
already support this.
2005-06-26 07:06:51 +08:00
Avoided use of <prose-val> (bracketed-string) productions in the
<dn>, <host>, <attrdesc>, and <exvalue> rules.
2003-06-01 06:47:07 +08:00
2004-10-27 12:52:02 +08:00
2005-06-26 07:06:51 +08:00
Smith & Howes Intended Category: Standards Track [Page 11]
INTERNET-DRAFT LDAP: Uniform Resource Locator 4 January 2005
2004-10-27 12:52:02 +08:00
2005-06-26 07:06:51 +08:00
Changed the ABNF for <ldapurl> to group the <dn> component with the
preceding <SLASH>.
2004-10-27 12:52:02 +08:00
2005-06-26 07:06:51 +08:00
Changed the <extype> rule to be an <oid> from [Models].
2004-10-27 12:52:02 +08:00
2005-06-26 07:06:51 +08:00
Changed the text about extension types so it references [LDAPIANA].
Reordered rules to more closely follow the order the elements appear
in the URL.
2004-10-27 12:52:02 +08:00
2003-06-01 06:47:07 +08:00
"Bindname Extension": removed due to lack of known implementations.
2005-06-26 07:06:51 +08:00
11.2. Editorial Changes
2003-06-01 06:47:07 +08:00
Changed document title to include "LDAP:" prefix.
IESG Note: removed note about lack of satisfactory mandatory
authentication mechanisms.
"Status of this Memo" section: updated boilerplate to match current
I-D guidelines.
"Abstract" section: separated from introductory material.
2004-10-27 12:52:02 +08:00
"Table of Contents" and "IANA Considerations" sections: added.
2003-06-01 06:47:07 +08:00
"Introduction" section: new section; separated from the Abstract.
Changed the text indicate that RFC 2255 is replaced by this document
(instead of RFC 1959). Added text to indicate that LDAP URLs are
used for references and referrals. Fixed typo (replaced the nonsense
phrase "to perform to retrieve" with "used to retrieve"). Added a
note to let the reader know that not all of the parameters of the
LDAP search operation described in [Protocol] can be expressed using
this format.
2005-06-26 07:06:51 +08:00
"URL Definition" section: removed second copy of <ldapurl> grammar
and following two paragraphs (editorial error in RFC 2255). Fixed
line break within '!' sequence. Reformatted the ABNF to improve
readability by aligning comments and adding some blank lines.
Replaced "residing in the LDAP server" with "accessible from the LDAP
server" in the sentence immediately following the ABNF. Removed the
sentence "Individual attrdesc names are as defined for
AttributeDescription in [Protocol]." because [Protocol]'s
<attributeSelector> is now used directly in the ABNF. Reworded last
paragraph to clarify which characters must be percent-encoded. Added
text to indicate that LDAP URLs are used for references and
referrals. Added text that refers to the ABNF from RFC 2234.
Clarified and strengthened the requirements with respect to
2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
Smith & Howes Intended Category: Standards Track [Page 12]
INTERNET-DRAFT LDAP: Uniform Resource Locator 4 January 2005
2004-10-27 12:52:02 +08:00
2005-06-26 07:06:51 +08:00
processing of URLs that contain implements and not implemented
extensions (the approach now closely matches that specified in
[Protocol] for LDAP controls).
2004-10-27 12:52:02 +08:00
2005-06-26 07:06:51 +08:00
"Defaults for Fields of the LDAP URL" section: added; formed by
moving text about defaults out of the "URL Definition" section.
Replaced direct reference to the attribute name "*" with a reference
to the special <alluserattrs> selector "*" defined in [Protocol].
2004-10-27 12:52:02 +08:00
2005-06-26 07:06:51 +08:00
"URL Processing" section: removed.
2004-10-27 12:52:02 +08:00
2003-06-01 06:47:07 +08:00
"Examples" section: Modified examples to use example.com and
example.net hostnames. Added missing '?' to the LDAP URL example
whose filter contains three null bytes. Removed space after one
comma within a DN. Revised the bindname example to use e-bindname.
2003-12-07 15:50:23 +08:00
Changed the name of an attribute used in one example from "int" to
"four-octet" to avoid potential confusion. Added an example that
2005-06-26 07:06:51 +08:00
demonstrates the interaction between DN escaping and URL
percent-encoding. Added some examples to show URL equivalence with
respect to the <dn> portion of the URL. Used uppercase in some
examples to remind the reader that some tokens are case-insensitive.
2003-06-01 06:47:07 +08:00
"Security Considerations" section: Added a note about connection
reuse. Added a note about using strong authentication methods for
2004-03-19 10:16:37 +08:00
updates. Added a reference to [AuthMeth]. Added note that simply
2003-06-01 06:47:07 +08:00
opening a connection may violate some users' privacy requirements.
2005-06-26 07:06:51 +08:00
Adopted the working group's revised LDAP terminology specification by
replacing the word "connection" with "LDAP session" or "LDAP
connection" as appropriate.
2003-06-01 06:47:07 +08:00
"Acknowledgements" section: added statement about this being an
update to RFC 2255. Added Kurt Zeilenga, Jim Sermersheim, and
Hallvard Furuseth.
"Normative References" section: renamed from "References" per new RFC
guidelines. Changed from [1] style to [Protocol] style throughout the
2005-06-26 07:06:51 +08:00
document. Added references to RFC 2234 and RFC 3629. Updated all
RFC 1738 references to point to the appropriate sections within
[RFC2396bis]. Updated the LDAP references to refer to LDAPBis WG
2004-03-19 10:16:37 +08:00
documents. Removed the reference to the LDAP Attribute Syntaxes
document and added references to the [AuthMeth], [LDAPIANA], and
[Roadmap] documents.
2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
"Informative References" section: added.
2003-06-01 06:47:07 +08:00
2004-03-19 10:16:37 +08:00
Header and "Authors' Addresses" sections: added "editor" next to Mark
2003-06-01 06:47:07 +08:00
Smith's name. Updated affiliation and contact information.
2005-06-26 07:06:51 +08:00
Smith & Howes Intended Category: Standards Track [Page 13]
INTERNET-DRAFT LDAP: Uniform Resource Locator 4 January 2005
2003-06-01 06:47:07 +08:00
Copyright: updated the year.
2005-06-26 07:06:51 +08:00
Throughout the document: surrounded the names of all ABNF productions
with "<" and ">" where they are used in descriptive text.
2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
12. Appendix B: Changes Since Previous Document Revision
2003-06-01 06:47:07 +08:00
2003-12-07 15:50:23 +08:00
This appendix lists all changes relative to the previously published
2005-06-26 07:06:51 +08:00
revision, draft-ietf-ldapbis-url-08.txt. Note that when appropriate
2003-12-07 15:50:23 +08:00
these changes are also included in Appendix A, but are also included
2004-10-27 12:52:02 +08:00
here for the benefit of the people who have already reviewed
2005-06-26 07:06:51 +08:00
draft-ietf-ldapbis-url-08.txt. This section will be removed before
2004-10-27 12:52:02 +08:00
this document is published as an RFC.
2005-06-26 07:06:51 +08:00
12.1. Technical Changes
2004-10-27 12:52:02 +08:00
2005-06-26 07:06:51 +08:00
Throughout the document: Replaced references to [RFC2396] and
[RFC2732] with references to [RFC2396bis]. This required changes to
the ABNF and text so that productions that are no longer defined by
[RFC2396bis] are not used. For example, <hostport> is not defined by
[RFC2396bis] so it has been replaced with host [COLON port]. Note:
[RFC2396bis] includes new definitions for the "Reserved" and
"Unreserved" sets of characters, and the net result is that the
following two additional characters should be percent-encoded when
they appear anywhere in the data used to construct an LDAP URL: "["
and "]" (these two characters were first added to the Reserved set by
RFC 2732).
2004-10-27 12:52:02 +08:00
2005-06-26 07:06:51 +08:00
12.2. Editorial Changes
2004-10-27 12:52:02 +08:00
2005-06-26 07:06:51 +08:00
Throughout the document: Replaced phrases like "Escaping using the %
method" with "Percent-encoding" to be consistent with the terminology
used in [RFC2396bis].
2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
"URL Definition" section: For consistency, replaced all occurrences
of the phrase 'see the "Percent-Encoding" section below' with
'subject to the provisions of the "Percent-Encoding" section below.'
2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
Updated the copyright year to 2005.
2003-12-07 15:50:23 +08:00
2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
Intellectual Property Rights
2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
Smith & Howes Intended Category: Standards Track [Page 14]
INTERNET-DRAFT LDAP: Uniform Resource Locator 4 January 2005
2003-06-01 06:47:07 +08:00
2004-10-27 12:52:02 +08:00
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat 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 implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
2003-06-01 06:47:07 +08:00
2004-10-27 12:52:02 +08:00
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 that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
Full Copyright
2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
Copyright (C) The Internet Society (2005). This document is subject
2004-10-27 12:52:02 +08:00
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
2003-06-01 06:47:07 +08:00
2004-10-27 12:52:02 +08:00
This document and the information contained herein are provided on an
"AS IS" basis and 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.
2003-06-01 06:47:07 +08:00
2005-06-26 07:06:51 +08:00
This Internet Draft expires on 4 July 2005.
2004-10-27 12:52:02 +08:00
Smith & Howes Intended Category: Standards Track [Page 15]
2003-06-01 06:47:07 +08:00
2004-03-19 10:16:37 +08:00