Skip to content
Commit 548625d6 authored by Greg Stein's avatar Greg Stein
Browse files

Revamp the CHECKOUT method handling and various support functions for it.

Basically, the original CHECKOUT was based on a really old draft of the
DeltaV specification. This brings it up to date.

*) get_resource hook now takes an optional label name and/or a flag on
   whether to use the DAV:checked-in property; if either one is provided,
   then a version resource is looked up and returned.

   WARNING: the parameter types are now the same, but have very different
	    semantics. this means you won't get a compile error to figure
	    out that something needs to be changed here.

*) mod_dav.c::dav_get_resource no longer cahces the fetched resource in the
   request userdata. Some requests will call this function multiple times,
   for different resources -- we don't want to keep returning the same
   resource (no idea how this ended up working).

*) dav_get_resource()'s parameters have been updated. target_allowed is old
   terminology; it is now label_allowed. The target paramter is obsoleted by
   the simple use_checked_in flag.

*) dav_get_target_selector() is obsolete. XML element processing is done
   within the CHECKOUT method (i.e. only where it occurs). The other half of
   the old function was to simply fetch the Label: header.

*) DAV_TARGET_SELECTOR_HDR is now DAV_LABEL_HDR

*) dav_method_checkout() now processes all the various options for a
   CHECKOUT method and either modifies the initial resource lookup, or
   passes the data to the checkout hook function.

*) the checkout hook grew a bunch of new parameters

*) new utility function: dav_xml_get_cdata() to gather up all the CDATA from
   an XML element. this is used to extract DAV:href values.
   (probably move to util_xml.c at some point)


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@88007 13f79535-47bb-0310-9956-ffa450edef68
parent c2d57b41
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment