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 22:23:27 UTC
[jira] Commented: (VALIDATOR-220) EmailValidator fails with
ArrayIndexOutOfBoundsException on domain names longer than 10 segments
[ 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