Author: sebb Date: Sun Feb 5 18:35:00 2017 New Revision: 1781788 URL: http://svn.apache.org/viewvc?rev=1781788&view=rev Log: VALIDATOR-387 Userinfo without colon should be valid in UrlValidator
Modified: commons/proper/validator/trunk/src/changes/changes.xml commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/UrlValidator.java commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/UrlValidatorTest.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=1781788&r1=1781787&r2=1781788&view=diff ============================================================================== --- commons/proper/validator/trunk/src/changes/changes.xml (original) +++ commons/proper/validator/trunk/src/changes/changes.xml Sun Feb 5 18:35:00 2017 @@ -90,7 +90,10 @@ The dependencies for Validator have not For the current list of dependencies, please see http://commons.apache.org/validator/dependencies.html "> - <action issue="VALIDATOR-394" type="add" dev="sebb" due-to="Niall Pemberton "</>> + <action issue="VALIDATOR-387" type="fix" dev="sebb" due-to=" Shumpei Akai"</>> + Userinfo without colon should be valid in UrlValidator + </action> + <action issue="VALIDATOR-394" type="add" dev="sebb" due-to="Niall Pemberton"</>> General Modulus Ten Check Digit Implementation </action> <action issue="VALIDATOR-411" type="fix" dev="sebb"> Modified: commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/UrlValidator.java URL: http://svn.apache.org/viewvc/commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/UrlValidator.java?rev=1781788&r1=1781787&r2=1781788&view=diff ============================================================================== --- commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/UrlValidator.java (original) +++ commons/proper/validator/trunk/src/main/java/org/apache/commons/validator/routines/UrlValidator.java Sun Feb 5 18:35:00 2017 @@ -147,8 +147,8 @@ public class UrlValidator implements Ser private static final String USERINFO_CHARS_REGEX = "[a-zA-Z0-9%-._~!$&'()*+,;=]"; // since neither ':' nor '@' are allowed chars, we don't need to use non-greedy matching private static final String USERINFO_FIELD_REGEX = - USERINFO_CHARS_REGEX + "+:" + // At least one character for the name - USERINFO_CHARS_REGEX + "*@"; // password may be absent + USERINFO_CHARS_REGEX + "+" + // At least one character for the name + "(?::" + USERINFO_CHARS_REGEX + "*)?@"; // colon and password may be absent private static final String AUTHORITY_REGEX = "(?:\\[("+IPV6_REGEX+")\\]|(?:(?:"+USERINFO_FIELD_REGEX+")?([" + AUTHORITY_CHARS_REGEX + "]*)))(?::(\\d*))?(.*)?"; // 1 e.g. user:pass@ 2 3 4 Modified: commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/UrlValidatorTest.java URL: http://svn.apache.org/viewvc/commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/UrlValidatorTest.java?rev=1781788&r1=1781787&r2=1781788&view=diff ============================================================================== --- commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/UrlValidatorTest.java (original) +++ commons/proper/validator/trunk/src/test/java/org/apache/commons/validator/routines/UrlValidatorTest.java Sun Feb 5 18:35:00 2017 @@ -471,6 +471,7 @@ protected void setUp() { assertTrue(validator.isValid("http://www.apache.org:80/path")); assertTrue(validator.isValid("http://user:p...@www.apache.org:80/path")); assertTrue(validator.isValid("http://user:@www.apache.org:80/path")); + assertTrue(validator.isValid("http://u...@www.apache.org:80/path")); assertTrue(validator.isValid("http://us%00er:-._~!$&'()*+,;=@www.apache.org:80/path")); assertFalse(validator.isValid("http://:p...@www.apache.org:80/path")); assertFalse(validator.isValid("http://:@www.apache.org:80/path"));