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 no...@apache.org on 2012/01/07 20:09:06 UTC
svn commit: r1228699 - in /james/server/trunk/smtpserver/src:
main/java/org/apache/james/smtpserver/
main/java/org/apache/james/smtpserver/fastfail/
main/java/org/apache/james/smtpserver/netty/
test/java/org/apache/james/smtpserver/
Author: norman
Date: Sat Jan 7 19:09:05 2012
New Revision: 1228699
URL: http://svn.apache.org/viewvc?rev=1228699&view=rev
Log:
Fix deprecated usage of procotols api.
Modified:
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/DataLineJamesMessageHookHandler.java
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/JamesDataCmdHandler.java
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/SPFHandler.java
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/SpamAssassinHandler.java
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/URIRBLHandler.java
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptMX.java
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/netty/SMTPChannelUpstreamHandler.java
james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/SPFHandlerTest.java
james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/URIRBLHandlerTest.java
james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/ValidRcptHandlerTest.java
james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/ValidRcptMXTest.java
Modified: james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/DataLineJamesMessageHookHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/DataLineJamesMessageHookHandler.java?rev=1228699&r1=1228698&r2=1228699&view=diff
==============================================================================
--- james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/DataLineJamesMessageHookHandler.java (original)
+++ james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/DataLineJamesMessageHookHandler.java Sat Jan 7 19:09:05 2012
@@ -36,6 +36,7 @@ import org.apache.james.core.MimeMessage
import org.apache.james.core.MimeMessageInputStream;
import org.apache.james.core.MimeMessageInputStreamSource;
import org.apache.james.lifecycle.api.LifecycleUtil;
+import org.apache.james.protocols.api.ProtocolSession.State;
import org.apache.james.protocols.api.Response;
import org.apache.james.protocols.api.handler.ExtensibleHandler;
import org.apache.james.protocols.api.handler.LineHandler;
@@ -77,7 +78,7 @@ public class DataLineJamesMessageHookHan
byte[] line = new byte[lineByteBuffer.remaining()];
lineByteBuffer.get(line, 0, line.length);
- MimeMessageInputStreamSource mmiss = (MimeMessageInputStreamSource) session.getState().get(SMTPConstants.DATA_MIMEMESSAGE_STREAMSOURCE);
+ MimeMessageInputStreamSource mmiss = (MimeMessageInputStreamSource) session.getAttachment(SMTPConstants.DATA_MIMEMESSAGE_STREAMSOURCE, State.Transaction);
try {
OutputStream out = mmiss.getWritableOutputStream();
@@ -88,8 +89,8 @@ public class DataLineJamesMessageHookHan
out.flush();
out.close();
- List<MailAddress> recipientCollection = (List<MailAddress>) session.getState().get(SMTPSession.RCPT_LIST);
- MailAddress mailAddress = (MailAddress) session.getState().get(SMTPSession.SENDER);
+ List<MailAddress> recipientCollection = (List<MailAddress>) session.getAttachment(SMTPSession.RCPT_LIST, State.Transaction);
+ MailAddress mailAddress = (MailAddress) session.getAttachment(SMTPSession.SENDER, State.Transaction);
List<org.apache.mailet.MailAddress> rcpts = new ArrayList<org.apache.mailet.MailAddress>();
for (MailAddress address: recipientCollection) {
@@ -99,7 +100,7 @@ public class DataLineJamesMessageHookHan
// store mail in the session so we can be sure it get disposed
// later
- session.getState().put(SMTPConstants.MAIL, mail);
+ session.setAttachment(SMTPConstants.MAIL, mail, State.Transaction);
MimeMessageCopyOnWriteProxy mimeMessageCopyOnWriteProxy = null;
try {
@@ -151,7 +152,7 @@ public class DataLineJamesMessageHookHan
protected Response processExtensions(SMTPSession session, Mail mail) {
if (mail != null && messageHandlers != null) {
try {
- MimeMessageInputStreamSource mmiss = (MimeMessageInputStreamSource) session.getState().get(SMTPConstants.DATA_MIMEMESSAGE_STREAMSOURCE);
+ MimeMessageInputStreamSource mmiss = (MimeMessageInputStreamSource) session.getAttachment(SMTPConstants.DATA_MIMEMESSAGE_STREAMSOURCE, State.Transaction);
OutputStream out = null;
try {
out = mmiss.getWritableOutputStream();
Modified: james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/JamesDataCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/JamesDataCmdHandler.java?rev=1228699&r1=1228698&r2=1228699&view=diff
==============================================================================
--- james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/JamesDataCmdHandler.java (original)
+++ james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/JamesDataCmdHandler.java Sat Jan 7 19:09:05 2012
@@ -22,6 +22,7 @@ import javax.mail.MessagingException;
import org.apache.james.core.MailImpl;
import org.apache.james.core.MimeMessageInputStreamSource;
+import org.apache.james.protocols.api.ProtocolSession.State;
import org.apache.james.protocols.smtp.SMTPResponse;
import org.apache.james.protocols.smtp.SMTPRetCode;
import org.apache.james.protocols.smtp.SMTPSession;
@@ -44,7 +45,7 @@ public class JamesDataCmdHandler extends
protected SMTPResponse doDATA(SMTPSession session, String argument) {
try {
MimeMessageInputStreamSource mmiss = new MimeMessageInputStreamSource(MailImpl.getId());
- session.getState().put(SMTPConstants.DATA_MIMEMESSAGE_STREAMSOURCE, mmiss);
+ session.setAttachment(SMTPConstants.DATA_MIMEMESSAGE_STREAMSOURCE, mmiss, State.Transaction);
} catch (MessagingException e) {
session.getLogger().warn("Error creating mimemessagesource for incoming data", e);
return new SMTPResponse(SMTPRetCode.LOCAL_ERROR, "Unexpected error preparing to receive DATA.");
Modified: james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/SPFHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/SPFHandler.java?rev=1228699&r1=1228698&r2=1228699&view=diff
==============================================================================
--- james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/SPFHandler.java (original)
+++ james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/SPFHandler.java Sat Jan 7 19:09:05 2012
@@ -26,6 +26,7 @@ import org.apache.james.jspf.core.except
import org.apache.james.jspf.executor.SPFResult;
import org.apache.james.jspf.impl.DefaultSPF;
import org.apache.james.jspf.impl.SPF;
+import org.apache.james.protocols.api.ProtocolSession.State;
import org.apache.james.protocols.lib.lifecycle.InitializingLifecycleAwareProtocolHandler;
import org.apache.james.protocols.smtp.MailAddress;
import org.apache.james.protocols.smtp.SMTPRetCode;
@@ -105,7 +106,7 @@ public class SPFHandler implements James
* SMTP session object
*/
private void doSPFCheck(SMTPSession session, MailAddress sender) {
- String heloEhlo = (String) session.getState().get(SMTPSession.CURRENT_HELO_NAME);
+ String heloEhlo = (String) session.getAttachment(SMTPSession.CURRENT_HELO_NAME, State.Transaction);
// We have no Sender or HELO/EHLO yet return false
if (sender == null || heloEhlo == null) {
@@ -121,7 +122,7 @@ public class SPFHandler implements James
String explanation = "Blocked - see: " + result.getExplanation();
// Store the header
- session.getState().put(SPF_HEADER, result.getHeaderText());
+ session.setAttachment(SPF_HEADER, result.getHeaderText(), State.Transaction);
session.getLogger().info("Result for " + ip + " - " + sender + " - " + heloEhlo + " = " + spfResult);
@@ -131,11 +132,11 @@ public class SPFHandler implements James
if (spfResult.equals(SPFErrorConstants.PERM_ERROR_CONV)) {
explanation = "Block caused by an invalid SPF record";
}
- session.getState().put(SPF_DETAIL, explanation);
- session.getState().put(SPF_BLOCKLISTED, "true");
+ session.setAttachment(SPF_DETAIL, explanation, State.Transaction);
+ session.setAttachment(SPF_BLOCKLISTED, "true", State.Transaction);
} else if (spfResult.equals(SPFErrorConstants.TEMP_ERROR_CONV)) {
- session.getState().put(SPF_TEMPBLOCKLISTED, "true");
+ session.setAttachment(SPF_TEMPBLOCKLISTED, "true", State.Transaction);
}
}
@@ -149,9 +150,9 @@ public class SPFHandler implements James
public HookResult doRcpt(SMTPSession session, MailAddress sender, MailAddress rcpt) {
if (!session.isRelayingAllowed()) {
// Check if session is blocklisted
- if (session.getState().get(SPF_BLOCKLISTED) != null) {
- return new HookResult(HookReturnCode.DENY, DSNStatus.getStatus(DSNStatus.PERMANENT, DSNStatus.SECURITY_AUTH) + " " + session.getState().get(SPF_TEMPBLOCKLISTED));
- } else if (session.getState().get(SPF_TEMPBLOCKLISTED) != null) {
+ if (session.getAttachment(SPF_BLOCKLISTED, State.Transaction) != null) {
+ return new HookResult(HookReturnCode.DENY, DSNStatus.getStatus(DSNStatus.PERMANENT, DSNStatus.SECURITY_AUTH) + " " + session.getAttachment(SPF_TEMPBLOCKLISTED, State.Transaction));
+ } else if (session.getAttachment(SPF_TEMPBLOCKLISTED, State.Transaction) != null) {
return new HookResult(HookReturnCode.DENYSOFT, SMTPRetCode.LOCAL_ERROR, DSNStatus.getStatus(DSNStatus.TRANSIENT, DSNStatus.NETWORK_DIR_SERVER) + " " + "Temporarily rejected: Problem on SPF lookup");
}
}
@@ -291,7 +292,7 @@ public class SPFHandler implements James
*/
public HookResult onMessage(SMTPSession session, Mail mail) {
// Store the spf header as attribute for later using
- mail.setAttribute(SPF_HEADER_MAIL_ATTRIBUTE_NAME, (String) session.getState().get(SPF_HEADER));
+ mail.setAttribute(SPF_HEADER_MAIL_ATTRIBUTE_NAME, (String) session.getAttachment(SPF_HEADER, State.Transaction));
return null;
}
Modified: james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/SpamAssassinHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/SpamAssassinHandler.java?rev=1228699&r1=1228698&r2=1228699&view=diff
==============================================================================
--- james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/SpamAssassinHandler.java (original)
+++ james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/SpamAssassinHandler.java Sat Jan 7 19:09:05 2012
@@ -26,6 +26,7 @@ import javax.mail.internet.MimeMessage;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
+import org.apache.james.protocols.api.ProtocolSession.State;
import org.apache.james.protocols.lib.lifecycle.InitializingLifecycleAwareProtocolHandler;
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.protocols.smtp.dsn.DSNStatus;
@@ -134,7 +135,7 @@ public class SpamAssassinHandler impleme
// if the hits are bigger the rejectionHits reject the
// message
if (spamdRejectionHits <= hits) {
- StringBuffer buffer = new StringBuffer(256).append("Rejected message from ").append(session.getState().get(SMTPSession.SENDER).toString()).append(" from host ").append(session.getRemoteAddress().getHostName()).append(" (").append(session.getRemoteAddress().getAddress().getHostAddress())
+ StringBuffer buffer = new StringBuffer(256).append("Rejected message from ").append(session.getAttachment(SMTPSession.SENDER, State.Transaction).toString()).append(" from host ").append(session.getRemoteAddress().getHostName()).append(" (").append(session.getRemoteAddress().getAddress().getHostAddress())
.append(") This message reach the spam hits treshold. Required rejection hits: ").append(spamdRejectionHits).append(" hits: ").append(hits);
session.getLogger().info(buffer.toString());
Modified: james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/URIRBLHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/URIRBLHandler.java?rev=1228699&r1=1228698&r2=1228699&view=diff
==============================================================================
--- james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/URIRBLHandler.java (original)
+++ james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/URIRBLHandler.java Sat Jan 7 19:09:05 2012
@@ -36,6 +36,7 @@ import javax.mail.internet.MimePart;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.james.dnsservice.api.DNSService;
+import org.apache.james.protocols.api.ProtocolSession.State;
import org.apache.james.protocols.lib.lifecycle.InitializingLifecycleAwareProtocolHandler;
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.protocols.smtp.dsn.DSNStatus;
@@ -119,8 +120,8 @@ public class URIRBLHandler implements Ja
*/
public HookResult onMessage(SMTPSession session, Mail mail) {
if (check(session, mail)) {
- String uRblServer = (String) session.getState().get(URBLSERVER);
- String target = (String) session.getState().get(LISTED_DOMAIN);
+ String uRblServer = (String) session.getAttachment(URBLSERVER, State.Transaction);
+ String target = (String) session.getAttachment(LISTED_DOMAIN, State.Transaction);
String detail = null;
// we should try to retrieve details
@@ -217,8 +218,8 @@ public class URIRBLHandler implements Ja
dnsService.getByName(address);
// store server name for later use
- session.getState().put(URBLSERVER, uRblServer);
- session.getState().put(LISTED_DOMAIN, target);
+ session.setAttachment(URBLSERVER, uRblServer, State.Transaction);
+ session.setAttachment(LISTED_DOMAIN, target, State.Transaction);
return true;
Modified: james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptMX.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptMX.java?rev=1228699&r1=1228698&r2=1228699&view=diff
==============================================================================
--- james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptMX.java (original)
+++ james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptMX.java Sat Jan 7 19:09:05 2012
@@ -150,6 +150,7 @@ public class ValidRcptMX implements Init
return new HookResult(HookReturnCode.DECLINED);
}
+ @SuppressWarnings("unchecked")
@Override
public void init(Configuration config) throws ConfigurationException {
Modified: james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/netty/SMTPChannelUpstreamHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/netty/SMTPChannelUpstreamHandler.java?rev=1228699&r1=1228698&r2=1228699&view=diff
==============================================================================
--- james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/netty/SMTPChannelUpstreamHandler.java (original)
+++ james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/netty/SMTPChannelUpstreamHandler.java Sat Jan 7 19:09:05 2012
@@ -21,6 +21,7 @@ package org.apache.james.smtpserver.nett
import org.apache.james.lifecycle.api.LifecycleUtil;
import org.apache.james.protocols.api.Encryption;
import org.apache.james.protocols.api.Protocol;
+import org.apache.james.protocols.api.ProtocolSession.State;
import org.apache.james.protocols.netty.BasicChannelUpstreamHandler;
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.smtpserver.SMTPConstants;
@@ -54,8 +55,8 @@ public class SMTPChannelUpstreamHandler
SMTPSession smtpSession = (SMTPSession) ctx.getAttachment();
if (smtpSession != null) {
- LifecycleUtil.dispose(smtpSession.getState().get(SMTPConstants.MAIL));
- LifecycleUtil.dispose(smtpSession.getState().get(SMTPConstants.DATA_MIMEMESSAGE_STREAMSOURCE));
+ LifecycleUtil.dispose(smtpSession.getAttachment(SMTPConstants.MAIL, State.Transaction));
+ LifecycleUtil.dispose(smtpSession.getAttachment(SMTPConstants.DATA_MIMEMESSAGE_STREAMSOURCE, State.Transaction));
}
super.cleanup(ctx);
Modified: james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/SPFHandlerTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/SPFHandlerTest.java?rev=1228699&r1=1228698&r2=1228699&view=diff
==============================================================================
--- james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/SPFHandlerTest.java (original)
+++ james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/SPFHandlerTest.java Sat Jan 7 19:09:05 2012
@@ -22,7 +22,6 @@ package org.apache.james.smtpserver;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import junit.framework.TestCase;
@@ -34,8 +33,6 @@ import org.apache.james.protocols.smtp.M
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.protocols.smtp.hook.HookReturnCode;
import org.apache.james.smtpserver.fastfail.SPFHandler;
-import org.apache.mailet.Mail;
-import org.apache.mailet.base.test.FakeMail;
public class SPFHandlerTest extends TestCase {
@@ -45,8 +42,6 @@ public class SPFHandlerTest extends Test
private boolean relaying = false;
- private String command = "MAIL";
-
protected void setUp() throws Exception {
super.setUp();
setupMockedDnsService();
@@ -120,64 +115,56 @@ public class SPFHandlerTest extends Test
};
}
-
- private void setCommand(String command) {
- this.command = command;
- }
-
+
/**
* Setup mocked smtpsession
*/
private void setupMockedSMTPSession(final String ip, final String helo) {
mockedSMTPSession = new BaseFakeSMTPSession() {
- HashMap state = new HashMap();
-
- HashMap connectionState = new HashMap();
-
- Mail mail = new FakeMail();
-
- boolean stopHandler = false;
-
- public void writeResponse(String respString) {
- // Do nothing
- }
-
- public String getCommandName() {
- return command;
- }
+ private HashMap<String, Object> sstate = new HashMap<String, Object>();
+ private HashMap<String, Object> connectionState = new HashMap<String, Object>();
- public Mail getMail() {
- return mail;
+ @Override
+ public Object setAttachment(String key, Object value, State state) {
+ if (state == State.Connection) {
+ if (value == null) {
+ return connectionState.remove(key);
+ }
+ return connectionState.put(key, value);
+ } else {
+ if (value == null) {
+ return sstate.remove(key);
+ }
+ return sstate.put(key, value);
+ }
}
+ @Override
+ public Object getAttachment(String key, State state) {
+ sstate.put(SMTPSession.CURRENT_HELO_NAME, helo);
+
+ if (state == State.Connection) {
+ return connectionState.get(key);
+ } else {
+ return sstate.get(key);
+ }
+ }
+
public String getRemoteIPAddress() {
return ip;
}
- public Map getState() {
- state.put(SMTPSession.CURRENT_HELO_NAME, helo);
- return state;
- }
+
public boolean isRelayingAllowed() {
return relaying;
}
- public boolean isAuthRequired() {
- return false;
- }
public int getRcptCount() {
return 0;
}
- public Map getConnectionState() {
- return connectionState;
- }
-
- public void resetConnectionState() {
- connectionState.clear();
- }
};
}
Modified: james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java?rev=1228699&r1=1228698&r2=1228699&view=diff
==============================================================================
--- james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java (original)
+++ james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/SpamAssassinHandlerTest.java Sat Jan 7 19:09:05 2012
@@ -21,7 +21,6 @@ package org.apache.james.smtpserver;
import java.io.IOException;
import java.util.HashMap;
-import java.util.Map;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
@@ -50,8 +49,9 @@ public class SpamAssassinHandlerTest ext
private SMTPSession setupMockedSMTPSession(final Mail mail) {
mockedMail = mail;
mockedSMTPSession = new BaseFakeSMTPSession() {
-
- private HashMap state = new HashMap();
+
+ private HashMap<String, Object> sstate = new HashMap<String, Object>();
+ private HashMap<String, Object> connectionState = new HashMap<String, Object>();
private String ipAddress = "192.168.0.1";
@@ -67,9 +67,29 @@ public class SpamAssassinHandlerTest ext
return ipAddress;
}
- public Map getState() {
- state.put(SMTPSession.SENDER, "sender@james.apache.org");
- return state;
+ @Override
+ public Object setAttachment(String key, Object value, State state) {
+ if (state == State.Connection) {
+ if (value == null) {
+ return connectionState.remove(key);
+ }
+ return connectionState.put(key, value);
+ } else {
+ if (value == null) {
+ return sstate.remove(key);
+ }
+ return sstate.put(key, value);
+ }
+ }
+
+ @Override
+ public Object getAttachment(String key, State state) {
+ sstate.put(SMTPSession.SENDER, "sender@james.apache.org");
+ if (state == State.Connection) {
+ return connectionState.get(key);
+ } else {
+ return sstate.get(key);
+ }
}
public boolean isRelayingAllowed() {
Modified: james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/URIRBLHandlerTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/URIRBLHandlerTest.java?rev=1228699&r1=1228698&r2=1228699&view=diff
==============================================================================
--- james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/URIRBLHandlerTest.java (original)
+++ james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/URIRBLHandlerTest.java Sat Jan 7 19:09:05 2012
@@ -26,7 +26,6 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import javax.mail.BodyPart;
import javax.mail.MessagingException;
@@ -60,7 +59,6 @@ public class URIRBLHandlerTest extends T
mockedMail = mail;
mockedSMTPSession = new BaseFakeSMTPSession() {
- private HashMap state = new HashMap();
private String ipAddress = "192.168.0.1";
@@ -76,11 +74,37 @@ public class URIRBLHandlerTest extends T
return ipAddress;
}
- public Map getState() {
- state.put(SMTPSession.SENDER, "sender@james.apache.org");
- return state;
+
+
+ private HashMap<String, Object> sstate = new HashMap<String, Object>();
+ private HashMap<String, Object> connectionState = new HashMap<String, Object>();
+
+ @Override
+ public Object setAttachment(String key, Object value, State state) {
+ if (state == State.Connection) {
+ if (value == null) {
+ return connectionState.remove(key);
+ }
+ return connectionState.put(key, value);
+ } else {
+ if (value == null) {
+ return sstate.remove(key);
+ }
+ return sstate.put(key, value);
+ }
}
+ @Override
+ public Object getAttachment(String key, State state) {
+ sstate.put(SMTPSession.SENDER, "sender@james.apache.org");
+
+ if (state == State.Connection) {
+ return connectionState.get(key);
+ } else {
+ return sstate.get(key);
+ }
+ }
+
public boolean isRelayingAllowed() {
return relayingAllowed;
}
Modified: james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/ValidRcptHandlerTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/ValidRcptHandlerTest.java?rev=1228699&r1=1228698&r2=1228699&view=diff
==============================================================================
--- james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/ValidRcptHandlerTest.java (original)
+++ james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/ValidRcptHandlerTest.java Sat Jan 7 19:09:05 2012
@@ -27,6 +27,7 @@ import java.util.Map;
import junit.framework.TestCase;
import org.apache.james.domainlist.api.mock.SimpleDomainList;
+import org.apache.james.protocols.api.ProtocolSession.State;
import org.apache.james.protocols.smtp.BaseFakeSMTPSession;
import org.apache.james.protocols.smtp.MailAddress;
import org.apache.james.protocols.smtp.SMTPConfiguration;
@@ -67,15 +68,37 @@ public class ValidRcptHandlerTest extend
private SMTPSession setupMockedSMTPSession(final SMTPConfiguration conf, final MailAddress rcpt, final boolean relayingAllowed) {
SMTPSession session = new BaseFakeSMTPSession() {
- HashMap<String, Object> state = new HashMap<String, Object>();
public boolean isRelayingAllowed() {
return relayingAllowed;
}
- public Map<String, Object> getState() {
- return state;
+ private HashMap<String, Object> sstate = new HashMap<String, Object>();
+ private HashMap<String, Object> connectionState = new HashMap<String, Object>();
+
+ @Override
+ public Object setAttachment(String key, Object value, State state) {
+ if (state == State.Connection) {
+ if (value == null) {
+ return connectionState.remove(key);
+ }
+ return connectionState.put(key, value);
+ } else {
+ if (value == null) {
+ return sstate.remove(key);
+ }
+ return sstate.put(key, value);
+ }
}
+
+ @Override
+ public Object getAttachment(String key, State state) {
+ if (state == State.Connection) {
+ return connectionState.get(key);
+ } else {
+ return sstate.get(key);
+ }
+ }
};
return session;
@@ -166,14 +189,6 @@ public class ValidRcptHandlerTest extend
throw new UnsupportedOperationException("Unimplemented Stub Method");
}
- public int getResetLength() {
- throw new UnsupportedOperationException("Unimplemented Stub Method");
- }
-
- public String getSMTPGreeting() {
- throw new UnsupportedOperationException("Unimplemented Stub Method");
- }
-
public boolean isRelayingAllowed(String remoteIP) {
throw new UnsupportedOperationException("Unimplemented Stub Method");
}
@@ -190,10 +205,6 @@ public class ValidRcptHandlerTest extend
throw new UnsupportedOperationException("Unimplemented Stub Method");
}
- public boolean isStartTLSSupported() {
- return false;
- }
-
@Override
public String getGreeting() {
// TODO Auto-generated method stub
@@ -252,7 +263,7 @@ public class ValidRcptHandlerTest extend
int rCode = handler.doRcpt(session, null, mailAddress).getResult();
- assertNull("Valid Error mapping", session.getState().get("VALID_USER"));
+ assertNull("Valid Error mapping", session.getAttachment("VALID_USER", State.Transaction));
assertEquals("Error mapping", rCode, HookReturnCode.DENY);
}
}
Modified: james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/ValidRcptMXTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/ValidRcptMXTest.java?rev=1228699&r1=1228698&r2=1228699&view=diff
==============================================================================
--- james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/ValidRcptMXTest.java (original)
+++ james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/ValidRcptMXTest.java Sat Jan 7 19:09:05 2012
@@ -24,7 +24,6 @@ import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
-import java.util.Map;
import javax.mail.internet.ParseException;
@@ -49,12 +48,34 @@ public class ValidRcptMXTest extends Tes
private SMTPSession setupMockedSMTPSession(final MailAddress rcpt) {
SMTPSession session = new BaseFakeSMTPSession() {
- HashMap state = new HashMap();
- public Map getState() {
- return state;
+
+ private HashMap<String, Object> sstate = new HashMap<String, Object>();
+ private HashMap<String, Object> connectionState = new HashMap<String, Object>();
+
+ @Override
+ public Object setAttachment(String key, Object value, State state) {
+ if (state == State.Connection) {
+ if (value == null) {
+ return connectionState.remove(key);
+ }
+ return connectionState.put(key, value);
+ } else {
+ if (value == null) {
+ return sstate.remove(key);
+ }
+ return sstate.put(key, value);
+ }
}
+ @Override
+ public Object getAttachment(String key, State state) {
+ if (state == State.Connection) {
+ return connectionState.get(key);
+ } else {
+ return sstate.get(key);
+ }
+ }
public String getRemoteIPAddress() {
return "127.0.0.1";
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org