Re: mod_dav and the If-Header

Hi Hartmut,

I'm also copying the dav-dev@lyra.org mailing list with this. That mailing
list is specifically for mod_dav users/developers.

On Mon, 7 Feb 2000, Hartmut Warncke wrote:
> I have three problems with mod_dav 0.9.14 and hope that someone can help
> me:
> 
> It is assumed that /c is a collection which is locked with depth 0
> (Locktoken L).
> 
> 1.)
> I want to delete /c/f. My interpretation of RFC 2518 is that I have to
> send Locktoken L
> within the If-Header of the DELETE command but mod_dav deletes /c/f no
> matter
> if I send the Locktoken L or not.

This is a bug in mod_dav. It doesn't check the parent resource for locks
before processing the delete.

> 2.)
> mod_dav does not allow to create a new collection /c/c1 no matter if
> I send the Locktoken L within the If-Header of the MKCOL command or not.
> 
> Server response is: "423 Locked".

You need to use a Tagged-list production to say that L applies to /c. If
you simply use a No-tag-list, then you are asserting the lock applies to
/c/c1 (and /c when the parent is checked).

I just tried your scenario (successfully) with the following If: header:

If: <http://host/c/>(<opaquelocktoken:0f2b6c12-1dd2-11b2-8f00-de8a8992ccf3>)

> 3.)
> mod_dav does not allow to copy a collection into /c no matter if I send
> the Locktoken L within the If-Header of the COPY command or not.
> Server response is "423 Locked".

You are probably seeing the same problem as in (2) (not using a tagged
list).

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/

Received on Monday, 7 February 2000 20:39:54 UTC