- From: Julian Reschke <julian.reschke@gmx.de>
- Date: Wed, 07 Dec 2005 07:58:32 +0100
- To: webdav WG <w3c-dist-auth@w3.org>
Hi, as we're going to concentrate on locking issues, I'd like to remind everybody that the WG did compile a very short (but complete) summary of high-level locking semantics a long time ago. RFC2518bis will need to reflect the contents of this document in some way, potentially by just adopting it and making it an appendix. Including the latest version 5.8 from <http://lists.w3.org/Archives/Public/w3c-dist-auth/2004AprJun/0177.html>: -------------- GULP (Version 5.8) -------------- - A lock either directly or indirectly locks a resource. - A LOCK request with a non-empty body creates a new lock, and the resource identified by the request-URL is directly locked by that lock. The "lock-root" of the new lock is the request-URL. If at the time of the request, the request-URL is not mapped to a resource, a new resource with empty content MUST be created by the request. - If a collection is directly locked by a depth:infinity lock, all members of that collection (other than the collection itself) are indirectly locked by that lock. In particular, if an internal member resource is added to a collection that is locked by a depth:infinity lock, and if the resource is not locked by that lock, then the resource becomes indirectly locked by that lock. Conversely, if a resource is indirectly locked with a depth:infinity lock, and if the result of deleting an internal member URI is that the resource is no longer a member of the collection that is directly locked by that lock, then the resource is no longer locked by that lock. - An UNLOCK request deletes the lock with the specified lock token. The request-URL of the request MUST identify a resource that is either directly or indirectly locked by that lock. After a lock is deleted, no resource is locked by that lock. - A lock token is "submitted" in a request when it appears in an If header. - If a request would modify the content for a locked resource, a dead property of a locked resource, a live property that is defined to be lockable for a locked resource, or an internal member URI of a locked collection, the request MUST fail unless the lock-token for that lock is submitted in the request. An internal member URI of a collection is considered to be modified if it is added, removed, or identifies a different resource. - If a request causes a directly locked resource to no longer be mapped to the lock-root of that lock, then the request MUST fail unless the lock-token for that lock is submitted in the request. If the request succeeds, then that lock MUST have been deleted by that request. - If a request would cause a resource to be locked by two different exclusive locks, the request MUST fail. Best regards, Julian
Received on Wednesday, 7 December 2005 07:37:32 UTC