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 ba...@apache.org on 2006/12/27 13:01:42 UTC
svn commit: r490483 - in /james/server/sandbox/handlerapi-experiment/src:
java/org/apache/james/smtpserver/ java/org/apache/james/smtpserver/core/
java/org/apache/james/smtpserver/core/filter/fastfail/
test/org/apache/james/smtpserver/
Author: bago
Date: Wed Dec 27 04:01:40 2006
New Revision: 490483
URL: http://svn.apache.org/viewvc?view=rev&rev=490483
Log:
Removed mail object from SMTPSession. Now it is only temporarily added as a property by the DataCmdHandler and passed as MessageHandler.onMessage parameter (added in this patch, too)
Modified:
james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/MessageHandler.java
james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPHandler.java
james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPSession.java
james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/DataCmdHandler.java
james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/SendMailHandler.java
james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/SetMimeHeaderHandler.java
james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/JunkScoreHandler.java
james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java
james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/SpamAssassinHandler.java
james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/URIRBLHandler.java
james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/AbstractSMTPSession.java
james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/JunkScoreHandlerTest.java
james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SPFHandlerTest.java
james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SetMimeHeaderHandlerTest.java
james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/URIRBLHandlerTest.java
Modified: james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/MessageHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/MessageHandler.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/MessageHandler.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/MessageHandler.java Wed Dec 27 04:01:40 2006
@@ -21,6 +21,8 @@
package org.apache.james.smtpserver;
+import org.apache.mailet.Mail;
+
/**
* Custom message handlers must implement this interface
* The message handlers will be server-wide common to all the SMTPHandlers,
@@ -31,6 +33,6 @@
/*
* Handle Message
**/
- SMTPResponse onMessage(SMTPSession session);
+ SMTPResponse onMessage(SMTPSession session, Mail mail);
}
Modified: james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPHandler.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPHandler.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPHandler.java Wed Dec 27 04:01:40 2006
@@ -21,10 +21,8 @@
package org.apache.james.smtpserver;
-import org.apache.avalon.framework.container.ContainerUtil;
import org.apache.james.core.AbstractJamesHandler;
import org.apache.james.util.CRLFDelimitedByteBuffer;
-import org.apache.mailet.Mail;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
@@ -58,11 +56,6 @@
SMTPHandlerChain handlerChain = null;
/**
- * The MailImpl object set by the DATA command
- */
- private Mail mail = null;
-
- /**
* The session termination status
*/
private boolean sessionEnded = false;
@@ -306,20 +299,6 @@
/**
- * @see org.apache.james.smtpserver.SMTPSession#getMail()
- */
- public Mail getMail() {
- return mail;
- }
-
- /**
- * @see org.apache.james.smtpserver.SMTPSession#setMail(Mail)
- */
- public void setMail(Mail mail) {
- this.mail = mail;
- }
-
- /**
* @see org.apache.james.smtpserver.SMTPSession#getRemoteHost()
*/
public String getRemoteHost() {
@@ -337,10 +316,6 @@
* @see org.apache.james.smtpserver.SMTPSession#resetState()
*/
public void resetState() {
- if(mail != null) {
- ContainerUtil.dispose(mail);
- mail = null;
- }
// remember the ehlo mode between resets
Object currentHeloMode = getState().get(CURRENT_HELO_MODE);
Modified: james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPSession.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPSession.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPSession.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/SMTPSession.java Wed Dec 27 04:01:40 2006
@@ -17,13 +17,8 @@
* under the License. *
****************************************************************/
-
-
package org.apache.james.smtpserver;
-
-import org.apache.mailet.Mail;
-
import java.util.Map;
/**
@@ -41,20 +36,6 @@
public final static String CURRENT_HELO_NAME = "CURRENT_HELO_NAME";
public static final Object CURRENT_RECIPIENT = "CURRENT_RECIPIENT"; // Current recipient
public final static String SESSION_STATE_MAP = "SESSION_STATE_MAP"; // the Session state
-
- /**
- * Returns Mail object for message handlers to process
- *
- * @return Mail object
- */
- Mail getMail();
-
- /**
- * Sets the MailImpl object for further processing
- *
- * @param mail MailImpl object
- */
- void setMail(Mail mail);
/**
* Returns host name of the client
Modified: james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/DataCmdHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/DataCmdHandler.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/DataCmdHandler.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/DataCmdHandler.java Wed Dec 27 04:01:40 2006
@@ -21,6 +21,7 @@
package org.apache.james.smtpserver.core;
+import org.apache.avalon.framework.container.ContainerUtil;
import org.apache.avalon.framework.logger.AbstractLogEnabled;
import org.apache.james.Constants;
import org.apache.james.core.MailHeaders;
@@ -38,6 +39,7 @@
import org.apache.james.util.DotStuffingInputStream;
import org.apache.james.util.mail.SMTPRetCode;
import org.apache.james.util.mail.dsn.DSNStatus;
+import org.apache.mailet.Mail;
import org.apache.mailet.MailAddress;
import org.apache.mailet.RFC2822Headers;
import org.apache.mailet.dates.RFC822DateFormat;
@@ -92,6 +94,8 @@
private final static char[] SMTPTerminator = { '\r', '\n', '.', '\r', '\n' };
private List messageHandlers;
+
+ private final static String LAST_MAIL_KEY = "org.apache.james.smtpserver.core.DataCmdHandler.LAST_MAIL_KEY";
/**
* process DATA command
@@ -173,7 +177,7 @@
e1.printStackTrace();
}
- return new SMTPResponse(SMTPRetCode.DATA_READY, "Ok Send data ending with <CRLF>.<CRLF>");
+ return new SMTPResponse("354", "Ok Send data ending with <CRLF>.<CRLF>");
}
@@ -258,6 +262,11 @@
}
+
+
+
+
+
private MailHeaders processMailHeaders(SMTPSession session, MailHeaders headers)
throws MessagingException {
// If headers do not contains minimum REQUIRED headers fields,
@@ -382,7 +391,7 @@
session.popLineHandler();
- session.setMail(mail);
+ session.getState().put(LAST_MAIL_KEY, mail);
} catch (MessagingException me) {
// if we get here, it means that we received a
// MessagingException, which would happen BEFORE we call
@@ -428,17 +437,11 @@
}
- /**
- * @see org.apache.james.smtpserver.ExtensibleHandler#getMarkerInterface()
- */
public Class getMarkerInterface() {
return MessageHandler.class;
}
- /**
- * @see org.apache.james.smtpserver.ExtensibleHandler#wireExtensions(java.util.List)
- */
public void wireExtensions(List extension) {
this.messageHandlers = extension;
}
@@ -447,12 +450,13 @@
* @param session
*/
private void processExtensions(SMTPSession session) {
- if(session.getMail() != null && messageHandlers != null) {
+ Object mail = session.getState().get(LAST_MAIL_KEY);
+ if(mail != null && mail instanceof Mail && messageHandlers != null) {
try {
getLogger().debug("executing message handlers");
int count = messageHandlers.size();
for(int i =0; i < count; i++) {
- SMTPResponse response = ((MessageHandler)messageHandlers.get(i)).onMessage(session);
+ SMTPResponse response = ((MessageHandler)messageHandlers.get(i)).onMessage(session, (Mail) mail);
session.writeSMTPResponse(response);
@@ -462,6 +466,12 @@
}
}
} finally {
+ // Dispose the mail object and remove it
+ if(mail != null) {
+ ContainerUtil.dispose(mail);
+ mail = null;
+ }
+ session.getState().remove(LAST_MAIL_KEY);
//do the clean up
session.resetState();
}
Modified: james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/SendMailHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/SendMailHandler.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/SendMailHandler.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/SendMailHandler.java Wed Dec 27 04:01:40 2006
@@ -59,10 +59,8 @@
* Adds header to the message
* @see org.apache.james.smtpserver#onMessage(SMTPSession)
*/
- public SMTPResponse onMessage(SMTPSession session) {
+ public SMTPResponse onMessage(SMTPSession session, Mail mail) {
getLogger().debug("sending mail");
-
- Mail mail = session.getMail();
try {
mailServer.sendMail(mail);
Modified: james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/SetMimeHeaderHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/SetMimeHeaderHandler.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/SetMimeHeaderHandler.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/SetMimeHeaderHandler.java Wed Dec 27 04:01:40 2006
@@ -28,6 +28,7 @@
import org.apache.james.smtpserver.MessageHandler;
import org.apache.james.smtpserver.SMTPResponse;
import org.apache.james.smtpserver.SMTPSession;
+import org.apache.mailet.Mail;
import javax.mail.internet.MimeMessage;
@@ -83,11 +84,11 @@
/**
* Adds header to the message
*
- * @see org.apache.james.smtpserver.MessageHandler#onMessage(org.apache.james.smtpserver.SMTPSession)
+ * @see org.apache.james.smtpserver.MessageHandler#onMessage(org.apache.james.smtpserver.SMTPSession, org.apache.mailet.Mail)
*/
- public SMTPResponse onMessage(SMTPSession session) {
+ public SMTPResponse onMessage(SMTPSession session, Mail mail) {
try {
- MimeMessage message = session.getMail().getMessage ();
+ MimeMessage message = mail.getMessage ();
//Set the header name and value (supplied at init time).
if(headerName != null) {
Modified: james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/JunkScoreHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/JunkScoreHandler.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/JunkScoreHandler.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/JunkScoreHandler.java Wed Dec 27 04:01:40 2006
@@ -37,6 +37,7 @@
import org.apache.james.util.junkscore.JunkScoreImpl;
import org.apache.james.util.mail.SMTPRetCode;
import org.apache.james.util.mail.dsn.DSNStatus;
+import org.apache.mailet.Mail;
/**
* Check if a configured JunkScore is reached and perform an action. Valid actions are: reject, compose, header.
@@ -94,10 +95,10 @@
}
/**
- * @see org.apache.james.smtpserver.MessageHandler#onMessage(org.apache.james.smtpserver.SMTPSession)
+ * @see org.apache.james.smtpserver.MessageHandler#onMessage(org.apache.james.smtpserver.SMTPSession, org.apache.mailet.Mail)
*/
- public SMTPResponse onMessage(SMTPSession session) {
- return checkScore(session);
+ public SMTPResponse onMessage(SMTPSession session, Mail mail) {
+ return checkScore(session, mail);
}
/**
@@ -105,7 +106,7 @@
*
* @param session the SMTPSession
*/
- private SMTPResponse checkScore(SMTPSession session) {
+ private SMTPResponse checkScore(SMTPSession session, Mail mail) {
JunkScore score1 = getLazyJunkScoreHandler(session.getConnectionState(),JunkScore.JUNK_SCORE_SESSION);
JunkScore score2 = getLazyJunkScoreHandler(session.getState(),JunkScore.JUNK_SCORE);
@@ -113,9 +114,9 @@
if (action.equals(COMPOSE_ACTION)) {
// Save the scores attribute to maybe use it later!
- session.getMail().setAttribute(JunkScore.JUNK_SCORE_SESSION_ATTR, String.valueOf(score1.getCompleteStoredScores()));
- session.getMail().setAttribute(JunkScore.JUNK_SCORE_ATTR, String.valueOf(score2.getCompleteStoredScores()));
- session.getMail().setAttribute(JunkScore.JUNK_SCORE_COMPOSED_ATTR, String.valueOf(composed.getCompleteStoredScores()));
+ mail.setAttribute(JunkScore.JUNK_SCORE_SESSION_ATTR, String.valueOf(score1.getCompleteStoredScores()));
+ mail.setAttribute(JunkScore.JUNK_SCORE_ATTR, String.valueOf(score2.getCompleteStoredScores()));
+ mail.setAttribute(JunkScore.JUNK_SCORE_COMPOSED_ATTR, String.valueOf(composed.getCompleteStoredScores()));
} else if (action.equals(REJECT_ACTION)) {
if (maxScore < composed.getCompleteStoredScores()) {
@@ -135,7 +136,7 @@
}
} else if (action.equals(HEADER_ACTION)) {
try {
- MimeMessage message = session.getMail().getMessage();
+ MimeMessage message = mail.getMessage();
Map scores = composed.getStoredScores();
Iterator itScores = scores.keySet().iterator();
Modified: james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/SPFHandler.java Wed Dec 27 04:01:40 2006
@@ -243,11 +243,9 @@
}
/**
- * @see org.apache.james.smtpserver.MessageHandler#onMessage(org.apache.james.smtpserver.SMTPSession)
+ * @see org.apache.james.smtpserver.MessageHandler#onMessage(org.apache.james.smtpserver.SMTPSession, org.apache.mailet.Mail)
*/
- public SMTPResponse onMessage(SMTPSession session) {
- Mail mail = session.getMail();
-
+ public SMTPResponse 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));
Modified: james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/SpamAssassinHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/SpamAssassinHandler.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/SpamAssassinHandler.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/SpamAssassinHandler.java Wed Dec 27 04:01:40 2006
@@ -142,9 +142,9 @@
}
/**
- * @see org.apache.james.smtpserver.MessageHandler#onMessage(org.apache.james.smtpserver.SMTPSession)
+ * @see org.apache.james.smtpserver.MessageHandler#onMessage(org.apache.james.smtpserver.SMTPSession, org.apache.mailet.Mail)
*/
- public SMTPResponse onMessage(SMTPSession session) {
+ public SMTPResponse onMessage(SMTPSession session, Mail mail) {
// Not scan the message if relaying allowed
if (session.isRelayingAllowed() && !checkAuthNetworks) {
@@ -152,7 +152,6 @@
}
try {
- Mail mail = session.getMail();
MimeMessage message = mail.getMessage();
SpamAssassinInvoker sa = new SpamAssassinInvoker(spamdHost,
spamdPort);
Modified: james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/URIRBLHandler.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/URIRBLHandler.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/URIRBLHandler.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/java/org/apache/james/smtpserver/core/filter/fastfail/URIRBLHandler.java Wed Dec 27 04:01:40 2006
@@ -48,6 +48,7 @@
import org.apache.james.util.mail.SMTPRetCode;
import org.apache.james.util.mail.dsn.DSNStatus;
import org.apache.james.util.urirbl.URIScanner;
+import org.apache.mailet.Mail;
/**
* Extract domains from message and check against URIRBLServer. For more informations see http://www.surbl.org
@@ -66,7 +67,8 @@
private final static String LISTED_DOMAIN ="LISTED_DOMAIN";
private final static String URBLSERVER = "URBL_SERVER";
-
+
+ private final static String TEMP_MAIL = "org.apache.james.smtpserver.core.filter.fastfail.URIRBLHandler.TEMP_MAIL";
/**
* @see org.apache.avalon.framework.service.Serviceable#service(ServiceManager)
*/
@@ -159,10 +161,13 @@
}
/**
- * @see org.apache.james.smtpserver.MessageHandler#onMessage(org.apache.james.smtpserver.SMTPSession)
+ * @see org.apache.james.smtpserver.MessageHandler#onMessage(org.apache.james.smtpserver.SMTPSession, org.apache.mailet.Mail)
*/
- public SMTPResponse onMessage(SMTPSession session) {
- return doProcessing(session);
+ public SMTPResponse onMessage(SMTPSession session, Mail mail) {
+ session.getState().put(TEMP_MAIL, mail);
+ SMTPResponse res = doProcessing(session);
+ session.getState().remove(TEMP_MAIL);
+ return res;
}
/**
@@ -215,7 +220,7 @@
}
try {
- message = session.getMail().getMessage();
+ message = ((Mail) session.getState().get(TEMP_MAIL)).getMessage();
HashSet domains = scanMailForDomains(message);
Modified: james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/AbstractSMTPSession.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/AbstractSMTPSession.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/AbstractSMTPSession.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/AbstractSMTPSession.java Wed Dec 27 04:01:40 2006
@@ -20,8 +20,6 @@
package org.apache.james.smtpserver;
-import org.apache.mailet.Mail;
-
import java.util.Map;
/**
@@ -45,13 +43,6 @@
}
/**
- * @see org.apache.james.smtpserver.SMTPSession#getMail()
- */
- public Mail getMail() {
- throw new UnsupportedOperationException("Unimplemented Stub Method");
- }
-
- /**
* @see org.apache.james.smtpserver.SMTPSession#getRcptCount()
*/
public int getRcptCount() {
@@ -111,13 +102,6 @@
* @see org.apache.james.smtpserver.SMTPSession#resetState()
*/
public void resetState() {
- throw new UnsupportedOperationException("Unimplemented Stub Method");
- }
-
- /**
- * @see org.apache.james.smtpserver.SMTPSession#setMail(org.apache.mailet.Mail)
- */
- public void setMail(Mail mail) {
throw new UnsupportedOperationException("Unimplemented Stub Method");
}
Modified: james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/JunkScoreHandlerTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/JunkScoreHandlerTest.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/JunkScoreHandlerTest.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/JunkScoreHandlerTest.java Wed Dec 27 04:01:40 2006
@@ -48,7 +48,6 @@
SMTPSession session = new AbstractSMTPSession() {
HashMap state = new HashMap();
HashMap cState = new HashMap();
- Mail m = null;
public Map getState() {
state.put(SMTPSession.SENDER, "sender@localhost");
@@ -58,11 +57,6 @@
public Map getConnectionState() {
return cState;
}
-
- public Mail getMail(){
- if (m == null) m = getMockMail();
- return m;
- }
public String getRemoteHost() {
return "anyHost";
@@ -107,12 +101,13 @@
handler.setAction("reject");
handler.setMaxScore(15.0);
- handler.onMessage(session);
+ Mail m = getMockMail();
+ handler.onMessage(session, m);
assertNull("Not rejected",response);
((JunkScore) session.getState().get(JunkScore.JUNK_SCORE)).setStoredScore(KEY1, SCORE1);
((JunkScore) session.getConnectionState().get(JunkScore.JUNK_SCORE_SESSION)).setStoredScore(KEY2, SCORE2);
- SMTPResponse response = handler.onMessage(session);
+ SMTPResponse response = handler.onMessage(session, m);
assertNotNull("Rejected",response);
}
@@ -126,9 +121,10 @@
JunkScoreHandler.getLazyJunkScoreHandler(session.getState(), JunkScore.JUNK_SCORE).setStoredScore(KEY1, SCORE1);
JunkScoreHandler.getLazyJunkScoreHandler(session.getConnectionState(), JunkScore.JUNK_SCORE_SESSION).setStoredScore(KEY2, SCORE2);
- SMTPResponse response = handler.onMessage(session);
+ Mail m = getMockMail();
+ SMTPResponse response = handler.onMessage(session,m);
- MimeMessage message = session.getMail().getMessage();
+ MimeMessage message = m.getMessage();
assertNotNull("Header added",message.getHeader("X-JUNKSCORE")[0]);
assertNotNull("Header added",message.getHeader("X-JUNKSCORE-COMPOSED")[0]);
assertNull("Not rejected", response);
Modified: james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SPFHandlerTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SPFHandlerTest.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SPFHandlerTest.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SPFHandlerTest.java Wed Dec 27 04:01:40 2006
@@ -45,12 +45,19 @@
private boolean relaying = false;
- private String command = "MAIL";
+ private Mail mockMail = null;
protected void setUp() throws Exception {
super.setUp();
setupMockedDnsService();
setRelayingAllowed(false);
+ mockMail = new MockMail();
+ }
+
+
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ ContainerUtil.dispose(mockMail);
}
/**
@@ -134,22 +141,6 @@
HashMap connectionState = new HashMap();
- Mail mail = new MockMail();
-
- boolean stopHandler = false;
-
- public void writeResponse(String respString) {
- // Do nothing
- }
-
- public String getCommandName() {
- return command;
- }
-
- public Mail getMail() {
- return mail;
- }
-
public String getRemoteIPAddress() {
return ip;
}
@@ -173,14 +164,6 @@
return 0;
}
- public void setStopHandlerProcessing(boolean b) {
- stopHandler = b;
- }
-
- public boolean getStopHandlerProcessing() {
- return stopHandler;
- }
-
public Map getConnectionState() {
return connectionState;
}
@@ -196,7 +179,7 @@
spf.onCommand(mockedSMTPSession,"RCPT","<" + rcpt + ">");
- spf.onMessage(mockedSMTPSession);
+ spf.onMessage(mockedSMTPSession, mockMail);
}
public void testSPFpass() throws Exception {
@@ -223,8 +206,7 @@
assertNotNull("Header should present", mockedSMTPSession.getState()
.get(SPFHandler.SPF_HEADER));
assertEquals("header", mockedSMTPSession.getState().get(
- SPFHandler.SPF_HEADER), mockedSMTPSession.getMail()
- .getAttribute(SPFHandler.SPF_HEADER_MAIL_ATTRIBUTE_NAME));
+ SPFHandler.SPF_HEADER), mockMail.getAttribute(SPFHandler.SPF_HEADER_MAIL_ATTRIBUTE_NAME));
}
public void testSPFfail() throws Exception {
@@ -274,8 +256,7 @@
assertNotNull("Header should present", mockedSMTPSession.getState()
.get(SPFHandler.SPF_HEADER));
assertEquals("header", mockedSMTPSession.getState().get(
- SPFHandler.SPF_HEADER), mockedSMTPSession.getMail()
- .getAttribute(SPFHandler.SPF_HEADER_MAIL_ATTRIBUTE_NAME));
+ SPFHandler.SPF_HEADER), mockMail.getAttribute(SPFHandler.SPF_HEADER_MAIL_ATTRIBUTE_NAME));
}
public void testSPFsoftFailRejectEnabled() throws Exception {
@@ -377,8 +358,7 @@
assertNotNull("Header should present", mockedSMTPSession.getState()
.get(SPFHandler.SPF_HEADER));
assertEquals("header", mockedSMTPSession.getState().get(
- SPFHandler.SPF_HEADER), mockedSMTPSession.getMail()
- .getAttribute(SPFHandler.SPF_HEADER_MAIL_ATTRIBUTE_NAME));
+ SPFHandler.SPF_HEADER), mockMail.getAttribute(SPFHandler.SPF_HEADER_MAIL_ATTRIBUTE_NAME));
}
public void testSPFpermErrorNotRejectPostmaster() throws Exception {
Modified: james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SetMimeHeaderHandlerTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SetMimeHeaderHandlerTest.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SetMimeHeaderHandlerTest.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SetMimeHeaderHandlerTest.java Wed Dec 27 04:01:40 2006
@@ -66,10 +66,6 @@
private void setupMockedSMTPSession() {
mockedSMTPSession = new AbstractSMTPSession() {
- public Mail getMail() {
- return mockedMail;
- }
-
public int getRcptCount() {
return 0;
}
@@ -91,9 +87,9 @@
header.setHeaderName(HEADER_NAME);
header.setHeaderValue(HEADER_VALUE);
- header.onMessage(mockedSMTPSession);
+ header.onMessage(mockedSMTPSession, mockedMail);
- assertEquals(HEADER_VALUE, mockedSMTPSession.getMail().getMessage()
+ assertEquals(HEADER_VALUE, mockedMail.getMessage()
.getHeader(HEADER_NAME)[0]);
}
@@ -111,9 +107,9 @@
header.setHeaderName(HEADER_NAME);
header.setHeaderValue(HEADER_VALUE);
- header.onMessage(mockedSMTPSession);
+ header.onMessage(mockedSMTPSession, mockedMail);
- assertEquals(HEADER_VALUE, mockedSMTPSession.getMail().getMessage()
+ assertEquals(HEADER_VALUE, mockedMail.getMessage()
.getHeader(HEADER_NAME)[0]);
}
Modified: james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SpamAssassinHandlerTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SpamAssassinHandlerTest.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SpamAssassinHandlerTest.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/SpamAssassinHandlerTest.java Wed Dec 27 04:01:40 2006
@@ -41,10 +41,13 @@
public class SpamAssassinHandlerTest extends TestCase {
private SMTPSession mockedSMTPSession;
+
+ private Mail mockedMail;
public final static String SPAMD_HOST = "localhost";
private SMTPSession setupMockedSMTPSession(final Mail mail) {
+ mockedMail = mail;
mockedSMTPSession = new AbstractSMTPSession() {
private HashMap state = new HashMap();
@@ -55,13 +58,6 @@
private boolean relayingAllowed;
- public void abortMessage() {
- }
-
- public Mail getMail() {
- return mail;
- }
-
public String getRemoteHost() {
return host;
}
@@ -117,12 +113,12 @@
handler.setSpamdHost(SPAMD_HOST);
handler.setSpamdPort(port);
handler.setSpamdRejectionHits(200.0);
- SMTPResponse response = handler.onMessage(session);
+ SMTPResponse response = handler.onMessage(session, mockedMail);
assertNull("Email was not rejected", response);
- assertEquals("email was not spam", session.getMail().getAttribute(
+ assertEquals("email was not spam", mockedMail.getAttribute(
SpamAssassinInvoker.FLAG_MAIL_ATTRIBUTE_NAME), "NO");
- assertNotNull("spam hits", session.getMail().getAttribute(
+ assertNotNull("spam hits", mockedMail.getAttribute(
SpamAssassinInvoker.STATUS_MAIL_ATTRIBUTE_NAME));
}
@@ -140,12 +136,12 @@
handler.setSpamdHost(SPAMD_HOST);
handler.setSpamdPort(port);
handler.setSpamdRejectionHits(2000.0);
- SMTPResponse response = handler.onMessage(session);
+ SMTPResponse response = handler.onMessage(session, mockedMail);
assertNull("Email was not rejected", response);
- assertEquals("email was spam", session.getMail().getAttribute(
+ assertEquals("email was spam", mockedMail.getAttribute(
SpamAssassinInvoker.FLAG_MAIL_ATTRIBUTE_NAME), "YES");
- assertNotNull("spam hits", session.getMail().getAttribute(
+ assertNotNull("spam hits", mockedMail.getAttribute(
SpamAssassinInvoker.STATUS_MAIL_ATTRIBUTE_NAME));
}
@@ -162,12 +158,12 @@
handler.setSpamdHost(SPAMD_HOST);
handler.setSpamdPort(port);
handler.setSpamdRejectionHits(200.0);
- SMTPResponse response = handler.onMessage(session);
+ SMTPResponse response = handler.onMessage(session, mockedMail);
assertNotNull("Email was rejected", response);
- assertEquals("email was spam", session.getMail().getAttribute(
+ assertEquals("email was spam", mockedMail.getAttribute(
SpamAssassinInvoker.FLAG_MAIL_ATTRIBUTE_NAME), "YES");
- assertNotNull("spam hits", session.getMail().getAttribute(
+ assertNotNull("spam hits", mockedMail.getAttribute(
SpamAssassinInvoker.STATUS_MAIL_ATTRIBUTE_NAME));
}
Modified: james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/URIRBLHandlerTest.java
URL: http://svn.apache.org/viewvc/james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/URIRBLHandlerTest.java?view=diff&rev=490483&r1=490482&r2=490483
==============================================================================
--- james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/URIRBLHandlerTest.java (original)
+++ james/server/sandbox/handlerapi-experiment/src/test/org/apache/james/smtpserver/URIRBLHandlerTest.java Wed Dec 27 04:01:40 2006
@@ -55,8 +55,10 @@
private static final String GOOD_DOMAIN = "good.apache.org";
private static final String URISERVER = "multi.surbl.org.";
private SMTPSession mockedSMTPSession;
+ private Mail mockedMail;
private SMTPSession setupMockedSMTPSession(final Mail mail) {
+ mockedMail = mail;
mockedSMTPSession = new AbstractSMTPSession() {
private HashMap state = new HashMap();
@@ -67,15 +69,6 @@
private boolean relayingAllowed;
- private boolean processing;
-
- public void abortMessage() {
- }
-
- public Mail getMail() {
- return mail;
- }
-
public String getRemoteHost() {
return host;
}
@@ -96,14 +89,6 @@
public void setRelayingAllowed(boolean relayingAllowed) {
this.relayingAllowed = relayingAllowed;
}
-
- public void setStopHandlerProcessing(boolean processing) {
- this.processing = processing;
- }
-
- public boolean getStopHandlerProcessing() {
- return processing;
- }
};
return mockedSMTPSession;
@@ -190,7 +175,7 @@
ContainerUtil.enableLogging(handler, new MockLogger());
handler.setDnsServer(setupMockedDnsServer());
handler.setUriRblServer(servers);
- SMTPResponse response = handler.onMessage(session);
+ SMTPResponse response = handler.onMessage(session, mockedMail);
assertNull("Email was not rejected", response);
}
@@ -207,7 +192,7 @@
ContainerUtil.enableLogging(handler, new MockLogger());
handler.setDnsServer(setupMockedDnsServer());
handler.setUriRblServer(servers);
- SMTPResponse response = handler.onMessage(session);
+ SMTPResponse response = handler.onMessage(session, mockedMail);
assertNotNull("Email was rejected", response);
}
@@ -224,7 +209,7 @@
ContainerUtil.enableLogging(handler, new MockLogger());
handler.setDnsServer(setupMockedDnsServer());
handler.setUriRblServer(servers);
- SMTPResponse response = handler.onMessage(session);
+ SMTPResponse response = handler.onMessage(session, mockedMail);
assertNotNull("Email was rejected", response);
}
@@ -244,7 +229,7 @@
handler.setUriRblServer(servers);
handler.setAction("junkScore");
handler.setScore(20);
- SMTPResponse response = handler.onMessage(session);
+ SMTPResponse response = handler.onMessage(session, mockedMail);
assertNull("Email was not rejected", response);
assertEquals("JunkScore added", ((JunkScore) session.getState().get(JunkScore.JUNK_SCORE)).getStoredScore("UriRBLCheck"), 20.0, 0d);
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org