]> git.sur5r.net Git - openldap/blob - doc/drafts/draft-ietf-ldapbis-url-xx.txt
Add note about syncrepl Persist retries
[openldap] / doc / drafts / draft-ietf-ldapbis-url-xx.txt
1
2
3 Network Working Group                                Mark Smith, Editor
4 Request for Comments: DRAFT                         Pearl Crescent, LLC
5 Obsoletes: RFC 2255                                           Tim Howes
6 Expires: 13 August 2004                                   Opsware, Inc.
7
8                                                        13 February 2004
9
10
11                      LDAP: Uniform Resource Locator
12                     <draft-ietf-ldapbis-url-05.txt>
13
14
15
16 1.  Status of this Memo
17
18    This document is an Internet-Draft and is subject to all provisions
19    of Section 10 of RFC2026.
20
21    Internet-Drafts are working documents of the Internet Engineering
22    Task Force (IETF), its areas, and its working groups.  Note that
23    other groups may also distribute working documents as Internet-
24    Drafts.
25
26    Internet-Drafts are draft documents valid for a maximum of six months
27    and may be updated, replaced, or obsoleted by other documents at any
28    time.  It is inappropriate to use Internet- Drafts as reference
29    material or to cite them other than as "work in progress."
30
31    The list of current Internet-Drafts can be accessed at
32    http://www.ietf.org/1id-abstracts.html
33
34    The list of Internet-Draft Shadow Directories can be accessed at
35    http://www.ietf.org/shadow.html
36
37    Discussion of this document should take place on the LDAP (v3)
38    Revision (ldapbis) Working Group mailing list <ietf-
39    ldapbis@openldap.org>.
40
41 Copyright (C) The Internet Society (2004).  All Rights Reserved.
42
43 2.  Abstract
44
45    This document describes a format for an LDAP Uniform Resource Locator
46    (URL).  An LDAP URL describes an LDAP search operation that is used
47    to retrieve information from an LDAP directory, or, in the context of
48    an LDAPv3 referral or reference, an LDAP URL describes a service
49    where an LDAP operation may be progressed.
50
51
52
53
54 Smith & Howes      Intended Category: Standards Track           [Page 1]
55 \f
56 INTERNET-DRAFT       LDAP: Uniform Resource Locator     13 February 2004
57
58
59 3.  Table of Contents
60
61 1.     Status of this Memo............................................1
62 2.     Abstract.......................................................1
63 3.     Table of Contents..............................................2
64 4.     Introduction...................................................2
65 5.     URL Definition.................................................3
66 5.1.      Escaping Using the % Method.................................4
67 6.     Defaults for Fields of the LDAP URL............................5
68 7.     Examples.......................................................5
69 8.     Security Considerations........................................7
70 9.     Normative References...........................................8
71 10.    Informative References.........................................9
72 11.    Intellectual Property Rights...................................9
73 12.    Acknowledgements...............................................10
74 13.    Authors' Addresses.............................................10
75 14.    Full Copyright Statement.......................................11
76 15.    Appendix A: Changes Since RFC 2255.............................11
77 15.1.     Technical Changes...........................................11
78 15.2.     Editorial Changes...........................................12
79 16.    Appendix B: Changes Since Previous Document Revision...........13
80 16.1.     Technical Changes...........................................14
81 16.2.     Editorial Changes...........................................14
82
83 4.  Introduction
84
85    LDAP is the Lightweight Directory Access Protocol, defined in
86    [Protocol].  This document specifies the LDAP URL format for version
87    3 of LDAP and clarifies how LDAP URLs are resolved. This document
88    also defines an extension mechanism for LDAP URLs, so that future
89    documents can extend their functionality, for example, to provide
90    access to new LDAPv3 extensions as they are defined.  Note:  not all
91    of the parameters of the LDAP search operation described in
92    [Protocol] can be expressed using the format defined in this
93    document.
94
95    This document is an integral part of the LDAP Technical Specification
96    [Roadmap].
97
98    This document replaces RFC 2255. See Appendix A for a list of changes
99    relative to RFC 2255.
100
101    The key words "MUST", "MAY", and "SHOULD" used in this document are
102    to be interpreted as described in [RFC2119].
103
104
105
106
107
108
109
110 Smith & Howes      Intended Category: Standards Track           [Page 2]
111 \f
112 INTERNET-DRAFT       LDAP: Uniform Resource Locator     13 February 2004
113
114
115 5.  URL Definition
116
117    An LDAP URL begins with the protocol prefix "ldap" and is defined by
118    the following grammar, following the ABNF notation defined in
119    [RFC2234].
120
121        ldapurl     = scheme COLON SLASH SLASH [hostport] [SLASH dn
122                      [QUESTION [attributes] [QUESTION [scope]
123                      [QUESTION [filter] [QUESTION extensions]]]]]
124        scheme      = "ldap"
125        hostport    = <hostport from Section 3.2.2 of [RFC2396]>
126                        ; as updated by [RFC2732] to allow IPv6 literal addresses
127        dn          = <distinguishedName from Section 3 of [LDAPDN]>
128                        ; see the "Escaping Using the % Method" section below.
129        attributes  = attrdesc *(COMMA attrdesc)
130        attrdesc    = <AttributeDescription from Section 4.1.4 of [Protocol]>
131                      / ASTERISK
132                        ; see the "Escaping Using the % Method" section below.
133        scope       = "base" / "one" / "sub"
134        filter      = <filter from Section 4 of [Filters]>
135                        ; see the "Escaping Using the % Method" section below.
136        extensions  = extension *(COMMA extension)
137        extension   = [EXCLAMATION] extype [EQUALS exvalue]
138        extype      = oid / oiddescr
139        exvalue     = <LDAPString from section 4.1.2 of [Protocol]>
140                        ; see the "Escaping Using the % Method" section below.
141        oid         = <LDAPOID from section 4.1.2 of [Protocol]>
142        oiddescr    = <name from section 3.3 of [LDAPIANA]>
143
144        EXCLAMATION = %x21 ; exclamation mark ("!")
145        ASTERISK    = %x2A ; asterisk ("*")
146        COLON       = %x3A ; colon (":")
147        QUESTION    = %x3F ; question mark ("?")
148        SLASH       = %x5C; forward slash ("/")
149
150
151    The "ldap" prefix indicates an entry or entries residing in the LDAP
152    server running on the given hostname at the given portnumber.  Note
153    that the hostport may contain literal IPv6 addresses as specified in
154    [RFC2732].
155
156    The dn is an LDAP Distinguished Name using the string format
157    described in [LDAPDN]. It identifies the base object of the LDAP
158    search or the target of a non-search operation.
159
160    The attributes construct is used to indicate which attributes should
161    be returned from the entry or entries.  Individual attrdesc names are
162    as defined for AttributeDescription in [Protocol].
163
164
165
166 Smith & Howes      Intended Category: Standards Track           [Page 3]
167 \f
168 INTERNET-DRAFT       LDAP: Uniform Resource Locator     13 February 2004
169
170
171    The scope construct is used to specify the scope of the search to
172    perform in the given LDAP server.  The allowable scopes are "base"
173    for a base object search, "one" for a one-level search, or "sub" for
174    a subtree search.
175
176    The filter is used to specify the search filter to apply to entries
177    within the specified scope during the search.  It has the format
178    specified in [Filters].
179
180    The extensions construct provides the LDAP URL with an extensibility
181    mechanism, allowing the capabilities of the URL to be extended in the
182    future. Extensions are a simple comma-separated list of type=value
183    pairs, where the =value portion MAY be omitted for options not
184    requiring it. Each type=value pair is a separate extension. These
185    LDAP URL extensions are not necessarily related to any of the LDAPv3
186    extension mechanisms. Extensions may be supported or unsupported by
187    the client resolving the URL. An extension prefixed with a '!'
188    character (ASCII 33) is critical. An extension not prefixed with a
189    '!' character is non-critical.
190
191    If an LDAP URL extension is recognized by an implementation, the
192    implementation MUST make use of it.  If an extension is not
193    recognized and is marked critical, the implementation MUST NOT
194    process the URL.  If an extension is not recognized and it not marked
195    critical, the implementation MUST ignore the extension.
196
197    The extension type (extype) MAY be specified using the oid form
198    (e.g., 1.2.3.4) or the oiddesc form (e.g., myLDAPURLExtension).  Use
199    of the oiddesc form SHOULD be restricted to registered object
200    identifier descriptive names.  See [LDAPIANA] for registration
201    details and usage guidelines for descriptive names.
202
203    No LDAP URL extensions are defined in this document.  Other documents
204    or a future version of this document MAY define one or more
205    extensions.
206
207 5.1.  Escaping Using the % Method
208
209    A generated LDAP URL MUST consist only of the restricted set of
210    characters included in the uric production that is defined in section
211    2 of [RFC2396].  Implementations SHOULD accept other valid UTF-8
212    strings [RFC3629] as input.  An octet MUST be escaped using the %
213    method described in section 2.4 of [RFC2396] in any of these
214    situations:
215
216       The octet is not in the reserved set defined in section 2.2 of
217       [RFC2396] or in the unreserved set defined in section 2.3 of
218       [RFC2396].
219
220
221
222 Smith & Howes      Intended Category: Standards Track           [Page 4]
223 \f
224 INTERNET-DRAFT       LDAP: Uniform Resource Locator     13 February 2004
225
226
227       It is the single Reserved character '?' and occurs inside a dn,
228       filter, or other element of an LDAP URL.
229
230       It is a comma character ',' that occurs inside an extension value.
231
232 6.  Defaults for Fields of the LDAP URL
233
234    Some fields of the LDAP URL are optional, as described above.  In the
235    absence of any other specification, the following general defaults
236    SHOULD be used when a field is absent.  Note:  other documents MAY
237    specify different defaulting rules; for example, section 4.1.10 of
238    [Protocol] specifies a different rule for determining the correct DN
239    to use when it is absent in an LDAP URL that is returned as a
240    referral.
241
242    hostport
243       The default LDAP port is TCP port 389. If no hostport is given,
244       the client must have some apriori knowledge of an appropriate LDAP
245       server to contact.
246
247    dn
248       If no dn is given, the default is the zero-length DN, "".
249
250    attributes
251       If the attributes part is omitted, all user attributes of the
252       entry or entries should be requested (e.g., by setting the
253       attributes field AttributeDescriptionList in the LDAP search
254       request to a NULL list, or (in LDAPv3) by requesting the special
255       attribute name "*").
256
257    scope
258       If scope is omitted, a scope of "base" is assumed.
259
260    filter
261       If filter is omitted, a filter of "(objectClass=*)" is assumed.
262
263    extensions
264       If extensions is omitted, no extensions are assumed.
265
266
267 7.  Examples
268
269    The following are some example LDAP URLs using the format defined
270    above.  The first example is an LDAP URL referring to the University
271    of Michigan entry, available from an LDAP server of the client's
272    choosing:
273
274
275
276
277
278 Smith & Howes      Intended Category: Standards Track           [Page 5]
279 \f
280 INTERNET-DRAFT       LDAP: Uniform Resource Locator     13 February 2004
281
282
283      ldap:///o=University%20of%20Michigan,c=US
284
285    The next example is an LDAP URL referring to the University of
286    Michigan entry in a particular ldap server:
287
288      ldap://ldap1.example.net/o=University%20of%20Michigan,c=US
289
290    Both of these URLs correspond to a base object search of the
291    "o=University of Michigan,c=US" entry using a filter of
292    "(objectclass=*)", requesting all attributes.
293
294    The next example is an LDAP URL referring to only the postalAddress
295    attribute of the University of Michigan entry:
296
297      ldap://ldap1.example.net/o=University%20of%20Michigan,
298             c=US?postalAddress
299
300    The corresponding LDAP search operation is the same as in the
301    previous example, except that only the postalAddress attribute is
302    requested.
303
304    The next example is an LDAP URL referring to the set of entries found
305    by querying the given LDAP server on port 6666 and doing a subtree
306    search of the University of Michigan for any entry with a common name
307    of "Babs Jensen", retrieving all attributes:
308
309      ldap://ldap1.example.net:6666/o=University%20of%20Michigan,
310             c=US??sub?(cn=Babs%20Jensen)
311
312    The next example is an LDAP URL referring to all children of the c=GB
313    entry:
314
315      ldap://ldap1.example.com/c=GB?objectClass?one
316
317    The objectClass attribute is requested to be returned along with the
318    entries, and the default filter of "(objectclass=*)" is used.
319
320    The next example is an LDAP URL to retrieve the mail attribute for
321    the LDAP entry named "o=Question?,c=US" is given below, illustrating
322    the use of the escaping mechanism on the reserved character '?'.
323
324      ldap://ldap2.example.com/o=Question%3f,c=US?mail
325
326    The next example (which is broken into two lines for readability)
327    illustrates the interaction between the LDAP string representation of
328    filters quoting mechanism and URL quoting mechanisms.
329
330
331
332
333
334 Smith & Howes      Intended Category: Standards Track           [Page 6]
335 \f
336 INTERNET-DRAFT       LDAP: Uniform Resource Locator     13 February 2004
337
338
339      ldap://ldap3.example.com/o=Babsco,c=US
340              ???(four-octet=%5c00%5c00%5c00%5c04)
341
342    The filter in this example uses the LDAP escaping mechanism of \ to
343    encode three zero or null bytes in the value. In LDAP, the filter
344    would be written as (four-octet=\00\00\00\04). Because the \
345    character must be escaped in a URL, the \'s are escaped as %5c in the
346    URL encoding.
347
348    The next example illustrates the interaction between the LDAP string
349    representation of DNs quoting mechanism and URL quoting mechanisms.
350
351      ldap://ldap.example.com/o=An%20Example%5c2c%20Inc.,c=US
352
353    The DN encoded in the above URL is:
354
355      o=An Example\2c Inc.,c=US
356
357    That is, the left-most RDN value is:
358
359      An Example, Inc.
360
361    The following three URLs that are equivalent, assuming that the
362    defaulting rules specified in section 4 of this document are used:
363
364      ldap://ldap.example.net
365      ldap://ldap.example.net/
366      ldap://ldap.example.net/?
367
368    These three URLs all point to the root DSE on the ldap.example.net
369    server.
370
371 The final two examples show use of a hypothetical, experimental bind
372 name extension (the value associated with the extension is an LDAP DN).
373
374      ldap:///??sub??e-bindname=cn=Manager%2cdc=example%2cdc=com
375      ldap:///??sub??!e-bindname=cn=Manager%2cdc=example%2cdc=com
376
377    The two URLs are the same, except that the second one marks the e-
378    bindname extension as critical. Notice the use of the % encoding
379    method to encode the commas within the distinguished name value in
380    the e-bindname extension.
381
382
383 8.  Security Considerations
384
385    General URL security considerations discussed in [RFC2396] are
386    relevant for LDAP URLs.
387
388
389
390 Smith & Howes      Intended Category: Standards Track           [Page 7]
391 \f
392 INTERNET-DRAFT       LDAP: Uniform Resource Locator     13 February 2004
393
394
395    The use of security mechanisms when processing LDAP URLs requires
396    particular care, since clients may encounter many different servers
397    via URLs, and since URLs are likely to be processed automatically,
398    without user intervention. A client SHOULD have a user-configurable
399    policy about which servers to connect to using which security
400    mechanisms, and SHOULD NOT make connections that are inconsistent
401    with this policy.  If a client chooses to reuse an existing
402    connection when resolving one or more LDAP URL, it MUST ensure that
403    the connection is compatible with the URL and that no security
404    policies are violated.
405
406    Sending authentication information, no matter the mechanism, may
407    violate a user's privacy requirements.  In the absence of specific
408    policy permitting authentication information to be sent to a server,
409    a client should use an anonymous connection.  (Note that clients
410    conforming to previous LDAP URL specifications, where all connections
411    are anonymous and unprotected, are consistent with this
412    specification; they simply have the default security policy.)  Simply
413    opening a connection to another server may violate some users'
414    privacy requirements, so clients should provide the user with a way
415    to control URL processing.
416
417    Some authentication methods, in particular reusable passwords sent to
418    the server, may reveal easily-abused information to the remote server
419    or to eavesdroppers in transit, and should not be used in URL
420    processing unless explicitly permitted by policy.  Confirmation by
421    the human user of the use of authentication information is
422    appropriate in many circumstances.  Use of strong authentication
423    methods that do not reveal sensitive information is much preferred.
424    If the URL represents a referral for an update operation, strong
425    authentication methods SHOULD be used.  Please refer to the Security
426    Considerations section of [AuthMeth] for more information.
427
428    The LDAP URL format allows the specification of an arbitrary LDAP
429    search operation to be performed when evaluating the LDAP URL.
430    Following an LDAP URL may cause unexpected results, for example, the
431    retrieval of large amounts of data, the initiation of a long-lived
432    search, etc.  The security implications of resolving an LDAP URL are
433    the same as those of resolving an LDAP search query.
434
435 9.  Normative References
436
437 [AuthMeth]  Harrison, R. (editor), "LDAP: Authentication Methods",
438             draft-ietf-ldapbis-authmeth-xx.txt, a work in progress.  a
439             work in progress.
440
441 [LDAPDN]    Zeilenga, K. (editor), "LDAP: String Representation of
442             Distinguished Names", draft-ietf-ldapbis-dn-xx.txt, a work
443
444
445
446 Smith & Howes      Intended Category: Standards Track           [Page 8]
447 \f
448 INTERNET-DRAFT       LDAP: Uniform Resource Locator     13 February 2004
449
450
451             in progress.
452
453 [Filters]   Smith, M. and Howes, T., "LDAP: String Representation of
454             Search Filters", draft-ietf-ldapbis-filter-xx.txt, a work in
455             progress.
456
457 [LDAPIANA]  Zeilenga, K., "IANA Considerations for LDAP", draft-ietf-
458             ldapbis-bcp64-xx.txt, a work in progress.
459
460 [RFC2119]   Bradner, S., "Key Words for use in RFCs to Indicate
461             Requirement Levels," RFC 2119, BCP 14, March 1997.
462
463 [Protocol]  Sermersheim, J. (editor), "LDAP: The Protocol", draft-ietf-
464             ldapbis-protocol-xx.txt, a work in progress.
465
466 [RFC2234]   Crocker, D., Overell, P., "Augmented BNF for Syntax
467             Specifications: ABNF", RFC 2234, November 1997.
468
469 [RFC2396]   Berners-Lee, T., Fielding, R., and Masinter, L., "Uniform
470             Resource Identifiers (URI): Generic Syntax", RFC 2396,
471             August 1998.
472
473 [RFC2732]   Hinden, R., Carpenter, B., Masinter, L., "Format for Literal
474             IPv6 Addresses in URL's", RFC 2732, December 1999.
475
476 [Roadmap]   K. Zeilenga (editor), "LDAP: Technical Specification Road
477             Map", draft-ietf-ldapbis-roadmap-xx.txt, a work in progress.
478
479 [RFC3629]   Yergeau, F., "UTF-8, a transformation format of ISO 10646",
480             RFC 3629, November 2003.
481
482 10.  Informative References
483
484    None.
485
486 11.  Intellectual Property Rights
487
488    The IETF takes no position regarding the validity or scope of any
489    intellectual property or other rights that might be claimed to
490    pertain to the implementation or use of the technology described in
491    this document or the extent to which any license under such rights
492    might or might not be available; neither does it represent that it
493    has made any effort to identify any such rights.  Information on the
494    IETF's procedures with respect to rights in standards-track and
495    standards-related documentation can be found in BCP-11.  Copies of
496    claims of rights made available for publication and any assurances of
497    licenses to be made available, or the result of an attempt made to
498    obtain a general license or permission for the use of such
499
500
501
502 Smith & Howes      Intended Category: Standards Track           [Page 9]
503 \f
504 INTERNET-DRAFT       LDAP: Uniform Resource Locator     13 February 2004
505
506
507    proprietary rights by implementors or users of this specification can
508    be obtained from the IETF Secretariat.
509
510    The IETF invites any interested party to bring to its attention any
511    copyrights, patents or patent applications, or other proprietary
512    rights which may cover technology that may be required to practice
513    this standard.  Please address the information to the IETF Executive
514    Director.
515
516 12.  Acknowledgements
517
518    The LDAP URL format was originally defined at the University of
519    Michigan. This material is based upon work supported by the National
520    Science Foundation under Grant No. NCR-9416667. The support of both
521    the University of Michigan and the National Science Foundation is
522    gratefully acknowledged.
523
524    This document is an update to RFC 2255 by Tim Howes and Mark Smith.
525    Changes included in this revised specification are based upon
526    discussions among the authors, discussions within the LDAP (v3)
527    Revision Working Group (ldapbis), and discussions within other IETF
528    Working Groups.  The contributions of individuals in these working
529    groups is gratefully acknowledged.  Several people in particular have
530    made valuable comments on this document; RL "Bob" Morgan, Mark Wahl,
531    Kurt Zeilenga, Jim Sermersheim, and Hallvard Furuseth deserve special
532    thanks for their contributions.
533
534 13.  Authors' Addresses
535
536    Mark Smith, Editor
537    Pearl Crescent, LLC
538    447 Marlpool Dr.
539    Saline, MI 48176
540    USA
541    +1 734 944-2856
542    mcs@pearlcrescent.com
543
544    Tim Howes
545    Opsware, Inc.
546    599 N. Mathilda Ave.
547    Sunnyvale, CA 94085
548    USA
549    +1 408 744-7509
550    howes@opsware.com
551
552
553
554
555
556
557
558 Smith & Howes      Intended Category: Standards Track          [Page 10]
559 \f
560 INTERNET-DRAFT       LDAP: Uniform Resource Locator     13 February 2004
561
562
563 14.  Full Copyright Statement
564
565    Copyright (C) The Internet Society (2004).  All Rights Reserved.
566
567    This document and translations of it may be copied and furnished to
568    others, and derivative works that comment on or otherwise explain it
569    or assist in its implementation may be prepared, copied, published
570    and distributed, in whole or in part, without restriction of any
571    kind, provided that the above copyright notice and this paragraph are
572    included on all such copies and derivative works.  However, this
573    document itself may not be modified in any way, such as by removing
574    the copyright notice or references to the Internet Society or other
575    Internet organizations, except as needed for the purpose of
576    developing Internet standards in which case the procedures for
577    copyrights defined in the Internet Standards process must be
578    followed, or as required to translate it into languages other than
579    English.
580
581    The limited permissions granted above are perpetual and will not be
582    revoked by the Internet Society or its successors or assigns.
583
584    This document and the information contained herein is provided on an
585    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
586    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
587    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
588    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
589    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
590
591 15.  Appendix A: Changes Since RFC 2255
592
593 15.1.  Technical Changes
594
595    The following technical changes were made to the contents of the "URL
596    Definition" section:
597
598    Revised all of the ABNF to use common productions from [Models].
599
600    Added note and references to [RFC2732] to allow literal IPv6
601    addresses inside the hostport portion of the URL.
602
603    Added missing ASTERISK as an alternative for the attrdesc part of the
604    URL.  It is believed that existing implementations of RFC 2255
605    already support this.
606
607    Added angle brackets around free-form prose in the "dn", "hostport",
608    "attrdesc", "filter", and "exvalue" rules.
609
610
611
612
613
614 Smith & Howes      Intended Category: Standards Track          [Page 11]
615 \f
616 INTERNET-DRAFT       LDAP: Uniform Resource Locator     13 February 2004
617
618
619    Changed the ABNF for ldapurl to group the dn component with the
620    preceding slash.
621
622    Changed the extype rule to be an LDAPOID from [Protocol] or an OID
623    description from [LDAPIANA].
624
625    Changed the text about extension types so it references [LDAPIANA].
626    Reordered rules to more closely follow the order the elements appear
627    in the URL.
628
629    "Bindname Extension": removed due to lack of known implementations.
630
631
632 15.2.  Editorial Changes
633
634    Changed document title to include "LDAP:" prefix.
635
636    IESG Note: removed note about lack of satisfactory mandatory
637    authentication mechanisms.
638
639    "Status of this Memo" section: updated boilerplate to match current
640    I-D guidelines.
641
642    "Abstract" section: separated from introductory material.
643
644    "Table of Contents" section: added.
645
646    "Introduction" section: new section; separated from the Abstract.
647    Changed the text indicate that RFC 2255 is replaced by this document
648    (instead of RFC 1959).  Added text to indicate that LDAP URLs are
649    used for references and referrals.  Fixed typo (replaced the nonsense
650    phrase "to perform to retrieve" with "used to retrieve").  Added a
651    note to let the reader know that not all of the parameters of the
652    LDAP search operation described in [Protocol] can be expressed using
653    this format.
654
655    "URL Definition" section: removed second copy of ldapurl grammar and
656    following two paragraphs (editorial error in RFC 2255).  Fixed line
657    break within '!' sequence.  Reworded last paragraph to clarify which
658    characters must be URL escaped.   Added text to indicate that LDAP
659    URLs are used for references and referrals.  Added text that refers
660    to the ABNF from RFC 2234.  Clarified and strengthened the
661    requirements with respect to processing of URLs that contain
662    recognized and unrecognized extensions (the approach now matches that
663    specified in [Protocol] for LDAP controls).
664
665    "Defaults for Fields of the LDAP URL" section: added; formed by
666    moving text about defaults out of the "URL Definition" section.
667
668
669
670 Smith & Howes      Intended Category: Standards Track          [Page 12]
671 \f
672 INTERNET-DRAFT       LDAP: Uniform Resource Locator     13 February 2004
673
674
675    "URL Processing" section: clarified that connections MAY be reused
676    only if the open connection is compatible with the URL.  Added text
677    to indicate that use of security services is encouraged and that they
678    SHOULD be used when updates are involved.  Removed "dn" from
679    discussion of authentication methods.  Added note that the client MAY
680    interrogate the server to determine the most appropriate method.
681
682    "Examples" section: Modified examples to use example.com and
683    example.net hostnames.  Added missing '?' to the LDAP URL example
684    whose filter contains three null bytes.  Removed space after one
685    comma within a DN.  Revised the bindname example to use e-bindname.
686    Changed the name of an attribute used in one example from "int" to
687    "four-octet" to avoid potential confusion.  Added an example that
688    demonstrates the interaction between DN escaping and URL escaping.
689    Added some examples to show URL equivalence with respect to the dn
690    portion of the URL.
691
692    "Security Considerations" section: Added a note about connection
693    reuse.  Added a note about using strong authentication methods for
694    updates.  Added a reference to [AuthMeth].  Added note that simply
695    opening a connection may violate some users' privacy requirements.
696
697    "Acknowledgements" section: added statement about this being an
698    update to RFC 2255.  Added Kurt Zeilenga, Jim Sermersheim, and
699    Hallvard Furuseth.
700
701    "Normative References" section: renamed from "References" per new RFC
702    guidelines. Changed from [1] style to [Protocol] style throughout the
703    document.  Added references to RFC 2234, RFC 2732, and RFC 3629.
704    Updated all RFC 1738 references to point to the appropriate sections
705    within RFC 2396.  Updated the LDAP references to refer to LDAPBis WG
706    documents.  Removed the reference to the LDAP Attribute Syntaxes
707    document and added references to the [AuthMeth], [LDAPIANA], and
708    [Roadmap] documents.
709
710    "Informative References" section: added for clarity.
711
712    Header and "Authors' Addresses" sections: added "editor" next to Mark
713    Smith's name.  Updated affiliation and contact information.
714
715    Copyright: updated the year.
716
717
718 16.  Appendix B: Changes Since Previous Document Revision
719
720    This appendix lists all changes relative to the previously published
721    revision, draft-ietf-ldapbis-url-04.txt.  Note that when appropriate
722    these changes are also included in Appendix A, but are also included
723
724
725
726 Smith & Howes      Intended Category: Standards Track          [Page 13]
727 \f
728 INTERNET-DRAFT       LDAP: Uniform Resource Locator     13 February 2004
729
730
731    here for the benefit of the people who have already reviewed draft-
732    ietf-ldapbis-url-04.txt. This section will be removed before this
733    document is published as an RFC.
734
735
736 16.1.  Technical Changes
737
738    Clarified and strengthened the requirements with respect to
739    processing of URLs that contain recognized and unrecognized
740    extensions (the approach now matches that specified in [Protocol] for
741    LDAP controls).
742
743
744 16.2.  Editorial Changes
745
746    "URL Definition" section: corrected a section reference to
747    [Protocol].
748
749    "Examples" section: improved formatting and fixed a typographic error
750    (removed extraneous "IP") in the "four-octet" example.
751
752    "Normative References" section: changed the UTF-8 reference to point
753    to RFC 3629, changed the RFC 3383 reference to point to the LDAP IANA
754    Internet Draft, and indented the reference descriptions to enhance
755    readability.
756
757    Authors' Addresses section: New contact information for Mark Smith.
758
759    Updated the copyright year to 2004.
760
761
762 This Internet Draft expires on 13 August 2004.
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782 Smith & Howes      Intended Category: Standards Track          [Page 14]
783 \f
784