-*- coding: utf-8 -*-
Changes with Apache 2.5.0
+ *) mod_dav: Sending a If or If-Match header with an invalid ETag doesn't
+ result in a 412 Precondition Failed. PR54610 [Timothy Wood
+ <tjw omnigroup.com>]
+
*) mod_dav: Make sure that when we prepare an If URL for Etag comparison,
we compare unencoded paths. PR 53910 [Timothy Wood <tjw omnigroup.com>]
}
/*
- * Check If-Headers and existing locks for each resource in the source
- * if we are performing a MOVE. We will return a 424 response with a
- * DAV:multistatus body. The multistatus responses will contain the
- * information about any resource that fails the validation.
+ * Check If-Headers and existing locks for each resource in the source.
+ * We will return a 424 response with a DAV:multistatus body.
+ * The multistatus responses will contain the information about any
+ * resource that fails the validation.
*
* We check the parent resource, too, since this is a MOVE. Moving the
* resource effectively removes it from the parent collection, so we
* If a problem occurs with the Request-URI itself, then a plain error
* (rather than a multistatus) will be returned.
*/
- if (is_move
- && (err = dav_validate_request(r, resource, depth, NULL,
- &multi_response,
- DAV_VALIDATE_PARENT
- | DAV_VALIDATE_USE_424,
- NULL)) != NULL) {
+ if ((err = dav_validate_request(r, resource, depth, NULL,
+ &multi_response,
+ DAV_VALIDATE_PARENT
+ | DAV_VALIDATE_USE_424,
+ NULL)) != NULL) {
err = dav_push_error(r->pool, err->status, 0,
apr_psprintf(r->pool,
- "Could not MOVE %s due to a failed "
+ "Could not %s %s due to a failed "
"precondition on the source "
"(e.g. locks).",
+ is_move ? "MOVE" : "COPY",
ap_escape_html(r->pool, r->uri)),
err);
return dav_handle_err(r, err, multi_response);