turner      2003/01/19 22:50:27

  Modified:    validator/src/share/org/apache/commons/validator
                        GenericValidator.java
               validator/src/test/org/apache/commons/validator
                        EmailTest.java
  Log:
  Fixes bug 16198 , non-ascii characters are now blocked in e-Mail addresses
  
  Revision  Changes    Path
  1.10      +10 -4     
jakarta-commons/validator/src/share/org/apache/commons/validator/GenericValidator.java
  
  Index: GenericValidator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/validator/src/share/org/apache/commons/validator/GenericValidator.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- GenericValidator.java     20 Jan 2003 06:28:37 -0000      1.9
  +++ GenericValidator.java     20 Jan 2003 06:50:26 -0000      1.10
  @@ -406,6 +406,7 @@
              String word = "(" + atom + "|" + quotedUser + ")";
   
              // Each pattern must be surrounded by /
  +        String legalAsciiPat = getDelimittedRegexp("^[\\000-\\177]+$");
              String emailPat = getDelimittedRegexp("^(.+)@(.+)$");
              String ipDomainPat = 
getDelimittedRegexp("^(\\d{1,3})[.](\\d{1,3})[.](\\d{1,3})[.](\\d{1,3})$");
              String userPat = getDelimittedRegexp("^" + word + "(\\." + word + ")*$");
  @@ -417,10 +418,15 @@
              Perl5Util matchIPPat = new Perl5Util();
              Perl5Util matchDomainPat = new Perl5Util();
              Perl5Util matchAtomPat = new Perl5Util();
  +           Perl5Util matchAsciiPat = new Perl5Util();
            
              boolean ipAddress = false;
              boolean symbolic = false;
            
  +        if (!matchAsciiPat.match(legalAsciiPat, value)) {
  +            return false;
  +        }
  +
              // Check the whole email address structure
              bValid = matchEmailPat.match(emailPat, value);
   
  
  
  
  1.6       +17 -4     
jakarta-commons/validator/src/test/org/apache/commons/validator/EmailTest.java
  
  Index: EmailTest.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/validator/src/test/org/apache/commons/validator/EmailTest.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- EmailTest.java    20 Jan 2003 06:28:37 -0000      1.5
  +++ EmailTest.java    20 Jan 2003 06:50:26 -0000      1.6
  @@ -213,6 +213,19 @@
      }
   
      /**
  +    * <p>Tests the e-mail validation with an RCS-noncompliant character in 
  +    * the address.</p>
  +   */
  +   public void testEmailWithBogusCharacter() throws ValidatorException {
  +      // Create bean to run test on.
  +      ValueBean info = new ValueBean();
  +
  +      info.setValue("andy.noble@\u008fdata-workshop.com");
  +      valueTest(info, false);
  +
  +   }
  +
  +   /**
       * Utlity class to run a test on a value.
       *
       * @param info    Value to run test on.
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to