Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=49227
authormarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Tue, 11 May 2010 19:51:45 +0000 (19:51 +0000)
committermarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Tue, 11 May 2010 19:51:45 +0000 (19:51 +0000)
Ensure case conversion behaves as expected
Patch provided by sebb

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@943250 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/coyote/http11/Http11AprProcessor.java
java/org/apache/coyote/http11/Http11NioProcessor.java
java/org/apache/coyote/http11/Http11Processor.java

index 2bbb275..54839a5 100644 (file)
@@ -20,6 +20,7 @@ package org.apache.coyote.http11;
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InterruptedIOException;
+import java.util.Locale;
 import java.util.StringTokenizer;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.regex.Pattern;
@@ -1444,7 +1445,7 @@ public class Http11AprProcessor implements ActionHook {
             String encodingName = null;
             while (commaPos != -1) {
                 encodingName = transferEncodingValue.substring
-                    (startPos, commaPos).toLowerCase().trim();
+                    (startPos, commaPos).toLowerCase(Locale.ENGLISH).trim();
                 if (!addInputFilter(inputFilters, encodingName)) {
                     // Unsupported transfer encoding
                     error = true;
@@ -1455,7 +1456,7 @@ public class Http11AprProcessor implements ActionHook {
                 commaPos = transferEncodingValue.indexOf(',', startPos);
             }
             encodingName = transferEncodingValue.substring(startPos)
-                .toLowerCase().trim();
+                .toLowerCase(Locale.ENGLISH).trim();
             if (!addInputFilter(inputFilters, encodingName)) {
                 // Unsupported transfer encoding
                 error = true;
index e6ab0ce..993b48b 100644 (file)
@@ -21,6 +21,7 @@ import java.io.IOException;
 import java.io.InterruptedIOException;
 import java.net.InetAddress;
 import java.nio.channels.SelectionKey;
+import java.util.Locale;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.apache.coyote.ActionCode;
@@ -933,7 +934,7 @@ public class Http11NioProcessor extends AbstractHttp11Processor implements Actio
             String encodingName = null;
             while (commaPos != -1) {
                 encodingName = transferEncodingValue.substring
-                    (startPos, commaPos).toLowerCase().trim();
+                    (startPos, commaPos).toLowerCase(Locale.ENGLISH).trim();
                 if (!addInputFilter(inputFilters, encodingName)) {
                     // Unsupported transfer encoding
                     error = true;
@@ -944,7 +945,7 @@ public class Http11NioProcessor extends AbstractHttp11Processor implements Actio
                 commaPos = transferEncodingValue.indexOf(',', startPos);
             }
             encodingName = transferEncodingValue.substring(startPos)
-                .toLowerCase().trim();
+                .toLowerCase(Locale.ENGLISH).trim();
             if (!addInputFilter(inputFilters, encodingName)) {
                 // Unsupported transfer encoding
                 error = true;
index ed45861..f927e01 100644 (file)
@@ -23,6 +23,7 @@ import java.net.InetAddress;
 import java.net.Socket;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
+import java.util.Locale;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.apache.coyote.ActionCode;
@@ -771,7 +772,7 @@ public class Http11Processor extends AbstractHttp11Processor implements ActionHo
             String encodingName = null;
             while (commaPos != -1) {
                 encodingName = transferEncodingValue.substring
-                    (startPos, commaPos).toLowerCase().trim();
+                    (startPos, commaPos).toLowerCase(Locale.ENGLISH).trim();
                 if (!addInputFilter(inputFilters, encodingName)) {
                     // Unsupported transfer encoding
                     error = true;
@@ -782,7 +783,7 @@ public class Http11Processor extends AbstractHttp11Processor implements ActionHo
                 commaPos = transferEncodingValue.indexOf(',', startPos);
             }
             encodingName = transferEncodingValue.substring(startPos)
-                .toLowerCase().trim();
+                .toLowerCase(Locale.ENGLISH).trim();
             if (!addInputFilter(inputFilters, encodingName)) {
                 // Unsupported transfer encoding
                 error = true;