Author: norman
Date: Sat Jan 14 16:04:11 2012
New Revision: 1231519

URL: http://svn.apache.org/viewvc?rev=1231519&view=rev
Log:
Make sure the Received header is only added one time. See PROTOCOLS-88

Modified:
    
james/protocols/trunk/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractAddHeadersFilter.java

Modified: 
james/protocols/trunk/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractAddHeadersFilter.java
URL: 
http://svn.apache.org/viewvc/james/protocols/trunk/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractAddHeadersFilter.java?rev=1231519&r1=1231518&r2=1231519&view=diff
==============================================================================
--- 
james/protocols/trunk/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractAddHeadersFilter.java
 (original)
+++ 
james/protocols/trunk/smtp/src/main/java/org/apache/james/protocols/smtp/core/AbstractAddHeadersFilter.java
 Sat Jan 14 16:04:11 2012
@@ -40,7 +40,8 @@ public abstract class AbstractAddHeaders
     private static final AtomicInteger COUNTER = new AtomicInteger(0);
     
     private final String headersPrefixAdded = "HEADERS_PREFIX_ADDED" + 
COUNTER.incrementAndGet();
-    
+    private final String headersSuffixAdded = "HEADERS_SUFFIX_ADDED" + 
COUNTER.incrementAndGet();
+
     enum Location{
         Prefix,
         Suffix
@@ -56,8 +57,8 @@ public abstract class AbstractAddHeaders
     
     @Override
     protected Response onSeparatorLine(SMTPSession session, ByteBuffer line, 
LineHandler<SMTPSession> next) {
-        if (getLocation() == Location.Suffix && 
session.getAttachment(headersPrefixAdded, State.Transaction) == null) { 
-            session.setAttachment(headersPrefixAdded, Boolean.TRUE, 
State.Transaction);
+        if (getLocation() == Location.Suffix && 
session.getAttachment(headersSuffixAdded, State.Transaction) == null) { 
+            session.setAttachment(headersSuffixAdded, Boolean.TRUE, 
State.Transaction);
             return addHeaders(session, line, next);
         }
         return super.onSeparatorLine(session, line, next);
@@ -65,7 +66,8 @@ public abstract class AbstractAddHeaders
 
     @Override
     protected Response onHeadersLine(SMTPSession session, ByteBuffer line, 
LineHandler<SMTPSession> next) {
-        if (getLocation() == Location.Prefix) {
+        if (getLocation() == Location.Prefix && 
session.getAttachment(headersPrefixAdded, State.Transaction) == null) {
+            session.setAttachment(headersPrefixAdded, Boolean.TRUE, 
State.Transaction);
             return addHeaders(session, line, next);
         }
         return super.onHeadersLine(session, line, next);



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