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 bt...@apache.org on 2017/08/24 03:46:30 UTC

[05/38] james-project git commit: JAMES-2114 Adding more MDC context for SMTP

JAMES-2114 Adding more MDC context for SMTP


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

Branch: refs/heads/master
Commit: 036fa84622ebc6b82b56cdb384d0b7aa173d3688
Parents: 8d4254a
Author: benwa <bt...@linagora.com>
Authored: Tue Aug 15 11:10:56 2017 +0700
Committer: benwa <bt...@linagora.com>
Committed: Thu Aug 24 10:34:42 2017 +0700

----------------------------------------------------------------------
 .../protocols/smtp/core/AbstractHookableCmdHandler.java | 12 +++++++++++-
 .../james/protocols/smtp/core/DataCmdHandler.java       | 12 +++++++++++-
 2 files changed, 22 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/james-project/blob/036fa846/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractHookableCmdHandler.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractHookableCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractHookableCmdHandler.java
index a935097..3f52b83 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractHookableCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractHookableCmdHandler.java
@@ -19,6 +19,8 @@
 
 package org.apache.james.protocols.smtp.core;
 
+import java.io.Closeable;
+import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Locale;
@@ -37,6 +39,9 @@ import org.apache.james.protocols.smtp.SMTPSession;
 import org.apache.james.protocols.smtp.hook.HookResult;
 import org.apache.james.protocols.smtp.hook.HookResultHook;
 import org.apache.james.protocols.smtp.hook.HookReturnCode;
+import org.apache.james.util.MDCBuilder;
+
+import com.google.common.base.Throwables;
 
 /**
  * Abstract class which Handle hook-aware CommanHandler.
@@ -65,7 +70,10 @@ public abstract class AbstractHookableCmdHandler<Hook extends org.apache.james.p
         String parameters = request.getArgument();
         Response response = doFilterChecks(session, command, parameters);
 
-        try {
+        try (Closeable closeable =
+                 MDCBuilder.create()
+                     .addContext(MDCBuilder.ACTION, command)
+                     .build()) {
             if (response == null) {
 
                 response = processHooks(session, command, parameters);
@@ -77,6 +85,8 @@ public abstract class AbstractHookableCmdHandler<Hook extends org.apache.james.p
             } else {
                 return response;
             }
+        } catch (IOException e) {
+            throw Throwables.propagate(e);
         } finally {
             timeMetric.stopAndPublish();
         }

http://git-wip-us.apache.org/repos/asf/james-project/blob/036fa846/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataCmdHandler.java
----------------------------------------------------------------------
diff --git a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataCmdHandler.java b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataCmdHandler.java
index 2321750..d20c1d0 100644
--- a/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataCmdHandler.java
+++ b/protocols/smtp/src/main/java/org/apache/james/protocols/smtp/core/DataCmdHandler.java
@@ -18,6 +18,8 @@
  ****************************************************************/
 package org.apache.james.protocols.smtp.core;
 
+import java.io.Closeable;
+import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
 import java.util.Collection;
@@ -44,6 +46,9 @@ import org.apache.james.protocols.smtp.SMTPResponse;
 import org.apache.james.protocols.smtp.SMTPRetCode;
 import org.apache.james.protocols.smtp.SMTPSession;
 import org.apache.james.protocols.smtp.dsn.DSNStatus;
+import org.apache.james.util.MDCBuilder;
+
+import com.google.common.base.Throwables;
 
 import com.google.common.collect.ImmutableSet;
 
@@ -139,7 +144,10 @@ public class DataCmdHandler implements CommandHandler<SMTPSession>, ExtensibleHa
     public Response onCommand(SMTPSession session, Request request) {
         TimeMetric timeMetric = metricFactory.timer("SMTP-" + request.getCommand());
         session.stopDetectingCommandInjection();
-        try {
+        try (Closeable closeable =
+                 MDCBuilder.create()
+                     .addContext(MDCBuilder.ACTION, request.getCommand())
+                     .build()) {
             String parameters = request.getArgument();
             Response response = doDATAFilter(session, parameters);
 
@@ -148,6 +156,8 @@ public class DataCmdHandler implements CommandHandler<SMTPSession>, ExtensibleHa
             } else {
                 return response;
             }
+        } catch (IOException e) {
+            throw Throwables.propagate(e);
         } finally {
             timeMetric.stopAndPublish();
             session.needsCommandInjectionDetection();


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org