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
Supports Markdown
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