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

            Bug ID: 54914
           Summary: mod_dir DirectoryIndex breaks WebDAV PROPFIND / DELETE
                    / MOVE
           Product: Apache httpd-2
           Version: 2.5-HEAD
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: mod_dir
          Assignee: [email protected]
          Reporter: [email protected]
    Classification: Unclassified

If a collection in a WebDAV-enabled area contains an index.html (or whatever
filename is specified in DirectoryIndex) then it becomes impossible to use
WebDAV methods on that collection: you cannot PROPFIND it, MOVE it, DELETE it,
etc. All of these result in a 405 Method Not Allowed error.

e.g., this series of operations, starting from an empty directory "/wiml":


MKCOL /wiml/bugzillaPF/ --> 201 Created
MKCOL /wiml/bugzillaPF/testcollxn --> 201 Created
PROPFIND /wiml/bugzillaPF/ --> 207 Multi-Status
PROPFIND /wiml/bugzillaPF/testcollxn/ --> 207 Multi-Status
PUT /wiml/bugzillaPF/testcollxn/index.html --> 201 Created
PROPFIND /wiml/bugzillaPF/ --> 207 Multi-Status
PROPFIND /wiml/bugzillaPF/testcollxn/ --> 405 Method Not Allowed
DELETE /wiml/bugzillaPF/testcollxn/ --> 405 Method Not Allowed


Notice that before index.html is written, it is possible to PROPFIND the
testcollxn collection. Afterwards, that method results in an error. It's still
possible to see the testcollxn by calling PROPFIND on its parent with Depth:1,
though (and its resourcetype is <collection>, so one would expect to be able to
issue other DAV requests against it).

DELETE and MOVE suffer similarly.

Setting DirectoryIndex to 'disabled' fixes the problem (at the cost of
disabling directory indexes...). This shouldn't be necessary, as RFC4918
explicitly calls out the possibility that a collection resource can also have a
GETtable entity in addition to its collection-nature.

Also oddly, the error text returned for a PROPFIND on
/wiml/bugzillaPF/testcollxn/ is "The requested method GET is not allowed for
the URL /wiml/bugzillaPF/testcollxn/index.html." --- note that neither the
method nor the URL mentioned in the response correspond to those in the request
--- which is doubly unexpected because GET *is* allowed (and works fine) on
that URL. In fact, PROPFIND is also allowed on that URL. Just not on
"testcollxn".

The (mis)behavior is the same in httpd-2.4.4 and in 2.5.0-dev r1477687.

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