You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by "Adam Gordon (JIRA)" <ji...@apache.org> on 2007/01/15 19:54:27 UTC

[jira] Created: (VALIDATOR-220) EmailValidator fails with ArrayIndexOutOfBoundsException on domain names longer than 10 segments

EmailValidator fails with ArrayIndexOutOfBoundsException on domain names longer than 10 segments
------------------------------------------------------------------------------------------------

                 Key: VALIDATOR-220
                 URL: https://issues.apache.org/jira/browse/VALIDATOR-220
             Project: Commons Validator
          Issue Type: Bug
          Components: Framework
    Affects Versions: 1.3.1 Release, 1.3.0 Release
         Environment: $ uname -a
Linux frisky 2.6.17-10-generic #2 SMP Tue Dec 5 22:28:26 UTC 2006 i686 GNU/Linux
            Reporter: Adam Gordon


The EmailValidator class, specifically, the "protected boolean isValidSymbolicDomain(String domain)" method makes an assumption on the PERL RegEX rules, specifically, that no more than 10 domains/subdomains may be specified in an email address.  I.e. an email address of "foo@bar.2.3.4.5.6.7.8.9.com" is valid according to the EmailValidator whereas an email address of "foo@bar.1.2.3.4.5.6.7.8.9.com" causes isValidSymbolicDomain(String) to throw an ArrayIndexOutOfBoundsException because the "domainSegment" local variable is hard-coded to have a length of 10.  

Whether or not this is due to a limitation in PERL w.r.t. the maximum number of allowed groupings, I do not know, but the RFC for email addresses does not appear to specify a maximum number.  Additionally, although I couldn't find it in the RFC, Wikipedia says that the maximum number of characters for the domain name is 255 - though I am very hesitant to cite/use Wikipedia as an official source...

Granted, I've never seen a domain name w/ more than 5 subdomain names, let alone 10, but it seems like it should be supported regardless.

I'd submit a patch, but I wanted to discuss possible courses of action and determine the "right" (or at least acceptable) one.  Possible solutions are:

1.  check if the counter i in the for loop is > 10 and perform some action that stops the iterative process.
2.  if the max number of groupings in PERL RegEX is 10, maybe we shouldn't use RegEX to determine the groupings.

Please let me know if you 1) have an alternative solution and 2) want me to code a/the fix.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


[jira] Updated: (VALIDATOR-220) EmailValidator fails with ArrayIndexOutOfBoundsException on domain names longer than 10 segments

Posted by "Niall Pemberton (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/VALIDATOR-220?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Niall Pemberton updated VALIDATOR-220:
--------------------------------------

    Fix Version/s: 1.4
         Assignee: Niall Pemberton

> EmailValidator fails with ArrayIndexOutOfBoundsException on domain names longer than 10 segments
> ------------------------------------------------------------------------------------------------
>
>                 Key: VALIDATOR-220
>                 URL: https://issues.apache.org/jira/browse/VALIDATOR-220
>             Project: Commons Validator
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: 1.3.0 Release, 1.3.1 Release
>         Environment: $ uname -a
> Linux frisky 2.6.17-10-generic #2 SMP Tue Dec 5 22:28:26 UTC 2006 i686 GNU/Linux
>            Reporter: Adam Gordon
>         Assigned To: Niall Pemberton
>             Fix For: 1.4
>
>
> The EmailValidator class, specifically, the "protected boolean isValidSymbolicDomain(String domain)" method makes an assumption on the PERL RegEX rules, specifically, that no more than 10 domains/subdomains may be specified in an email address.  I.e. an email address of "foo@bar.2.3.4.5.6.7.8.9.com" is valid according to the EmailValidator whereas an email address of "foo@bar.1.2.3.4.5.6.7.8.9.com" causes isValidSymbolicDomain(String) to throw an ArrayIndexOutOfBoundsException because the "domainSegment" local variable is hard-coded to have a length of 10.  
> Whether or not this is due to a limitation in PERL w.r.t. the maximum number of allowed groupings, I do not know, but the RFC for email addresses does not appear to specify a maximum number.  Additionally, although I couldn't find it in the RFC, Wikipedia says that the maximum number of characters for the domain name is 255 - though I am very hesitant to cite/use Wikipedia as an official source...
> Granted, I've never seen a domain name w/ more than 5 subdomain names, let alone 10, but it seems like it should be supported regardless.
> I'd submit a patch, but I wanted to discuss possible courses of action and determine the "right" (or at least acceptable) one.  Possible solutions are:
> 1.  check if the counter i in the for loop is > 10 and perform some action that stops the iterative process.
> 2.  if the max number of groupings in PERL RegEX is 10, maybe we shouldn't use RegEX to determine the groupings.
> 3.  if, per the RFC, the max number of domain name groupings is 10, then the code should check for this.
> Please let me know if you 1) have an alternative solution and 2) want me to code a/the fix.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


[jira] Updated: (VALIDATOR-220) EmailValidator fails with ArrayIndexOutOfBoundsException on domain names longer than 10 segments

Posted by "Adam Gordon (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/VALIDATOR-220?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Adam Gordon updated VALIDATOR-220:
----------------------------------

    Description: 
The EmailValidator class, specifically, the "protected boolean isValidSymbolicDomain(String domain)" method makes an assumption on the PERL RegEX rules, specifically, that no more than 10 domains/subdomains may be specified in an email address.  I.e. an email address of "foo@bar.2.3.4.5.6.7.8.9.com" is valid according to the EmailValidator whereas an email address of "foo@bar.1.2.3.4.5.6.7.8.9.com" causes isValidSymbolicDomain(String) to throw an ArrayIndexOutOfBoundsException because the "domainSegment" local variable is hard-coded to have a length of 10.  

Whether or not this is due to a limitation in PERL w.r.t. the maximum number of allowed groupings, I do not know, but the RFC for email addresses does not appear to specify a maximum number.  Additionally, although I couldn't find it in the RFC, Wikipedia says that the maximum number of characters for the domain name is 255 - though I am very hesitant to cite/use Wikipedia as an official source...

Granted, I've never seen a domain name w/ more than 5 subdomain names, let alone 10, but it seems like it should be supported regardless.

I'd submit a patch, but I wanted to discuss possible courses of action and determine the "right" (or at least acceptable) one.  Possible solutions are:

1.  check if the counter i in the for loop is > 10 and perform some action that stops the iterative process.
2.  if the max number of groupings in PERL RegEX is 10, maybe we shouldn't use RegEX to determine the groupings.
3.  if, per the RFC, the max number of domain name groupings is 10, then the code should check for this.

Please let me know if you 1) have an alternative solution and 2) want me to code a/the fix.

  was:
The EmailValidator class, specifically, the "protected boolean isValidSymbolicDomain(String domain)" method makes an assumption on the PERL RegEX rules, specifically, that no more than 10 domains/subdomains may be specified in an email address.  I.e. an email address of "foo@bar.2.3.4.5.6.7.8.9.com" is valid according to the EmailValidator whereas an email address of "foo@bar.1.2.3.4.5.6.7.8.9.com" causes isValidSymbolicDomain(String) to throw an ArrayIndexOutOfBoundsException because the "domainSegment" local variable is hard-coded to have a length of 10.  

Whether or not this is due to a limitation in PERL w.r.t. the maximum number of allowed groupings, I do not know, but the RFC for email addresses does not appear to specify a maximum number.  Additionally, although I couldn't find it in the RFC, Wikipedia says that the maximum number of characters for the domain name is 255 - though I am very hesitant to cite/use Wikipedia as an official source...

Granted, I've never seen a domain name w/ more than 5 subdomain names, let alone 10, but it seems like it should be supported regardless.

I'd submit a patch, but I wanted to discuss possible courses of action and determine the "right" (or at least acceptable) one.  Possible solutions are:

1.  check if the counter i in the for loop is > 10 and perform some action that stops the iterative process.
2.  if the max number of groupings in PERL RegEX is 10, maybe we shouldn't use RegEX to determine the groupings.

Please let me know if you 1) have an alternative solution and 2) want me to code a/the fix.


> EmailValidator fails with ArrayIndexOutOfBoundsException on domain names longer than 10 segments
> ------------------------------------------------------------------------------------------------
>
>                 Key: VALIDATOR-220
>                 URL: https://issues.apache.org/jira/browse/VALIDATOR-220
>             Project: Commons Validator
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: 1.3.0 Release, 1.3.1 Release
>         Environment: $ uname -a
> Linux frisky 2.6.17-10-generic #2 SMP Tue Dec 5 22:28:26 UTC 2006 i686 GNU/Linux
>            Reporter: Adam Gordon
>
> The EmailValidator class, specifically, the "protected boolean isValidSymbolicDomain(String domain)" method makes an assumption on the PERL RegEX rules, specifically, that no more than 10 domains/subdomains may be specified in an email address.  I.e. an email address of "foo@bar.2.3.4.5.6.7.8.9.com" is valid according to the EmailValidator whereas an email address of "foo@bar.1.2.3.4.5.6.7.8.9.com" causes isValidSymbolicDomain(String) to throw an ArrayIndexOutOfBoundsException because the "domainSegment" local variable is hard-coded to have a length of 10.  
> Whether or not this is due to a limitation in PERL w.r.t. the maximum number of allowed groupings, I do not know, but the RFC for email addresses does not appear to specify a maximum number.  Additionally, although I couldn't find it in the RFC, Wikipedia says that the maximum number of characters for the domain name is 255 - though I am very hesitant to cite/use Wikipedia as an official source...
> Granted, I've never seen a domain name w/ more than 5 subdomain names, let alone 10, but it seems like it should be supported regardless.
> I'd submit a patch, but I wanted to discuss possible courses of action and determine the "right" (or at least acceptable) one.  Possible solutions are:
> 1.  check if the counter i in the for loop is > 10 and perform some action that stops the iterative process.
> 2.  if the max number of groupings in PERL RegEX is 10, maybe we shouldn't use RegEX to determine the groupings.
> 3.  if, per the RFC, the max number of domain name groupings is 10, then the code should check for this.
> Please let me know if you 1) have an alternative solution and 2) want me to code a/the fix.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


[jira] Commented: (VALIDATOR-220) EmailValidator fails with ArrayIndexOutOfBoundsException on domain names longer than 10 segments

Posted by "Adam Gordon (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/VALIDATOR-220?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12464991 ] 

Adam Gordon commented on VALIDATOR-220:
---------------------------------------

Oh, excellent.  Thanks for the heads up.

> EmailValidator fails with ArrayIndexOutOfBoundsException on domain names longer than 10 segments
> ------------------------------------------------------------------------------------------------
>
>                 Key: VALIDATOR-220
>                 URL: https://issues.apache.org/jira/browse/VALIDATOR-220
>             Project: Commons Validator
>          Issue Type: Bug
>          Components: Framework
>    Affects Versions: 1.3.0 Release, 1.3.1 Release
>         Environment: $ uname -a
> Linux frisky 2.6.17-10-generic #2 SMP Tue Dec 5 22:28:26 UTC 2006 i686 GNU/Linux
>            Reporter: Adam Gordon
>         Assigned To: Niall Pemberton
>             Fix For: 1.4
>
>
> The EmailValidator class, specifically, the "protected boolean isValidSymbolicDomain(String domain)" method makes an assumption on the PERL RegEX rules, specifically, that no more than 10 domains/subdomains may be specified in an email address.  I.e. an email address of "foo@bar.2.3.4.5.6.7.8.9.com" is valid according to the EmailValidator whereas an email address of "foo@bar.1.2.3.4.5.6.7.8.9.com" causes isValidSymbolicDomain(String) to throw an ArrayIndexOutOfBoundsException because the "domainSegment" local variable is hard-coded to have a length of 10.  
> Whether or not this is due to a limitation in PERL w.r.t. the maximum number of allowed groupings, I do not know, but the RFC for email addresses does not appear to specify a maximum number.  Additionally, although I couldn't find it in the RFC, Wikipedia says that the maximum number of characters for the domain name is 255 - though I am very hesitant to cite/use Wikipedia as an official source...
> Granted, I've never seen a domain name w/ more than 5 subdomain names, let alone 10, but it seems like it should be supported regardless.
> I'd submit a patch, but I wanted to discuss possible courses of action and determine the "right" (or at least acceptable) one.  Possible solutions are:
> 1.  check if the counter i in the for loop is > 10 and perform some action that stops the iterative process.
> 2.  if the max number of groupings in PERL RegEX is 10, maybe we shouldn't use RegEX to determine the groupings.
> 3.  if, per the RFC, the max number of domain name groupings is 10, then the code should check for this.
> Please let me know if you 1) have an alternative solution and 2) want me to code a/the fix.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org