Author: sebb
Date: Tue Jan 13 22:30:28 2015
New Revision: 1651525
URL: http://svn.apache.org/r1651525
Log:
Add temporary hack to get round IDN.toASCII bug
It is not supposed to change ASCII input but it converts trailing ".." to "."
Modified:
commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/DomainValidator.java
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=1651525&r1=1651524&r2=1651525&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
Tue Jan 13 22:30:28 2015
@@ -1085,6 +1085,9 @@ public class DomainValidator implements
*/
// Needed by UrlValidator
static String unicodeToASCII(String input) {
+ if (isOnlyASCII(input)) { // TODO temporary hack to work round
IDN.toASCII bug
+ return input;
+ }
try {
return IDN.toASCII(input);
} catch (IllegalArgumentException e) { // input is not valid
@@ -1092,4 +1095,19 @@ public class DomainValidator implements
}
}
+ /*
+ * Check if input contains only ASCII
+ * Treats null as all ASCII
+ */
+ private static boolean isOnlyASCII(String input) {
+ if (input == null) {
+ return true;
+ }
+ for(int i=0; i < input.length(); i++) {
+ if (input.charAt(i) > 0x7F) {
+ return false;
+ }
+ }
+ return true;
+ }
}