JAMES-2352 Accessing fields in "<>" mail address should not be allowed

The best option would have been to change the mailet API to allow handling 
sender as optional. But this is a major change in one of our core APIs,
would impact custom mailet/matchers, as well as require major code base changes.


Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/3306f185
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/3306f185
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/3306f185

Branch: refs/heads/master
Commit: 3306f1850433976fa346578ba20d9d2cb13a7418
Parents: 1b5bfe8
Author: benwa <btell...@linagora.com>
Authored: Wed Mar 21 10:42:04 2018 +0700
Committer: benwa <btell...@linagora.com>
Committed: Tue Mar 27 15:14:04 2018 +0700

----------------------------------------------------------------------
 core/src/main/java/org/apache/james/core/Domain.java      | 1 -
 core/src/main/java/org/apache/james/core/MailAddress.java | 4 ++--
 2 files changed, 2 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/3306f185/core/src/main/java/org/apache/james/core/Domain.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/james/core/Domain.java 
b/core/src/main/java/org/apache/james/core/Domain.java
index 22b48a0..808de41 100644
--- a/core/src/main/java/org/apache/james/core/Domain.java
+++ b/core/src/main/java/org/apache/james/core/Domain.java
@@ -28,7 +28,6 @@ import com.google.common.base.Preconditions;
 public class Domain implements Serializable {
 
     public static final Domain LOCALHOST = Domain.of("localhost");
-    public static final Domain NULL = new Domain("");
 
     private static String removeBrackets(String domainName) {
         if (!(domainName.startsWith("[") && domainName.endsWith("]"))) {

http://git-wip-us.apache.org/repos/asf/james-project/blob/3306f185/core/src/main/java/org/apache/james/core/MailAddress.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/james/core/MailAddress.java 
b/core/src/main/java/org/apache/james/core/MailAddress.java
index 0dafb85..aaf2abb 100644
--- a/core/src/main/java/org/apache/james/core/MailAddress.java
+++ b/core/src/main/java/org/apache/james/core/MailAddress.java
@@ -76,12 +76,12 @@ public class MailAddress implements java.io.Serializable {
 
         @Override
         public Domain getDomain() {
-            return Domain.NULL;
+            throw new IllegalStateException("NULL sender '<>' do not have 
domain part");
         }
 
         @Override
         public String getLocalPart() {
-            return "";
+            throw new IllegalStateException("NULL sender '<>' do not have 
local part");
         }
 
         @Override


---------------------------------------------------------------------
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