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

           Summary: WebdavServlet
           Product: Tomcat 6
           Version: unspecified
          Platform: All
               URL: http://svn.apache.org/repos/asf/tomcat/trunk/java/org/ap
                    ache/catalina/servlets/WebdavServlet.java
        OS/Version: All
            Status: NEW
          Keywords: RFC
          Severity: normal
          Priority: P2
         Component: Catalina
        AssignedTo: dev@tomcat.apache.org
        ReportedBy: robert.ja...@uniklinik-freiburg.de


In the Webdav standard, there is a header option named "depth".
This header must be given when running a propfind webdav request.
The value may be greater 0 or the constant "infinity", i.e. the
whole file tree is requested.

In the WebdavServlet, INFINITY is set to 3, which unfortunately
does not correspond to the standard.

>>> CODE >>>
/**
 * Default depth is infite.
 */
private static final int INFINITY = 3; // To limit tree browsing a bit
<<< END OF CODE <<<

Perhaps this could be changed to a much higher value (e.g. maxint).

Below, there is a method named propfind, where the following code
can be found:

>>> CODE >>>
String depthStr = req.getHeader("Depth");

if (depthStr == null) {
  depth = INFINITY;
} else {
  if (depthStr.equals("0")) {
  depth = 0;
   } else if (depthStr.equals("1")) {
      depth = 1;
   } else if (depthStr.equals("infinity")) {
    depth = INFINITY;
  }
}
<<< END OF CODE <<<

Perhaps one should use an integer conversion function and in case
of an exception one could use infinity.

Hope this describes the problem good enough.
The same problem occurs in Tomcat 5.x, as well.


-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to