This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.1.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit 7be910a29515bc172bc8382ee2e56fc1992107b8 Author: Mark Thomas <ma...@apache.org> AuthorDate: Thu Sep 11 12:21:33 2025 +0100 Use constant for TRACE --- java/org/apache/catalina/connector/Connector.java | 2 +- java/org/apache/catalina/connector/CoyoteAdapter.java | 4 ++-- java/org/apache/catalina/servlets/CGIServlet.java | 2 +- java/org/apache/coyote/ajp/Constants.java | 2 +- test/org/apache/catalina/connector/TestConnector.java | 2 +- test/org/apache/catalina/filters/TestCorsFilter.java | 2 +- test/org/apache/catalina/realm/TestRealmBase.java | 2 +- test/org/apache/catalina/realm/TesterServletSecurity01.java | 2 +- test/org/apache/catalina/servlets/TestDefaultServletOptions.java | 2 +- .../catalina/servlets/TestWebdavServletOptionCollection.java | 2 +- .../apache/catalina/servlets/TestWebdavServletOptionsFile.java | 2 +- .../apache/catalina/servlets/TestWebdavServletOptionsUnknown.java | 2 +- test/org/apache/coyote/ajp/SimpleAjpClient.java | 4 ++-- .../apache/tomcat/util/descriptor/web/TestSecurityConstraint.java | 8 ++++---- 14 files changed, 19 insertions(+), 19 deletions(-) diff --git a/java/org/apache/catalina/connector/Connector.java b/java/org/apache/catalina/connector/Connector.java index 82eee1e5c1..9de0fdd6ae 100644 --- a/java/org/apache/catalina/connector/Connector.java +++ b/java/org/apache/catalina/connector/Connector.java @@ -566,7 +566,7 @@ public class Connector extends LifecycleMBeanBase { methodSet.addAll(Arrays.asList(StringUtils.splitCommaSeparated(methods))); } - if (methodSet.contains("TRACE")) { + if (methodSet.contains(Method.TRACE)) { throw new IllegalArgumentException(sm.getString("coyoteConnector.parseBodyMethodNoTrace")); } diff --git a/java/org/apache/catalina/connector/CoyoteAdapter.java b/java/org/apache/catalina/connector/CoyoteAdapter.java index caf9dc05dd..6d50d0a25e 100644 --- a/java/org/apache/catalina/connector/CoyoteAdapter.java +++ b/java/org/apache/catalina/connector/CoyoteAdapter.java @@ -814,14 +814,14 @@ public class CoyoteAdapter implements Adapter { } // Filter TRACE method - if (!connector.getAllowTrace() && "TRACE".equals(req.getMethod())) { + if (!connector.getAllowTrace() && Method.TRACE.equals(req.getMethod())) { Wrapper wrapper = request.getWrapper(); StringBuilder header = null; if (wrapper != null) { String[] methods = wrapper.getServletMethods(); if (methods != null) { for (String method : methods) { - if ("TRACE".equals(method)) { + if (Method.TRACE.equals(method)) { continue; } if (header == null) { diff --git a/java/org/apache/catalina/servlets/CGIServlet.java b/java/org/apache/catalina/servlets/CGIServlet.java index 2b89ba8fbd..fcd34e27e0 100644 --- a/java/org/apache/catalina/servlets/CGIServlet.java +++ b/java/org/apache/catalina/servlets/CGIServlet.java @@ -217,7 +217,7 @@ public final class CGIServlet extends HttpServlet { static { DEFAULT_SUPER_METHODS.add(Method.HEAD); DEFAULT_SUPER_METHODS.add(Method.OPTIONS); - DEFAULT_SUPER_METHODS.add("TRACE"); + DEFAULT_SUPER_METHODS.add(Method.TRACE); if (JrePlatform.IS_WINDOWS) { DEFAULT_CMD_LINE_ARGUMENTS_DECODED_PATTERN = Pattern.compile("[\\w\\Q-.\\/:\\E]+"); diff --git a/java/org/apache/coyote/ajp/Constants.java b/java/org/apache/coyote/ajp/Constants.java index a33b752557..2514afb061 100644 --- a/java/org/apache/coyote/ajp/Constants.java +++ b/java/org/apache/coyote/ajp/Constants.java @@ -107,7 +107,7 @@ public final class Constants { // Translates integer codes to names of HTTP methods private static final String[] methodTransArray = - { Method.OPTIONS, Method.GET, Method.HEAD, Method.POST, Method.PUT, Method.OPTIONS, "TRACE", "PROPFIND", "PROPPATCH", "MKCOL", "COPY", + { Method.OPTIONS, Method.GET, Method.HEAD, Method.POST, Method.PUT, Method.OPTIONS, Method.TRACE, "PROPFIND", "PROPPATCH", "MKCOL", "COPY", "MOVE", "LOCK", "UNLOCK", "ACL", "REPORT", "VERSION-CONTROL", "CHECKIN", "CHECKOUT", "UNCHECKOUT", "SEARCH", "MKWORKSPACE", "UPDATE", "LABEL", "MERGE", "BASELINE-CONTROL", "MKACTIVITY" }; diff --git a/test/org/apache/catalina/connector/TestConnector.java b/test/org/apache/catalina/connector/TestConnector.java index f937ebc9b1..e80c2953c3 100644 --- a/test/org/apache/catalina/connector/TestConnector.java +++ b/test/org/apache/catalina/connector/TestConnector.java @@ -203,7 +203,7 @@ public class TestConnector extends TomcatBaseTest { boolean foundTrace = false; for (String header : respHeaders.get("Allow")) { - if (header.contains("TRACE")) { + if (header.contains(Method.TRACE)) { foundTrace = true; break; } diff --git a/test/org/apache/catalina/filters/TestCorsFilter.java b/test/org/apache/catalina/filters/TestCorsFilter.java index 435be837da..386f2131d6 100644 --- a/test/org/apache/catalina/filters/TestCorsFilter.java +++ b/test/org/apache/catalina/filters/TestCorsFilter.java @@ -860,7 +860,7 @@ public class TestCorsFilter { TesterHttpServletRequest request = new TesterHttpServletRequest(); TesterHttpServletResponse response = new TesterHttpServletResponse(); request.setHeader(CorsFilter.REQUEST_HEADER_ORIGIN, TesterFilterConfigs.HTTP_TOMCAT_APACHE_ORG); - request.setHeader(CorsFilter.REQUEST_HEADER_ACCESS_CONTROL_REQUEST_METHOD, "TRACE"); + request.setHeader(CorsFilter.REQUEST_HEADER_ACCESS_CONTROL_REQUEST_METHOD, Method.TRACE); request.setMethod(Method.OPTIONS); CorsFilter corsFilter = new CorsFilter(); corsFilter.init(TesterFilterConfigs.getDefaultFilterConfig()); diff --git a/test/org/apache/catalina/realm/TestRealmBase.java b/test/org/apache/catalina/realm/TestRealmBase.java index c10662213d..894d3e5625 100644 --- a/test/org/apache/catalina/realm/TestRealmBase.java +++ b/test/org/apache/catalina/realm/TestRealmBase.java @@ -752,7 +752,7 @@ public class TestRealmBase { request, response, constraintsPut, null)); // Any authenticated user should be able to perform a TRACE. - request.setMethod("TRACE"); + request.setMethod(Method.TRACE); SecurityConstraint[] constraintsTrace = mapRealm.findSecurityConstraints(request, context); diff --git a/test/org/apache/catalina/realm/TesterServletSecurity01.java b/test/org/apache/catalina/realm/TesterServletSecurity01.java index 9cf0501ae6..80c5c200f3 100644 --- a/test/org/apache/catalina/realm/TesterServletSecurity01.java +++ b/test/org/apache/catalina/realm/TesterServletSecurity01.java @@ -29,7 +29,7 @@ import org.apache.tomcat.util.http.Method; rolesAllowed=TestRealmBase.ROLE1), @HttpMethodConstraint(value=Method.PUT, rolesAllowed=SecurityConstraint.ROLE_ALL_ROLES), - @HttpMethodConstraint(value="TRACE", + @HttpMethodConstraint(value=Method.TRACE, rolesAllowed=SecurityConstraint.ROLE_ALL_AUTHENTICATED_USERS)}) public class TesterServletSecurity01 { // Class is NO-OP. It is only used to 'host' the annotation. diff --git a/test/org/apache/catalina/servlets/TestDefaultServletOptions.java b/test/org/apache/catalina/servlets/TestDefaultServletOptions.java index e528cad9de..296266c871 100644 --- a/test/org/apache/catalina/servlets/TestDefaultServletOptions.java +++ b/test/org/apache/catalina/servlets/TestDefaultServletOptions.java @@ -34,7 +34,7 @@ public class TestDefaultServletOptions extends ServletOptionsBaseTest { @Parameters public static Collection<Object[]> inputs() { String[] urls = new String[] { COLLECTION_NAME, FILE_NAME, UNKNOWN_NAME }; - String[] methods = new String[] { Method.GET, Method.POST, Method.HEAD, "TRACE", Method.PUT, Method.DELETE }; + String[] methods = new String[] { Method.GET, Method.POST, Method.HEAD, Method.TRACE, Method.PUT, Method.DELETE }; List<Object[]> result = new ArrayList<>(); diff --git a/test/org/apache/catalina/servlets/TestWebdavServletOptionCollection.java b/test/org/apache/catalina/servlets/TestWebdavServletOptionCollection.java index 5d1261800c..df6edb3c2d 100644 --- a/test/org/apache/catalina/servlets/TestWebdavServletOptionCollection.java +++ b/test/org/apache/catalina/servlets/TestWebdavServletOptionCollection.java @@ -37,7 +37,7 @@ public class TestWebdavServletOptionCollection extends ServletOptionsBaseTest { @Parameters public static Collection<Object[]> inputs() { - String[] methods = new String[] { Method.GET, Method.POST, Method.HEAD, "TRACE", Method.PUT, Method.DELETE, + String[] methods = new String[] { Method.GET, Method.POST, Method.HEAD, Method.TRACE, Method.PUT, Method.DELETE, "MKCOL", "LOCK", "UNLOCK", "COPY", "MOVE", "PROPFIND", "PROPPATCH" }; List<Object[]> result = new ArrayList<>(); diff --git a/test/org/apache/catalina/servlets/TestWebdavServletOptionsFile.java b/test/org/apache/catalina/servlets/TestWebdavServletOptionsFile.java index 8457b4ef52..b3f3f00165 100644 --- a/test/org/apache/catalina/servlets/TestWebdavServletOptionsFile.java +++ b/test/org/apache/catalina/servlets/TestWebdavServletOptionsFile.java @@ -37,7 +37,7 @@ public class TestWebdavServletOptionsFile extends ServletOptionsBaseTest { @Parameters public static Collection<Object[]> inputs() { - String[] methods = new String[] { Method.GET, Method.POST, Method.HEAD, "TRACE", Method.PUT, Method.DELETE, + String[] methods = new String[] { Method.GET, Method.POST, Method.HEAD, Method.TRACE, Method.PUT, Method.DELETE, "MKCOL", "LOCK", "UNLOCK", "COPY", "MOVE", "PROPFIND", "PROPPATCH" }; List<Object[]> result = new ArrayList<>(); diff --git a/test/org/apache/catalina/servlets/TestWebdavServletOptionsUnknown.java b/test/org/apache/catalina/servlets/TestWebdavServletOptionsUnknown.java index a0443a30e7..236337ea86 100644 --- a/test/org/apache/catalina/servlets/TestWebdavServletOptionsUnknown.java +++ b/test/org/apache/catalina/servlets/TestWebdavServletOptionsUnknown.java @@ -37,7 +37,7 @@ public class TestWebdavServletOptionsUnknown extends ServletOptionsBaseTest { @Parameters public static Collection<Object[]> inputs() { - String[] methods = new String[] { Method.GET, Method.POST, Method.HEAD, "TRACE", Method.PUT, Method.DELETE, + String[] methods = new String[] { Method.GET, Method.POST, Method.HEAD, Method.TRACE, Method.PUT, Method.DELETE, "MKCOL", "LOCK", "UNLOCK", "COPY", "MOVE", "PROPFIND", "PROPPATCH" }; List<Object[]> result = new ArrayList<>(); diff --git a/test/org/apache/coyote/ajp/SimpleAjpClient.java b/test/org/apache/coyote/ajp/SimpleAjpClient.java index 599c1e4eb6..b4398f3269 100644 --- a/test/org/apache/coyote/ajp/SimpleAjpClient.java +++ b/test/org/apache/coyote/ajp/SimpleAjpClient.java @@ -94,7 +94,7 @@ public class SimpleAjpClient { case Method.DELETE: this.method = 6; break; - case "TRACE": + case Method.TRACE: this.method = 7; break; case "PROPFIND": @@ -177,7 +177,7 @@ public class SimpleAjpClient { case 6: return Method.DELETE; case 7: - return "TRACE"; + return Method.TRACE; case 8: return "PROPFIND"; case 9: diff --git a/test/org/apache/tomcat/util/descriptor/web/TestSecurityConstraint.java b/test/org/apache/tomcat/util/descriptor/web/TestSecurityConstraint.java index 60676310ef..0320c35ba5 100644 --- a/test/org/apache/tomcat/util/descriptor/web/TestSecurityConstraint.java +++ b/test/org/apache/tomcat/util/descriptor/web/TestSecurityConstraint.java @@ -212,10 +212,10 @@ public class TestSecurityConstraint { // Example 13-7 // @ServletSecurity(value = @HttpConstraint(rolesAllowed = "R1"), - // httpMethodConstraints = @HttpMethodConstraint(value="TRACE", + // httpMethodConstraints = @HttpMethodConstraint(value=Method.TRACE, // emptyRoleSemantic = EmptyRoleSemantic.DENY)) hmces.clear(); - hmces.add(new HttpMethodConstraintElement("TRACE", + hmces.add(new HttpMethodConstraintElement(Method.TRACE, new HttpConstraintElement(EmptyRoleSemantic.DENY))); element = new ServletSecurityElement( new HttpConstraintElement( @@ -228,12 +228,12 @@ public class TestSecurityConstraint { for (int i = 0; i < 2; i++) { Assert.assertTrue(result[i].findCollections()[0].findPattern(URL_PATTERN)); if (result[i].findCollections()[0].findMethods().length == 1) { - Assert.assertEquals("TRACE", + Assert.assertEquals(Method.TRACE, result[i].findCollections()[0].findMethods()[0]); Assert.assertTrue(result[i].getAuthConstraint()); Assert.assertEquals(0, result[i].findAuthRoles().length); } else if (result[i].findCollections()[0].findOmittedMethods().length == 1) { - Assert.assertEquals("TRACE", + Assert.assertEquals(Method.TRACE, result[i].findCollections()[0].findOmittedMethods()[0]); Assert.assertTrue(result[i].getAuthConstraint()); Assert.assertEquals(1, result[i].findAuthRoles().length); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org