This is an automated email from the ASF dual-hosted git repository.

rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 24fbe6844f8b25d03435f5bb61b2888697b95d90
Author: Benoit Tellier <[email protected]>
AuthorDate: Fri May 29 09:13:19 2020 +0700

    JAMES-3196 CanSendFromImpl: log unexpected exception
    
    RRT resolution fails upon reads if the address feeded is invalid, or
    if a user has too much recursive mappings level.
    
    In any case this is some valuable audit information that could allow
    diagnosing alias related issues early, we should emit a WARN log for
    the admin to be aware of it.
---
 .../src/main/java/org/apache/james/rrt/lib/CanSendFromImpl.java  | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git 
a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/CanSendFromImpl.java
 
b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/CanSendFromImpl.java
index 8f7f70a..0293914 100644
--- 
a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/CanSendFromImpl.java
+++ 
b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/CanSendFromImpl.java
@@ -35,6 +35,8 @@ import org.apache.james.rrt.api.AliasReverseResolver;
 import org.apache.james.rrt.api.CanSendFrom;
 import org.apache.james.rrt.api.RecipientRewriteTable;
 import org.apache.james.rrt.api.RecipientRewriteTableException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 public class CanSendFromImpl implements CanSendFrom {
 
@@ -43,7 +45,9 @@ public class CanSendFromImpl implements CanSendFrom {
         List<Domain> fetch(Username user);
     }
 
-    public static final EnumSet<Mapping.Type> ALIAS_TYPES_ACCEPTED_IN_FROM = 
EnumSet.of(Alias, DomainAlias);
+    private static final Logger LOGGER = 
LoggerFactory.getLogger(CanSendFromImpl.class);
+    private static final EnumSet<Mapping.Type> ALIAS_TYPES_ACCEPTED_IN_FROM = 
EnumSet.of(Alias, DomainAlias);
+
     private final RecipientRewriteTable recipientRewriteTable;
     private final AliasReverseResolver aliasReverseResolver;
 
@@ -58,6 +62,9 @@ public class CanSendFromImpl implements CanSendFrom {
         try {
             return connectedUser.equals(fromUser) || 
emailIsAnAliasOfTheConnectedUser(connectedUser, fromUser);
         } catch (RecipientRewriteTableException | 
RecipientRewriteTable.ErrorMappingException e) {
+            LOGGER.warn("Error upon {} mapping resolution for {}. You might 
want to audit mapping content for this mapping entry. ",
+                fromUser.asString(),
+                connectedUser.asString());
             return false;
         }
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to