- From: Geoffrey M Clemm <geoffrey.clemm@us.ibm.com>
- Date: Thu, 2 Dec 2004 22:33:40 -0500
- To: Julian Reschke <julian.reschke@gmx.de>
- Cc: ejw@cs.ucsc.edu, "'WebDAV (WebDAV WG)'" <w3c-dist-auth@w3.org>, w3c-dist-auth-request@w3.org
- Message-ID: <OFF0BB27E1.5FF320EF-ON85256F5F.00131FB9-85256F5F.00138FCE@us.ibm.com>
I'm not following this. What is lock L3 and what is lock L2? (the locks in the picture are not named). In any case, I suggest that the example be modified to have exclusive locks (as Julian indicates, this example must have shared locks which is not as commonly implemented). Cheers, Geoff Julian wrote on 12/02/2004 05:27:14 PM: > > Jim Whitehead wrote: > > > > > >>REBIND /CollW HTTP/1.1 > >>If: <http://example.com/CollW/CollY/CollZ> (<L3>) > >><http://example.com/CollW/CollX> (<L2>) > >>Overwrite: T > >> > >><rebind xmlns="DAV:"> > >> <segment>CollX</segment> > >> <href>/CollW/CollY/CollZ</href> > >></rebind> > >> > >>Reason: we need to supply both lock tokens as we're removing > >>a binding > >>to C3 that is protected by the lock L3, and we're removing the target > >>binding /CollW/CollY which is protected by the lock L2. > > > > > > This doesn't sound right to me. I'd say that we're removing the binding > > C3:(CollZ->C1), and hence we need the lock token L3. We're then creating the > > binding C3:(CollZ->C2), which requires the lock tokens L3 and L2, since C3's > > state is being modified (hence L3), and C2 is the destination (hence L2). > > I'm pretty confident of all except the final statement. > > I missed the bind loop... This causes L2 and L3 to protect overlapping > sets of URIs, so they must be shared locks, correct? > > > >>we're removing the target > >>binding /CollW/CollY which is protected by the lock L2. > > > > > > Isn't binding /CollW/CollY/ -- that is, C1:(CollY->C3) -- covered by lock > > L3? > > I guess we should stick with diagrams until we agree on the operation > we're performing...: > > Before: > > +------------------+ > | Root Collection | > | bindings: | > | CollW | > +------------------+ > | > | > | > +-------------------------------+ > | Collection C1 |<--------+ > | bindings: | | > | CollX CollY | | > +-------------------------------+ | > | | | > | | (creates loop) | > | | | > +-----------------+ +------------------+ | > | Collection C2 | | Collection C3 | | > | LOCKED infinity | | LOCKED infinity | | > | bindings: | | bindings: | | > | {none} | | y.gif CollZ | | > +-----------------+ +------------------+ | > | | | > | +------+ > | > +---------------------------+ > | Resource R2 | > | (lock inhereited from C3) | > +---------------------------+ > > After: > > +------------------+ > | Root Collection | > | bindings: | > | CollW | > +------------------+ > | > | > | > +-------------------------------+ > | Collection C1 | > | bindings: | > | CollX CollY | > +-------------------------------+ > | ^ | > +-+ | > | > +-----------------+ +------------------+ > | Collection C2 | | Collection C3 | > | | LOCKED infinity | > | bindings: | | bindings: | > | {none} | | y.gif | > +-----------------+ +------------------+ > | > | > | > +---------------------------+ > | Resource R2 | > | (lock inhereited from C3) | > +---------------------------+ > > > So C2 doesn't have any bindings in scope anymore (and thus no lock), and > C1's new binding CollX identifies C1 itself, creating a new bind loop. > > I have the nagging feeling that this wasn't what you intended to do :-) > > Best regards, Julian > > > -- > <green/>bytes GmbH -- http://www.greenbytes.de -- tel:+492512807760 >
Received on Friday, 3 December 2004 03:34:14 UTC