draft-ietf-ldapbis-url-05.txt   draft-ietf-ldapbis-url-06.txt 
Network Working Group Mark Smith, Editor Network Working Group Mark Smith, Editor
Request for Comments: DRAFT Pearl Crescent, LLC Request for Comments: DRAFT Pearl Crescent, LLC
Obsoletes: RFC 2255 Tim Howes Obsoletes: RFC 2255 Tim Howes
Expires: 13 August 2004 Opsware, Inc. Expires: 14 January 2005 Opsware, Inc.
13 February 2004 14 July 2004
LDAP: Uniform Resource Locator LDAP: Uniform Resource Locator
<draft-ietf-ldapbis-url-05.txt> <draft-ietf-ldapbis-url-06.txt>
1. Status of this Memo Status of this Memo
This document is an Internet-Draft and is subject to all provisions By submitting this Internet-Draft, I certify that any applicable
of Section 10 of RFC2026. patent or other IPR claims of which I am aware have been disclosed,
or will be disclosed, and any of which I become aware will be
disclosed, in accordance with RFC 3668.
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>.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as
Drafts. Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet- Drafts as reference time. It is inappropriate to use Internet- Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than a "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/1id-abstracts.html http://www.ietf.org/1id-abstracts.html
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html http://www.ietf.org/shadow.html
Discussion of this document should take place on the LDAP (v3)
Revision (ldapbis) Working Group mailing list <ietf-
ldapbis@openldap.org>.
Copyright (C) The Internet Society (2004). All Rights Reserved. Copyright (C) The Internet Society (2004). All Rights Reserved.
Please see the Full Copyright section near the end of this document
for more information.
2. Abstract Abstract
This document describes a format for an LDAP Uniform Resource Locator This document describes a format for an LDAP Uniform Resource Locator
(URL). An LDAP URL describes an LDAP search operation that is used (URL). An LDAP URL describes an LDAP search operation that is used
to retrieve information from an LDAP directory, or, in the context of to retrieve information from an LDAP directory, or, in the context of
an LDAPv3 referral or reference, an LDAP URL describes a service an LDAPv3 referral or reference, an LDAP URL describes a service
where an LDAP operation may be progressed. where an LDAP operation may be progressed.
3. Table of Contents Table of Contents
1. Status of this Memo............................................1 Status of this Memo............................................1
2. Abstract.......................................................1 Abstract.......................................................2
3. Table of Contents..............................................2 Table of Contents..............................................2
4. Introduction...................................................2 1. Introduction...................................................2
5. URL Definition.................................................3 2. URL Definition.................................................3
5.1. Escaping Using the % Method.................................4 2.1. Escaping Using the % Method.................................5
6. Defaults for Fields of the LDAP URL............................5 3. Defaults for Fields of the LDAP URL............................5
7. Examples.......................................................5 4. Examples.......................................................6
8. Security Considerations........................................7 5. Security Considerations........................................8
9. Normative References...........................................8 6. IANA Considerations............................................9
10. Informative References.........................................9 7. Normative References...........................................9
11. Intellectual Property Rights...................................9 8. Informative References.........................................10
12. Acknowledgements...............................................10 9. Intellectual Property Rights...................................10
13. Authors' Addresses.............................................10 10. Acknowledgements...............................................10
14. Full Copyright Statement.......................................11 11. Authors' Addresses.............................................11
15. Appendix A: Changes Since RFC 2255.............................11 12. Appendix A: Changes Since RFC 2255.............................11
15.1. Technical Changes...........................................11 12.1. Technical Changes...........................................11
15.2. Editorial Changes...........................................12 12.2. Editorial Changes...........................................12
16. Appendix B: Changes Since Previous Document Revision...........13 13. Appendix B: Changes Since Previous Document Revision...........13
16.1. Technical Changes...........................................14 13.1. Technical Changes...........................................14
16.2. Editorial Changes...........................................14 13.2. Editorial Changes...........................................14
14. Intellectual Property Rights...................................14
15. Full Copyright.................................................15
4. Introduction 1. Introduction
LDAP is the Lightweight Directory Access Protocol, defined in LDAP is the Lightweight Directory Access Protocol, defined in
[Protocol]. This document specifies the LDAP URL format for version [Protocol]. This document specifies the LDAP URL format for version
3 of LDAP and clarifies how LDAP URLs are resolved. This document 3 of LDAP and clarifies how LDAP URLs are resolved. This document
also defines an extension mechanism for LDAP URLs, so that future also defines an extension mechanism for LDAP URLs, so that future
documents can extend their functionality, for example, to provide documents can extend their functionality, for example, to provide
access to new LDAPv3 extensions as they are defined. Note: not all access to new LDAPv3 extensions as they are defined. Note: not all
of the parameters of the LDAP search operation described in of the parameters of the LDAP search operation described in
[Protocol] can be expressed using the format defined in this [Protocol] can be expressed using the format defined in this
document. document.
This document is an integral part of the LDAP Technical Specification This document is an integral part of the LDAP Technical Specification
[Roadmap]. [Roadmap].
This document replaces RFC 2255. See Appendix A for a list of changes This document replaces RFC 2255. See Appendix A for a list of changes
relative to RFC 2255. relative to RFC 2255.
The key words "MUST", "MAY", and "SHOULD" used in this document are The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
to be interpreted as described in [RFC2119]. "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14 [RFC2119].
5. URL Definition 2. URL Definition
An LDAP URL begins with the protocol prefix "ldap" and is defined by An LDAP URL begins with the protocol prefix "ldap" and is defined by
the following grammar, following the ABNF notation defined in the following grammar, following the ABNF notation defined in
[RFC2234]. [RFC2234].
ldapurl = scheme COLON SLASH SLASH [hostport] [SLASH dn ldapurl = scheme COLON SLASH SLASH [hostport] [SLASH dn
[QUESTION [attributes] [QUESTION [scope] [QUESTION [attributes] [QUESTION [scope]
[QUESTION [filter] [QUESTION extensions]]]]] [QUESTION [filter] [QUESTION extensions]]]]]
scheme = "ldap" scheme = "ldap"
hostport = <hostport from Section 3.2.2 of [RFC2396]> hostport = <hostport from Section 3.2.2 of [RFC2396]>
; as updated by [RFC2732] to allow IPv6 literal addresses ; As updated by [RFC2732] to allow
; IPv6 literal addresses
dn = <distinguishedName from Section 3 of [LDAPDN]> dn = <distinguishedName from Section 3 of [LDAPDN]>
; see the "Escaping Using the % Method" section below. ; See the "Escaping Using the % Method"
; section below.
attributes = attrdesc *(COMMA attrdesc) attributes = attrdesc *(COMMA attrdesc)
attrdesc = <AttributeDescription from Section 4.1.4 of [Protocol]> attrdesc = <AttributeDescription
from Section 4.1.4 of [Protocol]>
/ ASTERISK / ASTERISK
; see the "Escaping Using the % Method" section below. ; See the "Escaping Using the % Method"
; section below.
scope = "base" / "one" / "sub" scope = "base" / "one" / "sub"
filter = <filter from Section 4 of [Filters]> filter = <filter from Section 4 of [Filters]>
; see the "Escaping Using the % Method" section below. ; See the "Escaping Using the % Method"
; section below.
extensions = extension *(COMMA extension) extensions = extension *(COMMA extension)
extension = [EXCLAMATION] extype [EQUALS exvalue] extension = [EXCLAMATION] extype [EQUALS exvalue]
extype = oid / oiddescr extype = oid / oiddescr
exvalue = <LDAPString from section 4.1.2 of [Protocol]> exvalue = <LDAPString from section 4.1.2 of [Protocol]>
; see the "Escaping Using the % Method" section below. ; See the "Escaping Using the % Method"
; section below.
oid = <LDAPOID from section 4.1.2 of [Protocol]> oid = <LDAPOID from section 4.1.2 of [Protocol]>
oiddescr = <name from section 3.3 of [LDAPIANA]> oiddescr = <name from section 3.3 of [LDAPIANA]>
EXCLAMATION = %x21 ; exclamation mark ("!") EXCLAMATION = %x21 ; exclamation mark ("!")
ASTERISK = %x2A ; asterisk ("*") ASTERISK = %x2A ; asterisk ("*")
SLASH = %x2F ; forward slash ("/")
COLON = %x3A ; colon (":") COLON = %x3A ; colon (":")
QUESTION = %x3F ; question mark ("?") QUESTION = %x3F ; question mark ("?")
SLASH = %x5C; forward slash ("/") The "ldap" prefix indicates an entry or entries accessible from the
LDAP server running on the given hostname at the given portnumber.
The "ldap" prefix indicates an entry or entries residing in the LDAP Note that the hostport may contain literal IPv6 addresses as
server running on the given hostname at the given portnumber. Note specified in [RFC2732].
that the hostport may contain literal IPv6 addresses as specified in
[RFC2732].
The dn is an LDAP Distinguished Name using the string format The dn is an LDAP Distinguished Name using the string format
described in [LDAPDN]. It identifies the base object of the LDAP described in [LDAPDN]. It identifies the base object of the LDAP
search or the target of a non-search operation. search or the target of a non-search operation.
The attributes construct is used to indicate which attributes should The attributes construct is used to indicate which attributes should
be returned from the entry or entries. Individual attrdesc names are be returned from the entry or entries. Individual attrdesc names are
as defined for AttributeDescription in [Protocol]. as defined for AttributeDescription in [Protocol].
The scope construct is used to specify the scope of the search to The scope construct is used to specify the scope of the search to
skipping to change at page 4, line 22 skipping to change at page 4, line 34
specified in [Filters]. specified in [Filters].
The extensions construct provides the LDAP URL with an extensibility The extensions construct provides the LDAP URL with an extensibility
mechanism, allowing the capabilities of the URL to be extended in the mechanism, allowing the capabilities of the URL to be extended in the
future. Extensions are a simple comma-separated list of type=value future. Extensions are a simple comma-separated list of type=value
pairs, where the =value portion MAY be omitted for options not pairs, where the =value portion MAY be omitted for options not
requiring it. Each type=value pair is a separate extension. These requiring it. Each type=value pair is a separate extension. These
LDAP URL extensions are not necessarily related to any of the LDAPv3 LDAP URL extensions are not necessarily related to any of the LDAPv3
extension mechanisms. Extensions may be supported or unsupported by extension mechanisms. Extensions may be supported or unsupported by
the client resolving the URL. An extension prefixed with a '!' the client resolving the URL. An extension prefixed with a '!'
character (ASCII 33) is critical. An extension not prefixed with a character (ASCII 0x21) is critical. An extension not prefixed with a
'!' character is non-critical. '!' character is non-critical.
If an LDAP URL extension is recognized by an implementation, the If an LDAP URL extension is recognized by an implementation (that is,
if the implementation understands it and is able to use it), the
implementation MUST make use of it. If an extension is not implementation MUST make use of it. If an extension is not
recognized and is marked critical, the implementation MUST NOT recognized and is marked critical, the implementation MUST NOT
process the URL. If an extension is not recognized and it not marked process the URL. If an extension is not recognized and it not marked
critical, the implementation MUST ignore the extension. critical, the implementation MUST ignore the extension.
The extension type (extype) MAY be specified using the oid form The extension type (extype) MAY be specified using the oid form
(e.g., 1.2.3.4) or the oiddesc form (e.g., myLDAPURLExtension). Use (e.g., 1.2.3.4) or the oiddesc form (e.g., myLDAPURLExtension). Use
of the oiddesc form SHOULD be restricted to registered object of the oiddesc form SHOULD be restricted to registered object
identifier descriptive names. See [LDAPIANA] for registration identifier descriptive names. See [LDAPIANA] for registration
details and usage guidelines for descriptive names. details and usage guidelines for descriptive names.
No LDAP URL extensions are defined in this document. Other documents No LDAP URL extensions are defined in this document. Other documents
or a future version of this document MAY define one or more or a future version of this document MAY define one or more
extensions. extensions.
5.1. Escaping Using the % Method 2.1. Escaping Using the % Method
A generated LDAP URL MUST consist only of the restricted set of A generated LDAP URL MUST consist only of the restricted set of
characters included in the uric production that is defined in section characters included in the uric production that is defined in section
2 of [RFC2396]. Implementations SHOULD accept other valid UTF-8 2 of [RFC2396]. Implementations SHOULD accept other valid UTF-8
strings [RFC3629] as input. An octet MUST be escaped using the % strings [RFC3629] as input. An octet MUST be escaped using the %
method described in section 2.4 of [RFC2396] in any of these method described in section 2.4 of [RFC2396] in any of these
situations: situations:
The octet is not in the reserved set defined in section 2.2 of The octet is not in the reserved set defined in section 2.2 of
[RFC2396] or in the unreserved set defined in section 2.3 of [RFC2396] or in the unreserved set defined in section 2.3 of
[RFC2396]. [RFC2396].
It is the single Reserved character '?' and occurs inside a dn, It is the single Reserved character '?' and occurs inside a dn,
filter, or other element of an LDAP URL. filter, or other element of an LDAP URL.
It is a comma character ',' that occurs inside an extension value. It is a comma character ',' that occurs inside an extension value.
6. Defaults for Fields of the LDAP URL 3. Defaults for Fields of the LDAP URL
Some fields of the LDAP URL are optional, as described above. In the Some fields of the LDAP URL are optional, as described above. In the
absence of any other specification, the following general defaults absence of any other specification, the following general defaults
SHOULD be used when a field is absent. Note: other documents MAY SHOULD be used when a field is absent. Note: other documents MAY
specify different defaulting rules; for example, section 4.1.10 of specify different defaulting rules; for example, section 4.1.10 of
[Protocol] specifies a different rule for determining the correct DN [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 to use when it is absent in an LDAP URL that is returned as a
referral. referral.
hostport hostport
skipping to change at page 5, line 44 skipping to change at page 6, line 11
scope scope
If scope is omitted, a scope of "base" is assumed. If scope is omitted, a scope of "base" is assumed.
filter filter
If filter is omitted, a filter of "(objectClass=*)" is assumed. If filter is omitted, a filter of "(objectClass=*)" is assumed.
extensions extensions
If extensions is omitted, no extensions are assumed. If extensions is omitted, no extensions are assumed.
7. Examples 4. Examples
The following are some example LDAP URLs using the format defined The following are some example LDAP URLs using the format defined
above. The first example is an LDAP URL referring to the University above. The first example is an LDAP URL referring to the University
of Michigan entry, available from an LDAP server of the client's of Michigan entry, available from an LDAP server of the client's
choosing: choosing:
ldap:///o=University%20of%20Michigan,c=US ldap:///o=University%20of%20Michigan,c=US
The next example is an LDAP URL referring to the University of The next example is an LDAP URL referring to the University of
Michigan entry in a particular ldap server: Michigan entry in a particular ldap server:
skipping to change at page 7, line 43 skipping to change at page 8, line 8
These three URLs all point to the root DSE on the ldap.example.net These three URLs all point to the root DSE on the ldap.example.net
server. server.
The final two examples show use of a hypothetical, experimental bind The final two examples show use of a hypothetical, experimental bind
name extension (the value associated with the extension is an LDAP DN). 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
ldap:///??sub??!e-bindname=cn=Manager%2cdc=example%2cdc=com ldap:///??sub??!e-bindname=cn=Manager%2cdc=example%2cdc=com
The two URLs are the same, except that the second one marks the e- The two URLs are the same, except that the second one marks the
bindname extension as critical. Notice the use of the % encoding e-bindname extension as critical. Notice the use of the % encoding
method to encode the commas within the distinguished name value in method to encode the commas within the distinguished name value in
the e-bindname extension. the e-bindname extension.
8. Security Considerations 5. Security Considerations
General URL security considerations discussed in [RFC2396] are General URL security considerations discussed in [RFC2396] are
relevant for LDAP URLs. relevant for LDAP URLs.
The use of security mechanisms when processing LDAP URLs requires The use of security mechanisms when processing LDAP URLs requires
particular care, since clients may encounter many different servers particular care, since clients may encounter many different servers
via URLs, and since URLs are likely to be processed automatically, via URLs, and since URLs are likely to be processed automatically,
without user intervention. A client SHOULD have a user-configurable without user intervention. A client SHOULD have a user-configurable
policy about which servers to connect to using which security policy about which servers to connect to using which security
mechanisms, and SHOULD NOT make connections that are inconsistent mechanisms, and SHOULD NOT make connections that are inconsistent
skipping to change at page 8, line 45 skipping to change at page 9, line 12
authentication methods SHOULD be used. Please refer to the Security authentication methods SHOULD be used. Please refer to the Security
Considerations section of [AuthMeth] for more information. Considerations section of [AuthMeth] for more information.
The LDAP URL format allows the specification of an arbitrary LDAP The LDAP URL format allows the specification of an arbitrary LDAP
search operation to be performed when evaluating the LDAP URL. search operation to be performed when evaluating the LDAP URL.
Following an LDAP URL may cause unexpected results, for example, the Following an LDAP URL may cause unexpected results, for example, the
retrieval of large amounts of data, the initiation of a long-lived retrieval of large amounts of data, the initiation of a long-lived
search, etc. The security implications of resolving an LDAP URL are search, etc. The security implications of resolving an LDAP URL are
the same as those of resolving an LDAP search query. the same as those of resolving an LDAP search query.
9. Normative References 6. IANA Considerations
This document has no actions for IANA.
7. Normative References
[AuthMeth] Harrison, R. (editor), "LDAP: Authentication Methods", [AuthMeth] Harrison, R. (editor), "LDAP: Authentication Methods",
draft-ietf-ldapbis-authmeth-xx.txt, a work in progress. a draft-ietf-ldapbis-authmeth-xx.txt, a work in progress. a
work in progress. work in progress.
[LDAPDN] Zeilenga, K. (editor), "LDAP: String Representation of [LDAPDN] Zeilenga, K. (editor), "LDAP: String Representation of
Distinguished Names", draft-ietf-ldapbis-dn-xx.txt, a work Distinguished Names", draft-ietf-ldapbis-dn-xx.txt, a work
in progress. in progress.
[Filters] Smith, M. and Howes, T., "LDAP: String Representation of [Filters] Smith, M. and Howes, T., "LDAP: String Representation of
Search Filters", draft-ietf-ldapbis-filter-xx.txt, a work in Search Filters", draft-ietf-ldapbis-filter-xx.txt, a work in
progress. progress.
[LDAPIANA] Zeilenga, K., "IANA Considerations for LDAP", draft-ietf- [LDAPIANA] Zeilenga, K., "IANA Considerations for LDAP",
ldapbis-bcp64-xx.txt, a work in progress. draft-ietf-ldapbis-bcp64-xx.txt, a work in progress.
[RFC2119] Bradner, S., "Key Words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key Words for use in RFCs to Indicate
Requirement Levels," RFC 2119, BCP 14, March 1997. Requirement Levels," RFC 2119, BCP 14, March 1997.
[Protocol] Sermersheim, J. (editor), "LDAP: The Protocol", draft-ietf- [Protocol] Sermersheim, J. (editor), "LDAP: The Protocol",
ldapbis-protocol-xx.txt, a work in progress. draft-ietf-ldapbis-protocol-xx.txt, a work in progress.
[RFC2234] Crocker, D., Overell, P., "Augmented BNF for Syntax [RFC2234] Crocker, D., Overell, P., "Augmented BNF for Syntax
Specifications: ABNF", RFC 2234, November 1997. Specifications: ABNF", RFC 2234, November 1997.
[RFC2396] Berners-Lee, T., Fielding, R., and Masinter, L., "Uniform [RFC2396] Berners-Lee, T., Fielding, R., and Masinter, L., "Uniform
Resource Identifiers (URI): Generic Syntax", RFC 2396, Resource Identifiers (URI): Generic Syntax", RFC 2396,
August 1998. August 1998.
[RFC2732] Hinden, R., Carpenter, B., Masinter, L., "Format for Literal [RFC2732] Hinden, R., Carpenter, B., Masinter, L., "Format for Literal
IPv6 Addresses in URL's", RFC 2732, December 1999. IPv6 Addresses in URL's", RFC 2732, December 1999.
[Roadmap] K. Zeilenga (editor), "LDAP: Technical Specification Road [Roadmap] K. Zeilenga (editor), "LDAP: Technical Specification Road
Map", draft-ietf-ldapbis-roadmap-xx.txt, a work in progress. Map", draft-ietf-ldapbis-roadmap-xx.txt, a work in progress.
[RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO 10646", [RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO 10646",
RFC 3629, November 2003. RFC 3629, November 2003.
10. Informative References 8. Informative References
None. None.
11. Intellectual Property Rights 9. Intellectual Property Rights
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to intellectual property or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights this document or the extent to which any license under such rights
might or might not be available; neither does it represent that it might or might not be available; neither does it represent that it
has made any effort to identify any such rights. Information on the has made any effort to identify any such rights. Information on the
IETF's procedures with respect to rights in standards-track and IETF's procedures with respect to rights in standards-track and
standards-related documentation can be found in BCP-11. Copies of standards-related documentation can be found in BCP-11. Copies of
claims of rights made available for publication and any assurances of claims of rights made available for publication and any assurances of
skipping to change at page 10, line 13 skipping to change at page 10, line 34
obtain a general license or permission for the use of such obtain a general license or permission for the use of such
proprietary rights by implementors or users of this specification can proprietary rights by implementors or users of this specification can
be obtained from the IETF Secretariat. be obtained from the IETF Secretariat.
The IETF invites any interested party to bring to its attention any The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to practice rights which may cover technology that may be required to practice
this standard. Please address the information to the IETF Executive this standard. Please address the information to the IETF Executive
Director. Director.
12. Acknowledgements 10. Acknowledgements
The LDAP URL format was originally defined at the University of The LDAP URL format was originally defined at the University of
Michigan. This material is based upon work supported by the National Michigan. This material is based upon work supported by the National
Science Foundation under Grant No. NCR-9416667. The support of both Science Foundation under Grant No. NCR-9416667. The support of both
the University of Michigan and the National Science Foundation is the University of Michigan and the National Science Foundation is
gratefully acknowledged. gratefully acknowledged.
This document is an update to RFC 2255 by Tim Howes and Mark Smith. This document is an update to RFC 2255 by Tim Howes and Mark Smith.
Changes included in this revised specification are based upon Changes included in this revised specification are based upon
discussions among the authors, discussions within the LDAP (v3) discussions among the authors, discussions within the LDAP (v3)
Revision Working Group (ldapbis), and discussions within other IETF Revision Working Group (ldapbis), and discussions within other IETF
Working Groups. The contributions of individuals in these working Working Groups. The contributions of individuals in these working
groups is gratefully acknowledged. Several people in particular have groups is gratefully acknowledged. Several people in particular have
made valuable comments on this document; RL "Bob" Morgan, Mark Wahl, made valuable comments on this document; RL "Bob" Morgan, Mark Wahl,
Kurt Zeilenga, Jim Sermersheim, and Hallvard Furuseth deserve special Kurt Zeilenga, Jim Sermersheim, and Hallvard Furuseth deserve special
thanks for their contributions. thanks for their contributions.
13. Authors' Addresses 11. Authors' Addresses
Mark Smith, Editor Mark Smith, Editor
Pearl Crescent, LLC Pearl Crescent, LLC
447 Marlpool Dr. 447 Marlpool Dr.
Saline, MI 48176 Saline, MI 48176
USA USA
+1 734 944-2856 +1 734 944-2856
mcs@pearlcrescent.com mcs@pearlcrescent.com
Tim Howes Tim Howes
Opsware, Inc. Opsware, Inc.
599 N. Mathilda Ave. 599 N. Mathilda Ave.
Sunnyvale, CA 94085 Sunnyvale, CA 94085
USA USA
+1 408 744-7509 +1 408 744-7509
howes@opsware.com howes@opsware.com
14. Full Copyright Statement 12. Appendix A: Changes Since RFC 2255
Copyright (C) The Internet Society (2004). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS 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.
15. Appendix A: Changes Since RFC 2255
15.1. Technical Changes 12.1. Technical Changes
The following technical changes were made to the contents of the "URL The following technical changes were made to the contents of the "URL
Definition" section: Definition" section:
Revised all of the ABNF to use common productions from [Models]. Revised all of the ABNF to use common productions from [Models].
Added note and references to [RFC2732] to allow literal IPv6 Added note and references to [RFC2732] to allow literal IPv6
addresses inside the hostport portion of the URL. addresses inside the hostport portion of the URL.
Added missing ASTERISK as an alternative for the attrdesc part of the Added missing ASTERISK as an alternative for the attrdesc part of the
skipping to change at page 12, line 17 skipping to change at page 12, line 7
Changed the extype rule to be an LDAPOID from [Protocol] or an OID Changed the extype rule to be an LDAPOID from [Protocol] or an OID
description from [LDAPIANA]. description from [LDAPIANA].
Changed the text about extension types so it references [LDAPIANA]. Changed the text about extension types so it references [LDAPIANA].
Reordered rules to more closely follow the order the elements appear Reordered rules to more closely follow the order the elements appear
in the URL. in the URL.
"Bindname Extension": removed due to lack of known implementations. "Bindname Extension": removed due to lack of known implementations.
15.2. Editorial Changes 12.2. Editorial Changes
Changed document title to include "LDAP:" prefix. Changed document title to include "LDAP:" prefix.
IESG Note: removed note about lack of satisfactory mandatory IESG Note: removed note about lack of satisfactory mandatory
authentication mechanisms. authentication mechanisms.
"Status of this Memo" section: updated boilerplate to match current "Status of this Memo" section: updated boilerplate to match current
I-D guidelines. I-D guidelines.
"Abstract" section: separated from introductory material. "Abstract" section: separated from introductory material.
"Table of Contents" section: added. "Table of Contents" and "IANA Considerations" sections: added.
"Introduction" section: new section; separated from the Abstract. "Introduction" section: new section; separated from the Abstract.
Changed the text indicate that RFC 2255 is replaced by this document Changed the text indicate that RFC 2255 is replaced by this document
(instead of RFC 1959). Added text to indicate that LDAP URLs are (instead of RFC 1959). Added text to indicate that LDAP URLs are
used for references and referrals. Fixed typo (replaced the nonsense used for references and referrals. Fixed typo (replaced the nonsense
phrase "to perform to retrieve" with "used to retrieve"). Added a 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 note to let the reader know that not all of the parameters of the
LDAP search operation described in [Protocol] can be expressed using LDAP search operation described in [Protocol] can be expressed using
this format. this format.
"URL Definition" section: removed second copy of ldapurl grammar and "URL Definition" section: removed second copy of ldapurl grammar and
following two paragraphs (editorial error in RFC 2255). Fixed line following two paragraphs (editorial error in RFC 2255). Fixed line
break within '!' sequence. Reworded last paragraph to clarify which break within '!' sequence. Replaced "residing in the LDAP server"
with "accessible from the LDAP server" in the sentence immediately
following the ABNF. Reworded last paragraph to clarify which
characters must be URL escaped. Added text to indicate that LDAP characters must be URL escaped. Added text to indicate that LDAP
URLs are used for references and referrals. Added text that refers URLs are used for references and referrals. Added text that refers
to the ABNF from RFC 2234. Clarified and strengthened the to the ABNF from RFC 2234. Clarified and strengthened the
requirements with respect to processing of URLs that contain requirements with respect to processing of URLs that contain
recognized and unrecognized extensions (the approach now matches that recognized and unrecognized extensions (the approach now matches that
specified in [Protocol] for LDAP controls). specified in [Protocol] for LDAP controls).
"Defaults for Fields of the LDAP URL" section: added; formed by "Defaults for Fields of the LDAP URL" section: added; formed by
moving text about defaults out of the "URL Definition" section. moving text about defaults out of the "URL Definition" section.
skipping to change at page 13, line 47 skipping to change at page 13, line 40
document and added references to the [AuthMeth], [LDAPIANA], and document and added references to the [AuthMeth], [LDAPIANA], and
[Roadmap] documents. [Roadmap] documents.
"Informative References" section: added for clarity. "Informative References" section: added for clarity.
Header and "Authors' Addresses" sections: added "editor" next to Mark Header and "Authors' Addresses" sections: added "editor" next to Mark
Smith's name. Updated affiliation and contact information. Smith's name. Updated affiliation and contact information.
Copyright: updated the year. Copyright: updated the year.
16. Appendix B: Changes Since Previous Document Revision 13. Appendix B: Changes Since Previous Document Revision
This appendix lists all changes relative to the previously published This appendix lists all changes relative to the previously published
revision, draft-ietf-ldapbis-url-04.txt. Note that when appropriate revision, draft-ietf-ldapbis-url-05.txt. Note that when appropriate
these changes are also included in Appendix A, but are also included these changes are also included in Appendix A, but are also included
here for the benefit of the people who have already reviewed draft- here for the benefit of the people who have already reviewed
ietf-ldapbis-url-04.txt. This section will be removed before this draft-ietf-ldapbis-url-05.txt. This section will be removed before
document is published as an RFC. this document is published as an RFC.
16.1. Technical Changes 13.1. Technical Changes
Clarified and strengthened the requirements with respect to "URL Definition" section: changed the hex value for SLASH to 0x2F (it
processing of URLs that contain recognized and unrecognized was 0x5C which is "\" not "/"). Also, broke some long lines into two
extensions (the approach now matches that specified in [Protocol] for lines to avoid exceeding the 72 column limit.
LDAP controls).
16.2. Editorial Changes 13.2. Editorial Changes
"URL Definition" section: corrected a section reference to "Status of this Memo", "Intellectual Property Rights", and "Full
[Protocol]. Copyright" sections: updated to use boilerplate from RFC 3667 and RFC
3668.
"Examples" section: improved formatting and fixed a typographic error "Status of this Memo", "Abstract" and "Table of Contents" sections:
(removed extraneous "IP") in the "four-octet" example. removed section numbers.
"Normative References" section: changed the UTF-8 reference to point "Introduction" section: added missing RFC 2119 keywords.
to RFC 3629, changed the RFC 3383 reference to point to the LDAP IANA
Internet Draft, and indented the reference descriptions to enhance
readability.
Authors' Addresses section: New contact information for Mark Smith. "URL Definition" section: replaced "residing in the LDAP server" with
"accessible from the LDAP server" in the sentence immediately
following the ABNF. Also, added the explanatory phrase "(that is, if
the implementation understands it and is able to use it)" to the
sentence that begins "If an LDAP URL extension is recognized by an
implementation...." Also, replaced "ASCII 33" with ASCII 0x21 in the
text that refers to the "!" character.
Updated the copyright year to 2004. "IANA Considerations" section: added.
This Internet Draft expires on 13 August 2004. 14. Intellectual Property Rights
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
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.
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.
15. Full Copyright
Copyright (C) The Internet Society (2004). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
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.
This Internet Draft expires on 14 January 2005.
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/