You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by mi...@apache.org on 2013/05/26 21:48:46 UTC

svn commit: r1486456 - in /httpd/httpd/branches/2.4.x: ./ CHANGES STATUS modules/dav/main/mod_dav.c

Author: minfrin
Date: Sun May 26 19:48:45 2013
New Revision: 1486456

URL: http://svn.apache.org/r1486456
Log:
mod_dav: Sending a If or If-Match header with an invalid ETag doesn't
result in a 412 Precondition Failed. PR54610

trunk patch: http://svn.apache.org/r1476604
Submitted by: Timothy Wood <tjw omnigroup.com>
Reviewed by: minfrin, jim, jorton

Modified:
    httpd/httpd/branches/2.4.x/   (props changed)
    httpd/httpd/branches/2.4.x/CHANGES
    httpd/httpd/branches/2.4.x/STATUS
    httpd/httpd/branches/2.4.x/modules/dav/main/mod_dav.c

Propchange: httpd/httpd/branches/2.4.x/
------------------------------------------------------------------------------
  Merged /httpd/httpd/trunk:r1476604

Modified: httpd/httpd/branches/2.4.x/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/CHANGES?rev=1486456&r1=1486455&r2=1486456&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/CHANGES [utf-8] (original)
+++ httpd/httpd/branches/2.4.x/CHANGES [utf-8] Sun May 26 19:48:45 2013
@@ -2,6 +2,10 @@
 
 Changes with Apache 2.4.5
 
+  *) 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>]
 

Modified: httpd/httpd/branches/2.4.x/STATUS
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/STATUS?rev=1486456&r1=1486455&r2=1486456&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/STATUS (original)
+++ httpd/httpd/branches/2.4.x/STATUS Sun May 26 19:48:45 2013
@@ -90,12 +90,6 @@ RELEASE SHOWSTOPPERS:
 PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
   [ start all new proposals below, under PATCHES PROPOSED. ]
   
-    * mod_dav: Sending a If or If-Match header with an invalid ETag doesn't
-      result in a 412 Precondition Failed. PR54610
-      trunk patch: http://svn.apache.org/r1476604
-      2.4.x patch: trunk patch works (minus CHANGES)
-      +1: minfrin, jim, jorton
-
     * mod_dav: When a PROPPATCH attempts to remove a non-existent dead
       property on a resource for which there is no dead property in the same
       namespace httpd segfaults. PR 52559

Modified: httpd/httpd/branches/2.4.x/modules/dav/main/mod_dav.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/dav/main/mod_dav.c?rev=1486456&r1=1486455&r2=1486456&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/modules/dav/main/mod_dav.c (original)
+++ httpd/httpd/branches/2.4.x/modules/dav/main/mod_dav.c Sun May 26 19:48:45 2013
@@ -2751,10 +2751,10 @@ static int dav_method_copymove(request_r
     }
 
     /*
-     * 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
@@ -2763,17 +2763,17 @@ static int dav_method_copymove(request_r
      * 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);