markt       2004/02/25 14:38:14

  Modified:    catalina/src/share/org/apache/catalina/servlets
                        WebdavServlet.java
  Log:
  Fix bug 27190. Ensure webdav servlet returns correct status in response to MOVE 
request.
  Ported from TC5.
  
  Revision  Changes    Path
  1.35      +13 -12    
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/WebdavServlet.java
  
  Index: WebdavServlet.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/servlets/WebdavServlet.java,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- WebdavServlet.java        22 Feb 2004 22:35:35 -0000      1.34
  +++ WebdavServlet.java        25 Feb 2004 22:38:14 -0000      1.35
  @@ -819,7 +819,7 @@
           String path = getRelativePath(req);
   
           if (copyResource(req, resp)) {
  -            deleteResource(path, req, resp);
  +            deleteResource(path, req, resp, false);
           }
   
       }
  @@ -1618,10 +1618,8 @@
   
               // Delete destination resource, if it exists
               if (exists) {
  -                if (!deleteResource(destinationPath, req, resp)) {
  +                if (!deleteResource(destinationPath, req, resp, true)) {
                       return false;
  -                } else {
  -                    resp.setStatus(WebdavStatus.SC_NO_CONTENT);
                   }
               } else {
                   resp.setStatus(WebdavStatus.SC_CREATED);
  @@ -1749,7 +1747,7 @@
   
           String path = getRelativePath(req);
   
  -        return deleteResource(path, req, resp);
  +        return deleteResource(path, req, resp, true);
   
       }
   
  @@ -1760,9 +1758,11 @@
        * @param path Path of the resource which is to be deleted
        * @param req Servlet request
        * @param resp Servlet response
  +     * @param setStatus Should the response status be set on successful
  +     *                  completion
        */
       private boolean deleteResource(String path, HttpServletRequest req,
  -                                   HttpServletResponse resp)
  +                                   HttpServletResponse resp, boolean setStatus)
           throws ServletException, IOException {
   
           if ((path.toUpperCase().startsWith("/WEB-INF")) ||
  @@ -1834,8 +1834,9 @@
               }
   
           }
  -
  -        resp.setStatus(WebdavStatus.SC_NO_CONTENT);
  +        if (setStatus) {     
  +            resp.setStatus(WebdavStatus.SC_NO_CONTENT);
  +        }
           return true;
   
       }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to