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]
