https://issues.apache.org/bugzilla/show_bug.cgi?id=54875

            Bug ID: 54875
           Summary: Conditional request predicated on another URL's ETag
                    always succeeds, even when it shouldn't
           Product: Apache httpd-2
           Version: 2.5-HEAD
          Hardware: All
                OS: All
            Status: NEW
          Keywords: RFC
          Severity: normal
          Priority: P2
         Component: mod_dav
          Assignee: [email protected]
          Reporter: [email protected]
    Classification: Unclassified

Making a MOVE or COPY request with an If: header predicated on another
resource's ETag always succeeds, regardless of whether the ETag matches or not.

To reproduce:

PUT a file into a collection somewhere (e.g. /collxn/FileA), and retrieve its
etag using PROPFIND.
PUT another file into that collection (e.g. /collxn/FileB).
Attempt to MOVE or COPY FileB to FileC, supplying an If: header that references
FileA.

There are two cases in which the MOVE/COPY should fail, and in both cases it
succeeds instead:

Case 1:
   If: </collxn/FileA> (Not ["blah-blah-etag"])
where "blah-blah-etag" is FileA's current ETag

Case 2:
   If: </collxn/FileA> (["wrong-etag"])
where "wrong-etag" is not FileA's current ETag (e.g. because FileA has been
replaced by an intervening PUT).

Tested against trunk/2.5 r1470683 and against 2.4.4; Apache has the same
behavior on both branches.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to