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: [email protected]
For additional commands, e-mail: [email protected]