This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/9.0.x by this push:
     new f4a55f8bed Fix BZ 69361 Make multi-status and processing order 
consistent
f4a55f8bed is described below

commit f4a55f8bed4e9fd63e05117231c7fa0856cbb632
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Thu Oct 3 16:42:41 2024 +0100

    Fix BZ 69361 Make multi-status and processing order consistent
    
    https://bz.apache.org/bugzilla/show_bug.cgi?id=69361
---
 java/org/apache/catalina/servlets/WebdavServlet.java | 6 +++---
 webapps/docs/changelog.xml                           | 5 +++++
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/java/org/apache/catalina/servlets/WebdavServlet.java 
b/java/org/apache/catalina/servlets/WebdavServlet.java
index c434b82277..1555c8d37a 100644
--- a/java/org/apache/catalina/servlets/WebdavServlet.java
+++ b/java/org/apache/catalina/servlets/WebdavServlet.java
@@ -31,8 +31,8 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.Date;
 import java.util.Deque;
-import java.util.HashMap;
 import java.util.Iterator;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
@@ -1528,7 +1528,7 @@ public class WebdavServlet extends DefaultServlet 
implements PeriodicEventListen
 
         // Copying source to destination
 
-        Map<String,Integer> errorList = new HashMap<>();
+        Map<String,Integer> errorList = new LinkedHashMap<>();
 
         boolean infiniteCopy = true;
         String depthHeader = req.getHeader("Depth");
@@ -1709,7 +1709,7 @@ public class WebdavServlet extends DefaultServlet 
implements PeriodicEventListen
             }
         } else {
 
-            Map<String,Integer> errorList = new HashMap<>();
+            Map<String,Integer> errorList = new LinkedHashMap<>();
 
             deleteCollection(req, path, errorList);
             if (!resource.delete()) {
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 16e8fc3fe5..849cf56414 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -155,6 +155,11 @@
         Add log warning if non wildcard mappings are used with the
         <code>WebdavServlet</code>. (remm)
       </fix>
+      <fix>
+        <bug>69361</bug>: Ensure that the order of entires in a multi-status
+        response to a WebDAV is consistent with the order in which resources
+        were processed. (markt)
+      </fix>
       <fix>
         <bug>69362</bug>: Provide a better multi-status response when deleting 
a
         collection via WebDAV fails. Empty directories that cannot be deleted


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

Reply via email to