You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by se...@apache.org on 2014/12/31 01:50:36 UTC

svn commit: r1648637 - in /commons/proper/validator/trunk/src: changes/changes.xml main/java/org/apache/commons/validator/routines/DomainValidator.java

Author: sebb
Date: Wed Dec 31 00:50:35 2014
New Revision: 1648637

URL: http://svn.apache.org/r1648637
Log:
VALIDATOR-347 toLowerCase() method is Locale-sensitive and should not be used

Modified:
    commons/proper/validator/trunk/src/changes/changes.xml
    commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/DomainValidator.java

Modified: commons/proper/validator/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/commons/proper/validator/trunk/src/changes/changes.xml?rev=1648637&r1=1648636&r2=1648637&view=diff
==============================================================================
--- commons/proper/validator/trunk/src/changes/changes.xml (original)
+++ commons/proper/validator/trunk/src/changes/changes.xml Wed Dec 31 00:50:35 2014
@@ -43,6 +43,10 @@ The <action> type attribute can be add,u
   <body>
 
   <release version="1.4.1" date="tba" description="Maintenance release">
+    <action dev="sebb" type="fix" issue="VALIDATOR-347" >
+      toLowerCase() method is Locale-sensitive and should not be used
+      Fixed 4 instances in DomainValidator
+    </action>
     <action dev="adrianc" type="update" issue="VALIDATOR-307">
       isValid checks if the given address is only IPV4 address and not IPV6
     </action>

Modified: commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/DomainValidator.java
URL: http://svn.apache.org/viewvc/commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/DomainValidator.java?rev=1648637&r1=1648636&r2=1648637&view=diff
==============================================================================
--- commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/DomainValidator.java (original)
+++ commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/DomainValidator.java Wed Dec 31 00:50:35 2014
@@ -18,6 +18,7 @@ package org.apache.commons.validator.rou
 
 import java.io.Serializable;
 import java.util.Arrays;
+import java.util.Locale;
 
 /**
  * <p><b>Domain name</b> validation routines.</p>
@@ -160,7 +161,7 @@ public class DomainValidator implements
      * @return true if the parameter is an infrastructure TLD
      */
     public boolean isValidInfrastructureTld(String iTld) {
-        return Arrays.binarySearch(INFRASTRUCTURE_TLDS, (chompLeadingDot(iTld.toLowerCase()))) >= 0;
+        return Arrays.binarySearch(INFRASTRUCTURE_TLDS, (chompLeadingDot(iTld.toLowerCase(Locale.ENGLISH)))) >= 0;
     }
 
     /**
@@ -171,7 +172,7 @@ public class DomainValidator implements
      * @return true if the parameter is a generic TLD
      */
     public boolean isValidGenericTld(String gTld) {
-        return Arrays.binarySearch(GENERIC_TLDS, chompLeadingDot(gTld.toLowerCase())) >= 0;
+        return Arrays.binarySearch(GENERIC_TLDS, chompLeadingDot(gTld.toLowerCase(Locale.ENGLISH))) >= 0;
     }
 
     /**
@@ -182,7 +183,7 @@ public class DomainValidator implements
      * @return true if the parameter is a country code TLD
      */
     public boolean isValidCountryCodeTld(String ccTld) {
-        return Arrays.binarySearch(COUNTRY_CODE_TLDS, chompLeadingDot(ccTld.toLowerCase())) >= 0;
+        return Arrays.binarySearch(COUNTRY_CODE_TLDS, chompLeadingDot(ccTld.toLowerCase(Locale.ENGLISH))) >= 0;
     }
 
     /**
@@ -193,7 +194,7 @@ public class DomainValidator implements
      * @return true if the parameter is an local TLD
      */
     public boolean isValidLocalTld(String iTld) {
-        return Arrays.binarySearch(LOCAL_TLDS, chompLeadingDot(iTld.toLowerCase())) >= 0;
+        return Arrays.binarySearch(LOCAL_TLDS, chompLeadingDot(iTld.toLowerCase(Locale.ENGLISH))) >= 0;
     }
 
     private String chompLeadingDot(String str) {