This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/main by this push: new ec48b80476 clean up org.apache.tomcat.util.http RequestUtil (#818) ec48b80476 is described below commit ec48b8047674c586815abdca6d83990b70691ccb Author: 김민종 <kous...@pusan.ac.kr> AuthorDate: Fri Feb 7 00:52:06 2025 +0900 clean up org.apache.tomcat.util.http RequestUtil (#818) Cleanup RequestUtil with test case --- java/org/apache/tomcat/util/http/RequestUtil.java | 15 ++++----------- .../tomcat/util/http/TestRequestUtilSameOrigin.java | 10 ++++++++++ 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/java/org/apache/tomcat/util/http/RequestUtil.java b/java/org/apache/tomcat/util/http/RequestUtil.java index fe4d1e639a..d8bbae5c81 100644 --- a/java/org/apache/tomcat/util/http/RequestUtil.java +++ b/java/org/apache/tomcat/util/http/RequestUtil.java @@ -123,19 +123,12 @@ public class RequestUtil { // Build scheme://host:port from request StringBuilder target = new StringBuilder(); String scheme = request.getScheme(); - if (scheme == null) { - return false; - } else { - scheme = scheme.toLowerCase(Locale.ENGLISH); - } - target.append(scheme); - target.append("://"); - String host = request.getServerName(); - if (host == null) { + if (scheme == null || host == null) { return false; } - target.append(host); + scheme = scheme.toLowerCase(Locale.ENGLISH); + target.append(scheme).append("://").append(host); int port = request.getServerPort(); // Origin may or may not include the (default) port. @@ -161,7 +154,7 @@ public class RequestUtil { // Both scheme and host are case-insensitive but the CORS spec states // this check should be case-sensitive - return origin.equals(target.toString()); + return origin.contentEquals(target); } diff --git a/test/org/apache/tomcat/util/http/TestRequestUtilSameOrigin.java b/test/org/apache/tomcat/util/http/TestRequestUtilSameOrigin.java index e47e7d80d3..40a9bde55a 100644 --- a/test/org/apache/tomcat/util/http/TestRequestUtilSameOrigin.java +++ b/test/org/apache/tomcat/util/http/TestRequestUtilSameOrigin.java @@ -42,6 +42,8 @@ public class TestRequestUtilSameOrigin { TesterRequest request2 = new TesterRequest("ws", "example.com", 80); TesterRequest request3 = new TesterRequest("http", "example.com", 443); TesterRequest request4 = new TesterRequest("http", "example.com", 8080); + TesterRequest request5 = new TesterRequest(null, "example.com", 80); + TesterRequest request6 = new TesterRequest("http", null, 8080); parameterSets.add(new Object[] { request1, "http://example.com", Boolean.TRUE }); parameterSets.add(new Object[] { request1, "http://example.com:80", Boolean.TRUE }); @@ -59,6 +61,14 @@ public class TestRequestUtilSameOrigin { parameterSets.add(new Object[] { request4, "http://example.com:80", Boolean.FALSE }); parameterSets.add(new Object[] { request4, "http://example.com:8080", Boolean.TRUE}); + parameterSets.add(new Object[]{ request5, "http://example.com:80", Boolean.FALSE}); + parameterSets.add(new Object[]{ request5, "://example.com:80", Boolean.FALSE}); + parameterSets.add(new Object[]{ request5, "example.com:80", Boolean.FALSE}); + + parameterSets.add(new Object[]{ request6, "http://example.com:80", Boolean.FALSE}); + parameterSets.add(new Object[]{ request6, "http://:80", Boolean.FALSE}); + parameterSets.add(new Object[]{ request6, "http://", Boolean.FALSE}); + return parameterSets; } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org