You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2006/12/08 02:57:31 UTC

svn commit: r483775 - /tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Request.java

Author: markt
Date: Thu Dec  7 17:57:30 2006
New Revision: 483775

URL: http://svn.apache.org/viewvc?view=rev&rev=483775
Log:
Use Remy's alternative patch to validate Accept-Language headers

Modified:
    tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Request.java

Modified: tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Request.java
URL: http://svn.apache.org/viewvc/tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Request.java?view=diff&rev=483775&r1=483774&r2=483775
==============================================================================
--- tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Request.java (original)
+++ tomcat/container/tc5.5.x/catalina/src/share/org/apache/catalina/connector/Request.java Thu Dec  7 17:57:30 2006
@@ -2488,9 +2488,6 @@
             String variant = null;
             int dash = entry.indexOf('-');
             if (dash < 0) {
-                if (!entry.matches(localeRegex)) {
-                    continue;
-                }
                 language = entry;
                 country = "";
                 variant = "";
@@ -2505,12 +2502,9 @@
                 } else {
                     variant = "";
                 }
-                if (!language.matches(localeRegex)) {
-                    continue;
-                }
-                if (!country.matches(localeRegex)) {
-                    continue;
-                }
+            }
+            if (!isAlpha(language) || !isAlpha(country) || !isAlpha(variant)) {
+                continue;
             }
 
             // Add a new Locale to the list of Locales for this quality level
@@ -2540,5 +2534,14 @@
 
     }
 
+    protected static final boolean isAlpha(String value) {
+        for (int i = 0; i < value.length(); i++) {
+            char c = value.charAt(i);
+            if (!((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))) {
+                return false;
+            }
+        }
+        return true;
+    }
 
 }



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