[ 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 "[EMAIL PROTECTED]" > is valid according to the EmailValidator whereas an email address of "[EMAIL > PROTECTED]" 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]