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 2017/02/16 13:38:34 UTC

svn commit: r1783203 - in /commons/proper/validator/trunk/src: changes/changes.xml main/java/org/apache/commons/validator/routines/UrlValidator.java test/java/org/apache/commons/validator/routines/UrlValidatorTest.java

Author: sebb
Date: Thu Feb 16 13:38:33 2017
New Revision: 1783203

URL: http://svn.apache.org/viewvc?rev=1783203&view=rev
Log:
VALIDATOR-420 Query params validator shouldn't accept whitespaces

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=1783203&r1=1783202&r2=1783203&view=diff
==============================================================================
--- commons/proper/validator/trunk/src/changes/changes.xml (original)
+++ commons/proper/validator/trunk/src/changes/changes.xml Thu Feb 16 13:38:33 2017
@@ -98,6 +98,9 @@ The dependencies for Validator have not
 For the current list of dependencies, please see
 http://commons.apache.org/validator/dependencies.html
   ">
+    <action issue="VALIDATOR-420" type="fix" dev="sebb" due-to="Marcin Gasior">
+    Query params validator shouldn't accept whitespaces
+    </action>
     <action issue="VALIDATOR-419" type="fix" dev="sebb" due-to="Denis Iskhakov">
     Invalid IPv6 addresses that are IPv4-mapped pass InetAddressValidator validation
     </action>

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=1783203&r1=1783202&r2=1783203&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 Thu Feb 16 13:38:33 2017
@@ -168,7 +168,7 @@ public class UrlValidator implements Ser
     private static final String PATH_REGEX = "^(/[-\\w:@&?=+,.!/~*'%$_;\\(\\)]*)?$";
     private static final Pattern PATH_PATTERN = Pattern.compile(PATH_REGEX);
 
-    private static final String QUERY_REGEX = "^(.*)$";
+    private static final String QUERY_REGEX = "^(\\S*)$";
     private static final Pattern QUERY_PATTERN = Pattern.compile(QUERY_REGEX);
 
     /**

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=1783203&r1=1783202&r2=1783203&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 Thu Feb 16 13:38:33 2017
@@ -491,6 +491,13 @@ protected void setUp() {
        assertTrue(validator.isValid("http://www.apache.org:/path"));
    }
 
+   public void testValidator420() {
+       UrlValidator validator = new UrlValidator();
+       assertFalse(validator.isValid("http://example.com/serach?address=Main Avenue"));
+       assertTrue(validator.isValid("http://example.com/serach?address=Main%20Avenue"));
+       assertTrue(validator.isValid("http://example.com/serach?address=Main+Avenue"));
+   }
+
    //-------------------- Test data for creating a composite URL
    /**
     * The data given below approximates the 4 parts of a URL