You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by rc...@apache.org on 2020/06/08 03:12:28 UTC
[james-project] 07/16: JAMES-3196 CanSendFromImpl: log unexpected
exception
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 <bt...@linagora.com>
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: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org