Author: markt Date: Thu Feb 12 09:58:08 2015 New Revision: 1659189 URL: http://svn.apache.org/r1659189 Log: Use an explicit Locale when converting to lower case.
Modified: tomcat/trunk/java/org/apache/catalina/filters/CorsFilter.java tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/mime/MimeUtility.java tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java tomcat/trunk/test/org/apache/catalina/filters/TestCorsFilter.java tomcat/trunk/test/org/apache/tomcat/util/buf/TestB2CConverter.java tomcat/trunk/test/org/apache/tomcat/util/net/TesterSupport.java Modified: tomcat/trunk/java/org/apache/catalina/filters/CorsFilter.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/filters/CorsFilter.java?rev=1659189&r1=1659188&r2=1659189&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/filters/CorsFilter.java (original) +++ tomcat/trunk/java/org/apache/catalina/filters/CorsFilter.java Thu Feb 12 09:58:08 2015 @@ -24,6 +24,7 @@ import java.util.Collection; import java.util.HashSet; import java.util.LinkedList; import java.util.List; +import java.util.Locale; import java.util.Set; import javax.servlet.Filter; @@ -321,9 +322,8 @@ public final class CorsFilter implements CORSRequestType requestType = checkRequestType(request); if (requestType != CORSRequestType.PRE_FLIGHT) { - throw new IllegalArgumentException( - sm.getString("corsFilter.wrongType1", - CORSRequestType.PRE_FLIGHT.name().toLowerCase())); + throw new IllegalArgumentException(sm.getString("corsFilter.wrongType1", + CORSRequestType.PRE_FLIGHT.name().toLowerCase(Locale.ENGLISH))); } final String origin = request @@ -354,7 +354,7 @@ public final class CorsFilter implements String[] headers = accessControlRequestHeadersHeader.trim().split( ","); for (String header : headers) { - accessControlRequestHeaders.add(header.trim().toLowerCase()); + accessControlRequestHeaders.add(header.trim().toLowerCase(Locale.ENGLISH)); } } @@ -523,7 +523,7 @@ public final class CorsFilter implements request.getHeader(CorsFilter.REQUEST_HEADER_ORIGIN)); request.setAttribute( CorsFilter.HTTP_REQUEST_ATTRIBUTE_REQUEST_TYPE, - corsRequestType.name().toLowerCase()); + corsRequestType.name().toLowerCase(Locale.ENGLISH)); break; case ACTUAL: request.setAttribute( @@ -533,7 +533,7 @@ public final class CorsFilter implements request.getHeader(CorsFilter.REQUEST_HEADER_ORIGIN)); request.setAttribute( CorsFilter.HTTP_REQUEST_ATTRIBUTE_REQUEST_TYPE, - corsRequestType.name().toLowerCase()); + corsRequestType.name().toLowerCase(Locale.ENGLISH)); break; case PRE_FLIGHT: request.setAttribute( @@ -543,7 +543,7 @@ public final class CorsFilter implements request.getHeader(CorsFilter.REQUEST_HEADER_ORIGIN)); request.setAttribute( CorsFilter.HTTP_REQUEST_ATTRIBUTE_REQUEST_TYPE, - corsRequestType.name().toLowerCase()); + corsRequestType.name().toLowerCase(Locale.ENGLISH)); String headers = request.getHeader( REQUEST_HEADER_ACCESS_CONTROL_REQUEST_HEADERS); if (headers == null) { @@ -669,7 +669,7 @@ public final class CorsFilter implements if (contentType == null) { return null; } - String result = contentType.toLowerCase(); + String result = contentType.toLowerCase(Locale.ENGLISH); int firstSemiColonIndex = result.indexOf(';'); if (firstSemiColonIndex > -1) { result = result.substring(0, firstSemiColonIndex); @@ -746,7 +746,7 @@ public final class CorsFilter implements parseStringToSet(allowedHttpHeaders); Set<String> lowerCaseHeaders = new HashSet<>(); for (String header : setAllowedHttpHeaders) { - String lowerCase = header.toLowerCase(); + String lowerCase = header.toLowerCase(Locale.ENGLISH); lowerCaseHeaders.add(lowerCase); } this.allowedHttpHeaders.clear(); Modified: tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/mime/MimeUtility.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/mime/MimeUtility.java?rev=1659189&r1=1659188&r2=1659189&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/mime/MimeUtility.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/http/fileupload/util/mime/MimeUtility.java Thu Feb 12 09:58:08 2015 @@ -214,7 +214,7 @@ public final class MimeUtility { } // pull out the character set information (this is the MIME name at this point). - String charset = word.substring(2, charsetPos).toLowerCase(); + String charset = word.substring(2, charsetPos).toLowerCase(Locale.ENGLISH); // now pull out the encoding token the same way. int encodingPos = word.indexOf('?', charsetPos + 1); Modified: tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java?rev=1659189&r1=1659188&r2=1659189&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/WsWebSocketContainer.java Thu Feb 12 09:58:08 2015 @@ -36,6 +36,7 @@ import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Map.Entry; import java.util.Random; @@ -648,7 +649,7 @@ public class WsWebSocketContainer return; } // Header names are case insensitive so always use lower case - String headerName = line.substring(0, index).trim().toLowerCase(); + String headerName = line.substring(0, index).trim().toLowerCase(Locale.ENGLISH); // Multi-value headers are stored as a single header and the client is // expected to handle splitting into individual values String headerValue = line.substring(index + 1).trim(); Modified: tomcat/trunk/test/org/apache/catalina/filters/TestCorsFilter.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/filters/TestCorsFilter.java?rev=1659189&r1=1659188&r2=1659189&view=diff ============================================================================== --- tomcat/trunk/test/org/apache/catalina/filters/TestCorsFilter.java (original) +++ tomcat/trunk/test/org/apache/catalina/filters/TestCorsFilter.java Thu Feb 12 09:58:08 2015 @@ -18,6 +18,7 @@ package org.apache.catalina.filters; import java.io.IOException; import java.util.LinkedHashSet; +import java.util.Locale; import java.util.Set; import javax.servlet.FilterChain; @@ -60,7 +61,7 @@ public class TestCorsFilter { TesterFilterConfigs.HTTPS_WWW_APACHE_ORG)); Assert.assertTrue(request.getAttribute( CorsFilter.HTTP_REQUEST_ATTRIBUTE_REQUEST_TYPE).equals( - CorsFilter.CORSRequestType.SIMPLE.name().toLowerCase())); + CorsFilter.CORSRequestType.SIMPLE.name().toLowerCase(Locale.ENGLISH))); } /* @@ -93,7 +94,7 @@ public class TestCorsFilter { TesterFilterConfigs.HTTPS_WWW_APACHE_ORG)); Assert.assertTrue(request.getAttribute( CorsFilter.HTTP_REQUEST_ATTRIBUTE_REQUEST_TYPE).equals( - CorsFilter.CORSRequestType.SIMPLE.name().toLowerCase())); + CorsFilter.CORSRequestType.SIMPLE.name().toLowerCase(Locale.ENGLISH))); } /* @@ -125,7 +126,7 @@ public class TestCorsFilter { TesterFilterConfigs.HTTPS_WWW_APACHE_ORG)); Assert.assertTrue(request.getAttribute( CorsFilter.HTTP_REQUEST_ATTRIBUTE_REQUEST_TYPE).equals( - CorsFilter.CORSRequestType.SIMPLE.name().toLowerCase())); + CorsFilter.CORSRequestType.SIMPLE.name().toLowerCase(Locale.ENGLISH))); } /* @@ -158,7 +159,7 @@ public class TestCorsFilter { TesterFilterConfigs.HTTPS_WWW_APACHE_ORG)); Assert.assertTrue(request.getAttribute( CorsFilter.HTTP_REQUEST_ATTRIBUTE_REQUEST_TYPE).equals( - CorsFilter.CORSRequestType.SIMPLE.name().toLowerCase())); + CorsFilter.CORSRequestType.SIMPLE.name().toLowerCase(Locale.ENGLISH))); } /* @@ -196,7 +197,7 @@ public class TestCorsFilter { TesterFilterConfigs.HTTPS_WWW_APACHE_ORG)); Assert.assertTrue(request.getAttribute( CorsFilter.HTTP_REQUEST_ATTRIBUTE_REQUEST_TYPE).equals( - CorsFilter.CORSRequestType.SIMPLE.name().toLowerCase())); + CorsFilter.CORSRequestType.SIMPLE.name().toLowerCase(Locale.ENGLISH))); } /* @@ -232,7 +233,7 @@ public class TestCorsFilter { TesterFilterConfigs.HTTPS_WWW_APACHE_ORG)); Assert.assertTrue(request.getAttribute( CorsFilter.HTTP_REQUEST_ATTRIBUTE_REQUEST_TYPE).equals( - CorsFilter.CORSRequestType.SIMPLE.name().toLowerCase())); + CorsFilter.CORSRequestType.SIMPLE.name().toLowerCase(Locale.ENGLISH))); } /* @@ -269,7 +270,7 @@ public class TestCorsFilter { TesterFilterConfigs.HTTPS_WWW_APACHE_ORG)); Assert.assertTrue(request.getAttribute( CorsFilter.HTTP_REQUEST_ATTRIBUTE_REQUEST_TYPE).equals( - CorsFilter.CORSRequestType.SIMPLE.name().toLowerCase())); + CorsFilter.CORSRequestType.SIMPLE.name().toLowerCase(Locale.ENGLISH))); } /* @@ -306,7 +307,7 @@ public class TestCorsFilter { TesterFilterConfigs.HTTPS_WWW_APACHE_ORG)); Assert.assertTrue(request.getAttribute( CorsFilter.HTTP_REQUEST_ATTRIBUTE_REQUEST_TYPE).equals( - CorsFilter.CORSRequestType.PRE_FLIGHT.name().toLowerCase())); + CorsFilter.CORSRequestType.PRE_FLIGHT.name().toLowerCase(Locale.ENGLISH))); Assert.assertTrue(request.getAttribute( CorsFilter.HTTP_REQUEST_ATTRIBUTE_REQUEST_HEADERS).equals( "Content-Type")); @@ -348,7 +349,7 @@ public class TestCorsFilter { TesterFilterConfigs.HTTPS_WWW_APACHE_ORG)); Assert.assertTrue(request.getAttribute( CorsFilter.HTTP_REQUEST_ATTRIBUTE_REQUEST_TYPE).equals( - CorsFilter.CORSRequestType.PRE_FLIGHT.name().toLowerCase())); + CorsFilter.CORSRequestType.PRE_FLIGHT.name().toLowerCase(Locale.ENGLISH))); Assert.assertTrue(request.getAttribute( CorsFilter.HTTP_REQUEST_ATTRIBUTE_REQUEST_HEADERS).equals( "Content-Type")); @@ -414,7 +415,7 @@ public class TestCorsFilter { TesterFilterConfigs.HTTPS_WWW_APACHE_ORG)); Assert.assertTrue(request.getAttribute( CorsFilter.HTTP_REQUEST_ATTRIBUTE_REQUEST_TYPE).equals( - CorsFilter.CORSRequestType.PRE_FLIGHT.name().toLowerCase())); + CorsFilter.CORSRequestType.PRE_FLIGHT.name().toLowerCase(Locale.ENGLISH))); Assert.assertTrue(request.getAttribute( CorsFilter.HTTP_REQUEST_ATTRIBUTE_REQUEST_HEADERS).equals( "Content-Type")); @@ -452,7 +453,7 @@ public class TestCorsFilter { TesterFilterConfigs.HTTPS_WWW_APACHE_ORG)); Assert.assertTrue(request.getAttribute( CorsFilter.HTTP_REQUEST_ATTRIBUTE_REQUEST_TYPE).equals( - CorsFilter.CORSRequestType.PRE_FLIGHT.name().toLowerCase())); + CorsFilter.CORSRequestType.PRE_FLIGHT.name().toLowerCase(Locale.ENGLISH))); Assert.assertTrue(request.getAttribute( CorsFilter.HTTP_REQUEST_ATTRIBUTE_REQUEST_HEADERS).equals( "Content-Type")); @@ -490,7 +491,7 @@ public class TestCorsFilter { TesterFilterConfigs.HTTPS_WWW_APACHE_ORG)); Assert.assertTrue(request.getAttribute( CorsFilter.HTTP_REQUEST_ATTRIBUTE_REQUEST_TYPE).equals( - CorsFilter.CORSRequestType.PRE_FLIGHT.name().toLowerCase())); + CorsFilter.CORSRequestType.PRE_FLIGHT.name().toLowerCase(Locale.ENGLISH))); Assert.assertTrue(request.getAttribute( CorsFilter.HTTP_REQUEST_ATTRIBUTE_REQUEST_HEADERS).equals( "Content-Type")); @@ -637,7 +638,7 @@ public class TestCorsFilter { TesterFilterConfigs.HTTPS_WWW_APACHE_ORG)); Assert.assertTrue(request.getAttribute( CorsFilter.HTTP_REQUEST_ATTRIBUTE_REQUEST_TYPE).equals( - CorsFilter.CORSRequestType.SIMPLE.name().toLowerCase())); + CorsFilter.CORSRequestType.SIMPLE.name().toLowerCase(Locale.ENGLISH))); } @Test(expected = ServletException.class) Modified: tomcat/trunk/test/org/apache/tomcat/util/buf/TestB2CConverter.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/buf/TestB2CConverter.java?rev=1659189&r1=1659188&r2=1659189&view=diff ============================================================================== --- tomcat/trunk/test/org/apache/tomcat/util/buf/TestB2CConverter.java (original) +++ tomcat/trunk/test/org/apache/tomcat/util/buf/TestB2CConverter.java Thu Feb 12 09:58:08 2015 @@ -18,6 +18,7 @@ package org.apache.tomcat.util.buf; import java.nio.charset.Charset; import java.nio.charset.MalformedInputException; +import java.util.Locale; import org.junit.Assert; import org.junit.Test; @@ -71,7 +72,7 @@ public class TestB2CConverter { String charsetName = "UNSET"; for (Charset charset : Charset.availableCharsets().values()) { float leftover; - if (charset.name().toLowerCase().startsWith("x-")) { + if (charset.name().toLowerCase(Locale.ENGLISH).startsWith("x-")) { // Non-standard charset that browsers won't be using // Likely something used internally by the JRE continue; Modified: tomcat/trunk/test/org/apache/tomcat/util/net/TesterSupport.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/net/TesterSupport.java?rev=1659189&r1=1659188&r2=1659189&view=diff ============================================================================== --- tomcat/trunk/test/org/apache/tomcat/util/net/TesterSupport.java (original) +++ tomcat/trunk/test/org/apache/tomcat/util/net/TesterSupport.java Thu Feb 12 09:58:08 2015 @@ -22,6 +22,7 @@ import java.io.IOException; import java.io.InputStream; import java.security.KeyStore; import java.security.cert.X509Certificate; +import java.util.Locale; import javax.net.ssl.KeyManager; import javax.net.ssl.KeyManagerFactory; @@ -124,7 +125,7 @@ public final class TesterSupport { } protected static boolean isMacOs() { - return System.getProperty("os.name").toLowerCase().startsWith("mac os x"); + return System.getProperty("os.name").toLowerCase(Locale.ENGLISH).startsWith("mac os x"); } protected static boolean isRenegotiationSupported(Tomcat tomcat) { --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org