- From: Julian Reschke <julian.reschke@gmx.de>
- Date: Sun, 13 Dec 2009 16:30:45 +0100
- To: WebDAV <w3c-dist-auth@w3.org>
- CC: Alexey Melnikov <alexey.melnikov@isode.com>, Cullen Jennings <fluffy@cisco.com>, Lisa Dusseault <lisa.dusseault@gmail.com>
Julian Reschke wrote: > ... > 1) copying-complex-loops > (<http://greenbytes.de/tech/webdav/draft-ietf-webdav-bind-issues.html#issue.copying-complex-loops>) > ... This issue was raised by Robert Sparks during IESG review (<https://datatracker.ietf.org/idtracker/ballot/1025/>): -- snip -- The document provides some discussion of the ramifications of simple loops, but its not immediately obvious that the recommendations for handling them are sufficient for dealing with more complex loops. Are there additional issues introduced when each added level of depth adds an exponentially growing number of elements? (view in fixed width) +---------+ | root | | | | start | +---------+ | v +---------+ +---------+ +---->| C1 | | C2 |<---+ | +->| | | |<-+ | | | | a b | | a b | | | | | +---------+ +---------+ | | | | | | | | | | | | | | +----+ | | | | | | | | | | | | | | +----------c---+ | | | | | | | | | | | | | | +----------+ | | | | | | v v v v | | | | +---------+ +---------+ | | | | | C3 | | C4 | | | | | | | | | | | | | | a b | | a b | | | | | +---------+ +---------+ | | | | | | | | | | | +----+ | +----+ +-----+ | | | | | | +----------c-----------------+ | | +-----------------------+ -- snip -- We (the authors) have discussed this, and note that copying complex loops works exactly like copying simple loops, and thus adding another example isn't necessary. That being said, we have added an additional explanation, and a short statement about complex loops: -- snip -- 2.3.1. Example: COPY with 'Depth: infinity' in Presence of Bind Loops As an example of how COPY with Depth infinity would work in the presence of bindings, consider the following collection: +------------------+ | Root Collection | | bindings: | | CollX | +------------------+ | | +-------------------------------+ | Collection C1 |<-------+ | bindings: | | | x.gif CollY | | +-------------------------------+ | | \ (creates loop) | | \ | +-------------+ +------------------+ | | Resource R1 | | Collection C2 | | +-------------+ | bindings: | | | y.gif CollZ | | +------------------+ | | | | | +--------+ | +-------------+ | Resource R2 | +-------------+ If a COPY with Depth infinity is submitted to /CollX, with destination of /CollA, the outcome of the copy operation is that a * copy of the tree is replicated to the target /CollA: *************************************************** +------------------+ | Root Collection | | bindings: | | CollX CollA | +------------------+ | | | +---------------------------+ | | +-------------------+ | | Collection C1 |<------------------+ | | bindings: | | | | x.gif CollY | | | +-------------------+ | | | \ (creates loop) | | | \ | | +-------------+ +-----------------+ | | | Resource R1 | | Collection C2 | | | +-------------+ | bindings: | | | | y.gif CollZ | | | +-----------------+ | | | | | | | +-------+ | | | +-------------+ | | Resource R2 | | +-------------+ | | +-------------------------------+ | +-------------------+ | Collection C3 |<------------------+ | bindings: | | | x.gif CollY | | +-------------------+ | | \ (creates loop) | | \ | +-------------+ +-----------------+ | | Resource R3 | | Collection C4 | | +-------------+ | bindings: | | | y.gif CollZ | | +-----------------+ | | | | | +-------+ | +-------------+ | Resource R4 | +-------------+ Note that the same would apply for more complex loops. ****************************************************** -- snip -- (new bits marked with "*" characters). We hope that this addresses this comment. Note a new draft has not yet been submitted, for now the changes can be seen in context at <http://greenbytes.de/tech/webdav/draft-ietf-webdav-bind-latest.html#rfc.issue.copying-complex-loops> and <http://greenbytes.de/tech/webdav/draft-ietf-webdav-bind-latest-from-previous.diff.html>. Best regards, Julian
Received on Sunday, 13 December 2009 15:31:31 UTC