Antoine Duprat created JAMES-2552:
-------------------------------------

             Summary: Define the policy on mail address matching
                 Key: JAMES-2552
                 URL: https://issues.apache.org/jira/browse/JAMES-2552
             Project: James Server
          Issue Type: New Feature
            Reporter: Antoine Duprat


The mail address defined in this RFC: 
[https://tools.ietf.org/html/rfc5321#section-2.4] is leading to some 
interpretation on the case sensitive of user part.



Case insensitiveness of domains is already embeded as part of {{Domain}} object 
which MailAddress relies on.

Tests needs to be added in MailAddress tests:
{code:java}
a...@d.com == a...@d.com a...@d.com != a...@d.com {code}
{{ }}
But this commit should be dropped.

(BTW equals already do ignore case assertions...)
{code:java}
@Override
public final boolean equals(Object obj) { 
    if (obj == null) { 
        return false; 
    } else if (obj instanceof String) { 
        String theString = (String) obj; 
        return toString().equalsIgnoreCase(theString); 
    } else if (obj instanceof MailAddress) { 
        MailAddress addr = (MailAddress) obj; 
        if (isNullSender() && addr.isNullSender()) { 
            return true; 
        } 
        return equalsIgnoreCase(getLocalPart(), addr.getLocalPart()) 
            && Objects.equals(getDomain(), addr.getDomain()); 
    } 
    return false; 
}{code}
{{}}
{{}}{{}}

So I wonder how {{equalsIgnoreCase}} differs from {{equals}}. We may need a 
(separate) ticket to fix this incorrect behaviour (James should support case 
variation in mailAdresss - or alike)

Maybe TDD would have avoided such duplicated code BTW...

[

|https://tools.ietf.org/html/rfc5321#section-2.4]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org
For additional commands, e-mail: server-dev-h...@james.apache.org

Reply via email to