--- 1/draft-ietf-webdav-bind-09.txt 2006-02-05 02:10:35.000000000 +0100 +++ 2/draft-ietf-webdav-bind-10.txt 2006-02-05 02:10:35.000000000 +0100 @@ -1,24 +1,24 @@ Network Working Group G. Clemm Internet-Draft IBM Updates: 2518 (if approved) J. Crawford -Expires: June 9, 2005 IBM Research +Expires: July 6, 2005 IBM Research J. Reschke greenbytes J. Whitehead U.C. Santa Cruz - December 9, 2004 + January 5, 2005 Binding Extensions to Web Distributed Authoring and Versioning (WebDAV) - draft-ietf-webdav-bind-09 + draft-ietf-webdav-bind-10 Status of this Memo This document is an Internet-Draft and is subject to all provisions of section 3 of RFC 3667. 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. @@ -31,25 +31,25 @@ and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt. The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. - This Internet-Draft will expire on June 9, 2005. + This Internet-Draft will expire on July 6, 2005. Copyright Notice - Copyright (C) The Internet Society (2004). + Copyright (C) The Internet Society (2005). Abstract This specification defines bindings, and the BIND method for creating multiple bindings to the same resource. Creating a new binding to a resource causes at least one new URI to be mapped to that resource. Servers are required to insure the integrity of any bindings that they allow to be created. Editorial Note (To be removed by RFC Editor before publication) @@ -74,81 +74,77 @@ 2.1 Bindings to Collections . . . . . . . . . . . . . . . . . 9 2.1.1 Bind loops . . . . . . . . . . . . . . . . . . . . . . 10 2.2 URI Mappings Created by a new Binding . . . . . . . . . . 10 2.3 COPY and Bindings . . . . . . . . . . . . . . . . . . . . 11 2.3.1 Example: COPY with 'Depth: infinity' in presence of bind loops . . . . . . . . . . . . . . . . . . . . 12 2.3.2 Example: COPY with 'Depth: infinity' with multiple bindings to a leaf resource . . . . . . . . . . . . . 14 2.4 DELETE and Bindings . . . . . . . . . . . . . . . . . . . 15 2.5 MOVE and Bindings . . . . . . . . . . . . . . . . . . . . 15 - 2.6 Determining Whether Two Bindings Are to the Same + 2.6 PROPFIND and Bindings . . . . . . . . . . . . . . . . . . 16 + 2.7 Determining Whether Two Bindings Are to the Same Resource . . . . . . . . . . . . . . . . . . . . . . . . . 16 - 2.7 Discovering the Bindings to a Resource . . . . . . . . . . 17 + 2.8 Discovering the Bindings to a Resource . . . . . . . . . . 17 3. Properties . . . . . . . . . . . . . . . . . . . . . . . . . . 17 - 3.1 DAV:resource-id Property . . . . . . . . . . . . . . . . . 17 + 3.1 DAV:resource-id Property . . . . . . . . . . . . . . . . . 18 3.2 DAV:parent-set Property . . . . . . . . . . . . . . . . . 18 3.2.1 Example for DAV:parent-set property . . . . . . . . . 18 4. BIND Method . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.1 Example: BIND . . . . . . . . . . . . . . . . . . . . . . 22 5. UNBIND Method . . . . . . . . . . . . . . . . . . . . . . . . 22 5.1 Example: UNBIND . . . . . . . . . . . . . . . . . . . . . 24 6. REBIND Method . . . . . . . . . . . . . . . . . . . . . . . . 24 6.1 Example: REBIND . . . . . . . . . . . . . . . . . . . . . 26 - 7. Additional Status Codes . . . . . . . . . . . . . . . . . . . 27 - 7.1 208 Already Reported . . . . . . . . . . . . . . . . . . . 27 - 7.1.1 Example: PROPFIND by bind-aware client . . . . . . . . 27 - 7.1.2 Example: PROPFIND by non-bind-aware client . . . . . . 29 - 7.2 506 Loop Detected . . . . . . . . . . . . . . . . . . . . 29 - 8. Capability discovery . . . . . . . . . . . . . . . . . . . . . 30 - 8.1 OPTIONS method . . . . . . . . . . . . . . . . . . . . . . 30 - 8.2 'DAV' request header . . . . . . . . . . . . . . . . . . . 30 - 8.2.1 Generic syntax . . . . . . . . . . . . . . . . . . . . 30 - 8.2.2 Client compliance class 'bind' . . . . . . . . . . . . 30 - 9. Security Considerations . . . . . . . . . . . . . . . . . . . 30 - 9.1 Privacy Concerns . . . . . . . . . . . . . . . . . . . . . 31 - 9.2 Bind Loops . . . . . . . . . . . . . . . . . . . . . . . . 31 - 9.3 Bindings, and Denial of Service . . . . . . . . . . . . . 31 - 9.4 Private Locations May Be Revealed . . . . . . . . . . . . 31 - 9.5 DAV:parent-set and Denial of Service . . . . . . . . . . . 31 - 10. Internationalization Considerations . . . . . . . . . . . . 31 - 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . 32 - 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 32 - 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 32 - 13.1 Normative References . . . . . . . . . . . . . . . . . . . . 32 - 13.2 Informative References . . . . . . . . . . . . . . . . . . . 32 - Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 33 - A. Change Log (to be removed by RFC Editor before publication) . 33 - A.1 Since draft-ietf-webdav-bind-02 . . . . . . . . . . . . . 33 - A.2 Since draft-ietf-webdav-bind-03 . . . . . . . . . . . . . 34 - A.3 Since draft-ietf-webdav-bind-04 . . . . . . . . . . . . . 34 - A.4 Since draft-ietf-webdav-bind-05 . . . . . . . . . . . . . 34 - A.5 Since draft-ietf-webdav-bind-06 . . . . . . . . . . . . . 34 - A.6 Since draft-ietf-webdav-bind-07 . . . . . . . . . . . . . 34 - A.7 Since draft-ietf-webdav-bind-08 . . . . . . . . . . . . . 34 + 6.2 Example: REBIND in presence of locks and bind loops . . . 27 + 7. Additional Status Codes . . . . . . . . . . . . . . . . . . . 29 + 7.1 208 Already Reported . . . . . . . . . . . . . . . . . . . 29 + 7.1.1 Example: PROPFIND by bind-aware client . . . . . . . . 30 + 7.1.2 Example: PROPFIND by non-bind-aware client . . . . . . 31 + 7.2 506 Loop Detected . . . . . . . . . . . . . . . . . . . . 32 + 8. Capability discovery . . . . . . . . . . . . . . . . . . . . . 32 + 8.1 OPTIONS method . . . . . . . . . . . . . . . . . . . . . . 32 + 8.2 'DAV' request header . . . . . . . . . . . . . . . . . . . 32 + 8.2.1 Generic syntax . . . . . . . . . . . . . . . . . . . . 32 + 8.2.2 Client compliance class 'bind' . . . . . . . . . . . . 33 + 9. Security Considerations . . . . . . . . . . . . . . . . . . . 33 + 9.1 Privacy Concerns . . . . . . . . . . . . . . . . . . . . . 33 + 9.2 Bind Loops . . . . . . . . . . . . . . . . . . . . . . . . 33 + 9.3 Bindings, and Denial of Service . . . . . . . . . . . . . 33 + 9.4 Private Locations May Be Revealed . . . . . . . . . . . . 34 + 9.5 DAV:parent-set and Denial of Service . . . . . . . . . . . 34 + 10. Internationalization Considerations . . . . . . . . . . . . 34 + 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . 34 + 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 34 + 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 35 + 13.1 Normative References . . . . . . . . . . . . . . . . . . . . 35 + 13.2 Informative References . . . . . . . . . . . . . . . . . . . 35 + Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 35 + A. Change Log (to be removed by RFC Editor before publication) . 36 + A.1 Since draft-ietf-webdav-bind-02 . . . . . . . . . . . . . 36 + A.2 Since draft-ietf-webdav-bind-03 . . . . . . . . . . . . . 36 + A.3 Since draft-ietf-webdav-bind-04 . . . . . . . . . . . . . 36 + A.4 Since draft-ietf-webdav-bind-05 . . . . . . . . . . . . . 37 + A.5 Since draft-ietf-webdav-bind-06 . . . . . . . . . . . . . 37 + A.6 Since draft-ietf-webdav-bind-07 . . . . . . . . . . . . . 37 + A.7 Since draft-ietf-webdav-bind-08 . . . . . . . . . . . . . 37 + A.8 Since draft-ietf-webdav-bind-09 . . . . . . . . . . . . . 37 B. Resolved issues (to be removed by RFC Editor before - publication) . . . . . . . . . . . . . . . . . . . . . . . . . 35 - B.1 2_allow_destroy . . . . . . . . . . . . . . . . . . . . . 35 - B.2 2.1_separate_loop_discussion . . . . . . . . . . . . . . . 35 - B.3 2.1.1_bind_loops_vs_locks . . . . . . . . . . . . . . . . 35 - B.4 2.3_copy_depth_infinity . . . . . . . . . . . . . . . . . 36 - B.5 2.3_copy_vs_loops . . . . . . . . . . . . . . . . . . . . 36 - B.6 2.3_copy_example . . . . . . . . . . . . . . . . . . . . . 37 - B.7 2.6_resource-id_vs_versions . . . . . . . . . . . . . . . 37 - B.8 3.2_example . . . . . . . . . . . . . . . . . . . . . . . 37 - B.9 atomicity . . . . . . . . . . . . . . . . . . . . . . . . 38 - B.10 6_rebind_intro . . . . . . . . . . . . . . . . . . . . . . 38 - B.11 6_rebind_premissions . . . . . . . . . . . . . . . . . . . 38 + publication) . . . . . . . . . . . . . . . . . . . . . . . . . 37 + B.1 uri_draft_ref . . . . . . . . . . . . . . . . . . . . . . 37 + B.2 2.6_bindings_vs_properties . . . . . . . . . . . . . . . . 38 + B.3 2.6_when_do_ids_change . . . . . . . . . . . . . . . . . . 38 + B.4 6.1_rebind_vs_locks . . . . . . . . . . . . . . . . . . . 38 C. Open issues (to be removed by RFC Editor prior to publication) . . . . . . . . . . . . . . . . . . . . . . . . . 39 C.1 edit . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 - C.2 2.6_when_do_ids_change . . . . . . . . . . . . . . . . . . 39 + C.2 3.1_uuids . . . . . . . . . . . . . . . . . . . . . . . . 39 Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 Intellectual Property and Copyright Statements . . . . . . . . 42 1. Introduction This specification extends the WebDAV Distributed Authoring Protocol to enable clients to create new access paths to existing resources. This capability is useful for several reasons: URIs of WebDAV-compliant resources are hierarchical and correspond to @@ -246,21 +242,21 @@ items that are not network retrievable, as well as those that are, it is possible for a resource to have zero, one, or many URI mappings. Mapping a resource to an "http" scheme URI makes it possible to submit HTTP protocol requests to the resource using the URI. Path Segment Informally, the characters found between slashes ("/") in a URI. Formally, as defined in section 3.3 of - [draft-fielding-rfc2396bis]. + [draft-fielding-uri-rfc2396bis]. Binding A relation between a single path segment (in a collection) and a resource. A binding is part of the state of a collection. If two different collections contain a binding between the same path segment and the same resource, these are two distinct bindings. So for a collection C, a path segment S, and a resource R, the binding can be thought of as C:(S -> R). Bindings create URI mappings, and hence allow requests to be sent to a single resource @@ -696,21 +692,27 @@ >> After Request: URI-1 URI-2 URI-X | | | | | | <---- URI Mappings | | | +---------------------+ | Resource R | +---------------------+ -2.6 Determining Whether Two Bindings Are to the Same Resource +2.6 PROPFIND and Bindings + + Consistent with [RFC2518] the value of a dead property MUST be, and + the value of a live property SHOULD be, independent of the number of + bindings to its host resource or of the path submitted to PROPFIND. + +2.7 Determining Whether Two Bindings Are to the Same Resource It is useful to have some way of determining whether two bindings are to the same resource. Two resources might have identical contents and properties, but not be the same resource (e.g. an update to one resource does not affect the other resource). The REQUIRED DAV:resource-id property defined in Section 3.1 is a resource identifier, which MUST be unique across all resources for all time. If the values of DAV:resource-id returned by PROPFIND requests through two bindings are identical character by character, @@ -729,21 +731,21 @@ CHECKIN (see [RFC3253], section 4.4) must assign a new, unique value to the DAV:resource-id property of the new resource they create. On the other hand, any method that affects an existing resource must not change the value of its DAV:resource-id property. Specifically, a PUT or a COPY that updates an existing resource must not change the value of its DAV:resource-id property. A REBIND, since it does not create a new resource, but only changes the location of an existing resource, must not change the value of the DAV:resource-id property. -2.7 Discovering the Bindings to a Resource +2.8 Discovering the Bindings to a Resource An OPTIONAL DAV:parent-set property on a resource provides a list of the bindings that associate a collection and a URI segment with that resource. If the DAV:parent-set property exists on a given resource, it MUST contain a complete list of all bindings to that resource that the client is authorized to see. When deciding whether to support the DAV:parent-set property, server implementers / administrators should balance the benefits it provides against the cost of maintaining the property and the security risks enumerated in Sections 9.4 and 9.5. @@ -780,21 +782,21 @@ resource in that collection. A given collection MUST appear only once in the DAV:parent-set for any given binding, even if there are multiple URI mappings to that collection. + [draft-fielding-uri-rfc2396bis] --> 3.2.1 Example for DAV:parent-set property For example, if collection C1 is mapped to both /CollX and /CollY, and C1 contains a binding named "x.gif" to a resource R1, then either [/CollX, x.gif] or [/CollY, x.gif] can appear in the DAV:parent-set of R1, but not both. But if C1 also had a binding named "y.gif" to R1, then there would be two entries for C1 in the DAV:binding-set of R1 (i.e. both [/CollX, x.gif] and [/CollX, y.gif] or, alternatively, both [/CollY, x.gif] and [/CollY, y.gif]). @@ -1154,20 +1156,114 @@ "http://www.example.com/CollX", associating "foo.html" with the resource identified by the URI "http://www.example.com/CollY/bar.html", and removes the binding named "bar.html" from the collection identified by the URI "http://www.example.com/CollY". Clients can now use the URI "http://www.example.com/CollX/foo.html" to submit requests to that resource, and requests on the URI "http://www.example.com/CollY/bar.html" will fail with a 404 (Not Found) response. +6.2 Example: REBIND in presence of locks and bind loops + + To illustrate the effects of locks and bind loops on a REBIND + operation, consider the following collection: + + +------------------+ + | Root Collection | + | bindings: | + | CollW | + +------------------+ + | + | + | + +-------------------------------+ + | Collection C1 |<--------+ + | LOCKED infinity | | + | (lock token L1) | | + | bindings: | | + | CollX CollY | | + +-------------------------------+ | + | | | + | | (creates loop) | + | | | + +-----------------+ +------------------+ | + | Collection C2 | | Collection C3 | | + | (inherit lock) | | (inherit lock) | | + | (lock token L1) | | (lock token L1) | | + | bindings: | | bindings: | | + | {none} | | y.gif CollZ | | + +-----------------+ +------------------+ | + | | | + | +-----+ + | + +---------------------------+ + | Resource R2 | + | (lock inherited from C1) | + | (lock token L1) | + +---------------------------+ + + (where L1 is "opaquelocktoken:f92d4fae-7012-11ab-a765-00c0ca1f6bf9"). + + Note that the binding between CollZ and C1 creates a loop in the + containment hierarchy. Servers are not required to support such + loops, though the server in this example does. + + The REBIND request below will remove the segment "CollZ" from C3 and + add a new binding from "CollA" to the collection C2. + + REBIND /CollW/CollX HTTP/1.1 + Host: www.example.com + If: () + Content-Type: text/xml; charset="utf-8" + Content-Length: xxx + + + + CollA + /CollW/CollY/CollZ + + The outcome of the REBIND operation is: + + +------------------+ + | Root Collection | + | bindings: | + | CollW | + +------------------+ + | + | + | + +-------------------------------+ + | Collection C1 | + | LOCKED infinity | + | (lock token L1) | + | bindings: | + | CollX CollY | + +-------------------------------+ + | ^ | + | | | + +-----------------+ | +------------------+ + | Collection C2 | | | Collection C3 | + |(inherited lock) | | | (inherited lock) | + |(lock token L1) | | | (lock token L1) | + | bindings: | | | bindings: | + | CollA | | | y.gif | + +-----------------+ | +------------------+ + | | | + +---------------+ | + (creates loop) | + +---------------------------+ + | Resource R2 | + | (inherited lock from C1) | + | (lock token L1) | + +---------------------------+ + 7. Additional Status Codes 7.1 208 Already Reported The 208 (Already Reported) status code can be used inside a DAV:propstat response element to avoid enumerating the internal members of multiple bindings to the same collection repeatedly. For each binding to a collection inside the request's scope, only one will be reported with a 200 status, while subsequent DAV:response elements for all other bindings will use the 208 status, and no @@ -1423,29 +1517,29 @@ [RFC2616] Fielding, R., Gettys, J., Mogul, J., Frystyk, H., Masinter, L., Leach, P. and T. Berners-Lee, "Hypertext Transfer Protocol -- HTTP/1.1", RFC 2616, June 1999. [XML] Bray, T., Paoli, J., Sperberg-McQueen, C., Maler, E. and F. Yergeau, "Extensible Markup Language (XML) 1.0 (Third Edition)", W3C REC-xml-20040204, February 2004, . - [draft-fielding-rfc2396bis] + [draft-fielding-uri-rfc2396bis] Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform - Resource Identifier (URI): Generic Syntax", ID - draft-fielding-rfc2396bis-07, September 2004. + Resource Identifier (URI): Generic Syntax", + draft-fielding-uri-rfc2396bis-07 (work in progress), + September 2004. 13.2 Informative References [RFC3253] Clemm, G., Amsden, J., Ellison, T., Kaler, C. and J. - Whitehead, "Versioning Extensions to WebDAV (Web Distributed Authoring and Versioning)", RFC 3253, March 2002. Authors' Addresses Geoffrey Clemm IBM 20 Maguire Road Lexington, MA 02421 @@ -1524,247 +1616,117 @@ Resolved editorial issues raised by Jim Whitehead in . Add and resolve issues "atomicity", "2_allow_destroy", "2.1_separate_loop_discussion", "2.1.1_bind_loops_vs_locks", "2.3_copy_depth_infinity", "2.3_copy_example", "2.3_copy_vs_loops", "2.6_resource-id_vs_versions", "3.2_example" and "6_rebind_premissions". Add issue "2.6_when_do_ids_change". Re-open and resolve "6_rebind_intro". +A.8 Since draft-ietf-webdav-bind-09 + + Add and resolve issue "6.1_rebind_vs_locks", adding proposed example + text. Add action item "3.1_uuids". Close issue + "2.6_when_do_ids_change". Add and resolve issues + "2.6_bindings_vs_properties" and "uri_draft_ref". + Appendix B. Resolved issues (to be removed by RFC Editor before publication) Issues that were either rejected or resolved in this version of this document. -B.1 2_allow_destroy - - Type: change - - - - ejw@cs.ucsc.edu (2004-11-29): The language here would preclude the - future definition of a DESTROY method which had the semantics of - removing the state of a resource from a server, irregardless of any - containment relationships that may hold it. Such a method could be - quite useful for records management functionality, in order to - implement a records disposition policy that specified deletion at a - certain time. My recommended tweak to the language of section 2 is - minor: add the following sentence to the end of the paragraph: "It is - permissible, however, for future method definitions (e.g., a DESTROY - method) to have semantics that remove all bindings and/or immediately - reclaim system resources." - - Resolution (2004-11-30): Agreed to add statement about methods that - explicitly have that semantics. - -B.2 2.1_separate_loop_discussion +B.1 uri_draft_ref Type: edit + julian.reschke@greenbytes.de (2005-01-01): Fix reference to + draft-fielding-uri-rfc2396bis-07 - - - ejw@cs.ucsc.edu (2004-11-29): I think it would be more clear to - separate out the discussion of loops and bindings, and make it a - separate section (say, 2.2) This issue comes up frequently enough - that it would be good to make it easy to find this issue in the TOC. - Also, a mention of the Already Reported status code would be good to - have here, since it also mentions 506. - - Resolution (2004-11-30): Agreed to move 1st paragraph into separate - subsection. - -B.3 2.1.1_bind_loops_vs_locks - - Type: change - - - ejw@cs.ucsc.edu (2004-12-03): ...The other is the semantics of the - lock operation in the presence of loopback bindings. I think the - handling of If headers is relatively straightforward. The semantics - of locking are not.... - - Resolution (2004-12-09): After some discussion, the working group - agreed that we don't want to define special semantics for - depth:infinity locks, thus the standard lock sematics apply (see - http://lists.w3.org/Archives/Public/w3c-dist-auth/2004OctDec/0271.htm - l). - -B.4 2.3_copy_depth_infinity - - Type: change - - - - ejw@cs.ucsc.edu (2004-11-29): This section doesn't clearly address - the semantics of COPY with Depth infinity. My recommendation is to - add, after paragraph 3, text like this: "As specified in [RFC2518], a - COPY with Depth infinity causes the collection resource to be - duplicated, all of its bound children to be duplicated, and their - children's bound children, and so on, to the bottom of the - containment hierarchy. All of the segments of the bindings of the - destination collection are the same as for the destination - collection. However, the destination resource for all bindings in - the destination collection are different from those of the source - collection, since all resources have been duplicated, creating new - resources with distinct DAV:resource-id properties." - - Resolution (2004-12-02): Example added. - -B.5 2.3_copy_vs_loops - - Type: change - - - - ejw@cs.ucsc.edu (2004-11-29): There should also be some text - addressing COPY depth infinity and loops -- in some instances during - a COPY with Depth infinity, the server really wants to recreate the - binding that causes the loop, rather than continuing to make - duplicate resources. This is somewhat addressed by the final - paragraph in Section 2.3, but not exactly. - - Resolution (2004-12-02): Can be closed after copy/depth:infinity - example was added (see - http://lists.w3.org/Archives/Public/w3c-dist-auth/2004OctDec/0181.htm - l). - -B.6 2.3_copy_example +B.2 2.6_bindings_vs_properties Type: change - - ejw@cs.ucsc.edu (2004-11-29): It might make sense to create an - example covering the situation described in the final paragraph of - Section 2.3. I'm not 100% sure I know what scenario this paragraph - addresses, other reading the spec. for the first time would - presumably have a tougher time. + ejw@cs.ucsc.edu (2004-12-06): I think it would be good to include the + following language in the bind specification: Note that, consistent + with [RFC2518], the value of a dead property is independent of the + number of bindings to its host resource, and of the path submitted to + PROPFIND. Since live properties can be aribtrary computational + processes, they MAY vary depending on path or number of bindings, but + SHOULD NOT do this unless the definition of the live property + explicitly includes this dependency. Here I avoided adding new + requirements in areas already covered by 2518, but did add + requirements for the new situation raised by the BIND specification. - Resolution (2004-12-02): Example added. + Resolution (2004-12-14): Add that statement (see + http://lists.w3.org/Archives/Public/w3c-dist-auth/2004OctDec/0299.htm + l and subsequent messages). -B.7 2.6_resource-id_vs_versions +B.3 2.6_when_do_ids_change Type: change - ejw@cs.ucsc.edu (2004-11-29): There needs to be some discussion on - the interactions of DAV:resource-id and versioning. As near as I can - tell, the intent is that every revision will have a unique - DAV:resource-id value. - - Resolution (2004-12-01): Mention in an example. - -B.8 3.2_example - - Type: change - - + ejw@cs.ucsc.edu (2004-11-29): Change "must not" to "MUST NOT" (and + eliminate the "For example" at the start of the sentence -- perhaps + change to "Specifically," - ejw@cs.ucsc.edu (2004-11-29): I think it would be helpful to have an - example of this property. I'd be happy to help develop such an - example. + julian.reschke@greenbytes.de (2004-11-30): Fix language, replace MOVE + by REBIND (because MOVE may be implemented as COPY/DELETE). Unclear + whether we need more changes. - Resolution (2004-11-30): Example added, including diagram. + Resolution (2004-12-13): Closed (see + http://lists.w3.org/Archives/Public/w3c-dist-auth/2004OctDec/0300.htm + l). -B.9 atomicity +B.4 6.1_rebind_vs_locks Type: change - - - - ejw@cs.ucsc.edu (2004-11-29): The intent of the BIND method is for - its behavior to be atomic. However, this is never actually stated - explicitly in the specification. Seems like it should be. - - Resolution (2004-11-30): Agreed. Steal text from RFC3253 (applies to - all method definitions). - -B.10 6_rebind_intro - - Type: edit - - - ejw@cs.ucsc.edu (2004-11-12): I'm reading through the BIND - specification, and the description of the REBIND method's operands is - a bit unclear to me. I'm assuming the intent is similar to BIND and - UNBIND, each of which clearly state in the first sentence what role - the Request-URI, segment, and href fields play. In my reading I just - jumped right into the spec. at this method (typical reference - reading pattern), and hence I didn't initially see the similarity - with the BIND and UNBIND method operands. - - Resolution (2004-12-02): Agreed and fixed (fixed again after it was - broken in -08). - -B.11 6_rebind_premissions - - Type: edit - - + ejw@cs.ucsc.edu (2004-12-09): (Request to add a REBIND example that + requires submitting a lock token) - ejw@cs.ucsc.edu (2004-12-03): I agree with Lisa that the access - control implications of REBIND should be made explicit. My - suggestion is to add the following language to Section 6. Change: - "It is effectively an atomic form of a MOVE request." To: "It is - effectively an atomic form of a MOVE request, and MUST be treated as - a MOVE for the purpose of determining access permissions (see RFC - 3744, Appendix B)." - Resolution (2004-12-03): Make that statement, but avoid the - unnecessary normative reference to RFC3744. + Resolution (2004-12-21): Example added. Appendix C. Open issues (to be removed by RFC Editor prior to publication) C.1 edit Type: edit julian.reschke@greenbytes.de (2004-05-30): Umbrella issue for editorial fixes/enhancements. -C.2 2.6_when_do_ids_change - - Type: change - - +C.2 3.1_uuids - ejw@cs.ucsc.edu (2004-11-29): Change "must not" to "MUST NOT" (and - eliminate the "For example" at the start of the sentence -- perhaps - change to "Specifically," + Type: edit - julian.reschke@greenbytes.de (2004-11-30): Fix language, replace MOVE - by REBIND (because MOVE may be implemented as COPY/DELETE). Unclear - whether we need more changes. + julian.reschke@greenbytes.de (2004-12-11): Action item: if + draft-mealling-uuid-urn gets accepted in time, consider referencing + it and using urn:uuid URIs instead of opaquelocktoken URIs. See IETF + I-D Tracker. Index 2 - 208 Already Reported (status code) 27 + 208 Already Reported (status code) 29 5 - 506 Loop Detected (status code) 29 + 506 Loop Detected (status code) 32 B BIND method 19 Binding 7 C Collection 7 Condition Names DAV:bind-into-collection (pre) 20 DAV:bind-source-exists (pre) 20 @@ -1782,66 +1744,66 @@ DAV:protected-source-url-deletion-allowed (pre) 26 DAV:protected-url-deletion-allowed (pre) 23 DAV:protected-url-modification-allowed (pre) 25 DAV:rebind-from-collection (pre) 25 DAV:rebind-source-exists (pre) 25 DAV:unbind-from-collection (pre) 23 DAV:unbind-source-exists (pre) 23 D DAV header - compliance class 'bind' 30 + compliance class 'bind' 32 DAV:bind-into-collection precondition 20 DAV:bind-source-exists precondition 20 DAV:binding-allowed precondition 20 DAV:binding-deleted postcondition 23, 26 DAV:can-overwrite precondition 21, 25 DAV:cross-server-binding precondition 21, 25 DAV:cycle-allowed precondition 21, 25 DAV:lock-deleted postcondition 23, 26 DAV:locked-overwrite-allowed precondition 21 DAV:locked-source-collection-update-allowed precondition 25 DAV:locked-update-allowed precondition 21, 23, 25 DAV:name-allowed precondition 21, 25 DAV:new-binding postcondition 21, 26 DAV:parent-set property 18 DAV:protected-source-url-deletion-allowed precondition 26 DAV:protected-url-deletion-allowed precondition 23 DAV:protected-url-modification-allowed precondition 25 DAV:rebind-from-collection precondition 25 DAV:rebind-source-exists precondition 25 - DAV:resource-id property 17 + DAV:resource-id property 18 DAV:unbind-from-collection precondition 23 DAV:unbind-source-exists precondition 23 I Internal Member URI 7 M Methods BIND 19 REBIND 24 UNBIND 22 P Path Segment 7 Properties DAV:parent-set 18 - DAV:resource-id 17 + DAV:resource-id 18 R REBIND method 24 S Status Codes - 208 Already Reported 27 - 506 Loop Detected 29 + 208 Already Reported 29 + 506 Loop Detected 32 U UNBIND method 22 URI Mapping 6 Intellectual Property Statement 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 @@ -1869,18 +1831,18 @@ 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. Copyright Statement - Copyright (C) The Internet Society (2004). This document is subject + Copyright (C) The Internet Society (2005). 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. Acknowledgment Funding for the RFC Editor function is currently provided by the Internet Society.