Subject: Re: If: header and "parent" resource checking

From: [email-masked]
Date: Mon, 29 May 2000 09:10:47 -0400

Greg,
I believe DAV4J behaves as you describe below.

I'm going through mod_dav right now and refining/verifying what resources
it checks during If: header processing. I'm taking a particular approach
that I want to bounce off the group to see if this makes sense and is
"proper".

Specifically, it revolves around whether we need to check the "parent"
resource to see if it is locked and the If: header contains those locks.
Say you're doing a MKCOL. The spec states that you must satisfy the locks
held on the parent resource. The following cases are a bit less obvious:

*) when using LOCK to create a locknull resource, this effectively creates
  a new resource in the parent collection.
  ==> parent resource should be checked

*) when using UNLOCK on a locknull, this effectively deletes a resource
  from the parent collection
  ==> parent resource should be checked

*) using MOVE on a resource: this removes the resource from the parent
  ==> parent resource should be checked

*) MOVE and COPY create resources at the Destination
  ==> parent resource of the Destination should be checked

*) MKCOL on a null resource
  ==> parent resource should be checked

*) MKCOL on a locknull resource does not add any resources to the parent
  collection
  ==> parent resource SHOULD NOT be checked
  (the [locknull] resource itself will be checked, however)

*) PUT operates similar to MKCOL w.r.t. locknull resources

Note that this can be an interoperability item. If one server enforces
that conditions be met for the parent, but another doesn't, then a client
(that doesn't provide parent conditions) could fail.

Cheers,
-g

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

---

From: Greg Stein <[email-masked]>
Date: Mon, 29 May 2000 17:33:29 -0700 (PDT)

> I believe DAV4J behaves as you describe below.

Great. Well, the details below can also make a good step-by-step review
list for DAV4J then.

I think that I'll code up some regression tests for these scenarios. The
locknull stuff may be changed if consensus goes with Geoff, but heading in
that direction will be helpful.

Cheers,
-g

---

From: Kevin Wiggen <[email-masked]>
Date: Tue, 30 May 2000 17:13:53 -0700

Xythos also works as Greg has noted....

Thanks,
Kevin

-----Original Message-----
From: [email-masked]
[mailto:[email-masked]]On Behalf Of [email-masked]
Sent: Monday, May 29, 2000 6:11 AM
To: Greg Stein
Cc: [email-masked]
Subject: Re: If: header and "parent" resource checking

Greg,

Cheers,
-g

---

From: Greg Stein <[email-masked]>
Date: Wed, 31 May 2000 12:18:38 -0700 (PDT)

Given three servers that operate this way, I am going to interpret this as
a consensus for now. I still have a response or two to Geoff's mails
(forthcoming), but I feel much better about the approach that I used for
mod_dav (and that others used, too).

Cheers,
-g