W3C home > Mailing lists > Public > w3c-dist-auth@w3.org > October to December 2007

Re: The use of status code 506 (Loop Detected)

From: Werner Donné <werner.donne@re.be>
Date: Sat, 10 Nov 2007 09:12:06 +0100
Message-ID: <473567D6.90205@re.be>
To: Julian Reschke <julian.reschke@gmx.de>
Cc: w3c-dist-auth@w3.org

Say we have the path /A/B/C/D/ where D/ is in fact a second
binding to /A/E/F/. If you move /A/B/ to /A/E/F/ you get
/A/E/F/B/C/D/. Because of the binding this is the same as
/A/E/F/B/C/F/, which is a loop. Note that we did a move of B/,
which is not involved in any binding itself.

It is also possible to introduce a second binding to a resource
without actually supporting the BIND method. Let's take a versioning
server, for example, with auto-version set to manual for /A/B/
and /A/C/. Say we want to move /A/B/D to /A/C/D. We have to
check out /A/B/ and /A/C/, provided we support versioning of
collections. After the move we check in /A/C/, but we undo the
check-out of /A/B/. We are then left with /A/B/D and /A/C/D,
both referring to the same resource.

So loops could occur without the binding spec being supported.



Julian Reschke wrote:
> Julian Reschke wrote:
>> ...
>> I think it would be better to return a 409 with 
>> DAV:error/DAV:cycle-allowed here.
>> ...
> ...that being said, I wouldn't be opposed to adding an appendix that 
> both illustrates how MOVE requests can theoretically generate a bind 
> cycle, and how to handle that case.
> BR, Julian

Werner Donné  --  Re                                     http://www.pincette.biz
Engelbeekstraat 8                                               http://www.re.be
BE-3300 Tienen
tel: (+32) 486 425803	e-mail: werner.donne@re.be
Received on Saturday, 10 November 2007 08:11:33 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 20:01:42 UTC