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