Author: eric
Date: Fri Jan  6 11:35:16 2012
New Revision: 1228120

URL: http://svn.apache.org/viewvc?rev=1228120&view=rev
Log:
Import and Class rename / usage to use the new protocols 1.6.0-RC2-SNAPSHOT 
(JAMES-1360)

Modified:
    
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/DNSRBLHandler.java
    
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/JDBCGreylistHandler.java
    
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/MaxRcptHandler.java
    
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ResolvableEhloHeloHandler.java
    
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ReverseEqualsEhloHeloHandler.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/SpamTrapHandler.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/ValidRcptHandler.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/fastfail/ValidSenderDomainHandler.java

Modified: 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/DNSRBLHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/DNSRBLHandler.java?rev=1228120&r1=1228119&r2=1228120&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/DNSRBLHandler.java
 (original)
+++ 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/DNSRBLHandler.java
 Fri Jan  6 11:35:16 2012
@@ -22,21 +22,12 @@ package org.apache.james.smtpserver.fast
 import java.util.ArrayList;
 import java.util.List;
 
-import javax.annotation.Resource;
-
 import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.HierarchicalConfiguration;
-import org.apache.james.dnsservice.api.DNSService;
-import org.apache.james.protocols.api.handler.LifecycleAwareProtocolHandler;
-import org.apache.james.smtpserver.SMTPServerDNSServiceAdapter;
-
-public class DNSRBLHandler extends 
org.apache.james.protocols.smtp.core.fastfail.DNSRBLHandler implements 
LifecycleAwareProtocolHandler {
-
-    @Resource(name = "dnsservice")
-    public void setDNSService(DNSService dns) {
-        super.setDNSService(new SMTPServerDNSServiceAdapter(dns));
-    }
+import 
org.apache.james.protocols.lib.lifecycle.InitializingLifecycleAwareProtocolHandler;
+
+public class DNSRBLHandler extends 
org.apache.james.protocols.smtp.core.fastfail.DNSRBLHandler implements 
InitializingLifecycleAwareProtocolHandler {
 
     @SuppressWarnings("unchecked")
     @Override
@@ -82,7 +73,6 @@ public class DNSRBLHandler extends org.a
 
     @Override
     public void destroy() {
-        // TODO Auto-generated method stub
-        
+        // Do nothing
     }
 }

Modified: 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/JDBCGreylistHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/JDBCGreylistHandler.java?rev=1228120&r1=1228119&r2=1228120&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/JDBCGreylistHandler.java
 (original)
+++ 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/JDBCGreylistHandler.java
 Fri Jan  6 11:35:16 2012
@@ -41,7 +41,8 @@ import org.apache.commons.configuration.
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.dnsservice.library.netmatcher.NetMatcher;
 import org.apache.james.filesystem.api.FileSystem;
-import org.apache.james.protocols.api.handler.LifecycleAwareProtocolHandler;
+import 
org.apache.james.protocols.lib.lifecycle.InitializingLifecycleAwareProtocolHandler;
+import org.apache.james.protocols.smtp.MailAddress;
 import org.apache.james.protocols.smtp.SMTPSession;
 import org.apache.james.protocols.smtp.core.fastfail.AbstractGreylistHandler;
 import org.apache.james.protocols.smtp.hook.HookResult;
@@ -49,14 +50,13 @@ import org.apache.james.protocols.smtp.h
 import org.apache.james.util.TimeConverter;
 import org.apache.james.util.sql.JDBCUtil;
 import org.apache.james.util.sql.SqlResources;
-import org.apache.mailet.MailAddress;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
  * GreylistHandler which can be used to activate Greylisting
  */
-public class JDBCGreylistHandler extends AbstractGreylistHandler implements 
LifecycleAwareProtocolHandler {
+public class JDBCGreylistHandler extends AbstractGreylistHandler implements 
InitializingLifecycleAwareProtocolHandler {
 
     /** This log is the fall back shared by all instances */
     private static final Logger FALLBACK_LOG = 
LoggerFactory.getLogger(JDBCGreylistHandler.class);
@@ -392,10 +392,10 @@ public class JDBCGreylistHandler extends
      *      org.apache.mailet.MailAddress, org.apache.mailet.MailAddress)
      */
     public HookResult doRcpt(SMTPSession session, MailAddress sender, 
MailAddress rcpt) {
-        if ((wNetworks == null) || 
(!wNetworks.matchInetNetwork(session.getRemoteIPAddress()))) {
+        if ((wNetworks == null) || 
(!wNetworks.matchInetNetwork(session.getRemoteAddress().getAddress().toString())))
 {
             return super.doRcpt(session, sender, rcpt);
         } else {
-            session.getLogger().info("IpAddress " + 
session.getRemoteIPAddress() + " is whitelisted. Skip greylisting.");
+            session.getLogger().info("IpAddress " + 
session.getRemoteAddress().getAddress().toString() + " is whitelisted. Skip 
greylisting.");
         }
         return new HookResult(HookReturnCode.DECLINED);
     }

Modified: 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/MaxRcptHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/MaxRcptHandler.java?rev=1228120&r1=1228119&r2=1228120&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/MaxRcptHandler.java
 (original)
+++ 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/MaxRcptHandler.java
 Fri Jan  6 11:35:16 2012
@@ -21,9 +21,9 @@ package org.apache.james.smtpserver.fast
 
 import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
-import org.apache.james.protocols.api.handler.LifecycleAwareProtocolHandler;
+import 
org.apache.james.protocols.lib.lifecycle.InitializingLifecycleAwareProtocolHandler;
 
-public class MaxRcptHandler extends 
org.apache.james.protocols.smtp.core.fastfail.MaxRcptHandler implements 
LifecycleAwareProtocolHandler {
+public class MaxRcptHandler extends 
org.apache.james.protocols.smtp.core.fastfail.MaxRcptHandler implements 
InitializingLifecycleAwareProtocolHandler {
 
     @Override
     public void init(Configuration config) throws ConfigurationException {

Modified: 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ResolvableEhloHeloHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ResolvableEhloHeloHandler.java?rev=1228120&r1=1228119&r2=1228120&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ResolvableEhloHeloHandler.java
 (original)
+++ 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ResolvableEhloHeloHandler.java
 Fri Jan  6 11:35:16 2012
@@ -19,16 +19,6 @@
 
 package org.apache.james.smtpserver.fastfail;
 
-import javax.annotation.Resource;
-
-import org.apache.james.dnsservice.api.DNSService;
-import org.apache.james.smtpserver.SMTPServerDNSServiceAdapter;
-
 public class ResolvableEhloHeloHandler extends 
org.apache.james.protocols.smtp.core.fastfail.ResolvableEhloHeloHandler {
 
-    @Resource(name = "dnsservice")
-    public void setDNSService(DNSService dns) {
-        super.setDNSService(new SMTPServerDNSServiceAdapter(dns));
-    }
-
 }

Modified: 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ReverseEqualsEhloHeloHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ReverseEqualsEhloHeloHandler.java?rev=1228120&r1=1228119&r2=1228120&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ReverseEqualsEhloHeloHandler.java
 (original)
+++ 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ReverseEqualsEhloHeloHandler.java
 Fri Jan  6 11:35:16 2012
@@ -16,18 +16,8 @@
  * specific language governing permissions and limitations      *
  * under the License.                                           *
  ****************************************************************/
-
 package org.apache.james.smtpserver.fastfail;
 
-import javax.annotation.Resource;
-
-import org.apache.james.dnsservice.api.DNSService;
-import org.apache.james.smtpserver.SMTPServerDNSServiceAdapter;
-
 public class ReverseEqualsEhloHeloHandler extends 
org.apache.james.protocols.smtp.core.fastfail.ReverseEqualsEhloHeloHandler {
 
-    @Resource(name = "dnsservice")
-    public void setDNSService(DNSService dns) {
-        super.setDNSService(new SMTPServerDNSServiceAdapter(dns));
-    }
 }

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=1228120&r1=1228119&r2=1228120&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
 Fri Jan  6 11:35:16 2012
@@ -26,7 +26,8 @@ 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.handler.LifecycleAwareProtocolHandler;
+import 
org.apache.james.protocols.lib.lifecycle.InitializingLifecycleAwareProtocolHandler;
+import org.apache.james.protocols.smtp.MailAddress;
 import org.apache.james.protocols.smtp.SMTPRetCode;
 import org.apache.james.protocols.smtp.SMTPSession;
 import org.apache.james.protocols.smtp.dsn.DSNStatus;
@@ -36,11 +37,10 @@ import org.apache.james.protocols.smtp.h
 import org.apache.james.protocols.smtp.hook.RcptHook;
 import org.apache.james.smtpserver.JamesMessageHook;
 import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class SPFHandler implements JamesMessageHook, MailHook, RcptHook, 
LifecycleAwareProtocolHandler {
+public class SPFHandler implements JamesMessageHook, MailHook, RcptHook, 
InitializingLifecycleAwareProtocolHandler {
 
     /** This log is the fall back shared by all instances */
     private static final Logger FALLBACK_LOG = 
LoggerFactory.getLogger(SPFHandler.class);
@@ -112,7 +112,7 @@ public class SPFHandler implements James
             session.getLogger().info("No Sender or HELO/EHLO present");
         } else {
 
-            String ip = session.getRemoteIPAddress();
+            String ip = session.getRemoteAddress().getAddress().toString();
 
             SPFResult result = spf.checkSPF(ip, sender.toString(), heloEhlo);
 

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=1228120&r1=1228119&r2=1228120&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
 Fri Jan  6 11:35:16 2012
@@ -26,7 +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.handler.LifecycleAwareProtocolHandler;
+import 
org.apache.james.protocols.lib.lifecycle.InitializingLifecycleAwareProtocolHandler;
 import org.apache.james.protocols.smtp.SMTPSession;
 import org.apache.james.protocols.smtp.dsn.DSNStatus;
 import org.apache.james.protocols.smtp.hook.HookResult;
@@ -64,7 +64,7 @@ import org.apache.mailet.Mail;
  * 
  * </p>
  */
-public class SpamAssassinHandler implements JamesMessageHook, 
LifecycleAwareProtocolHandler {
+public class SpamAssassinHandler implements JamesMessageHook, 
InitializingLifecycleAwareProtocolHandler {
 
     /** The port spamd is listen on */
     private int spamdPort = 783;
@@ -134,7 +134,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.getRemoteHost()).append(" 
(").append(session.getRemoteIPAddress())
+                        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().toString())
                                 .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/SpamTrapHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/SpamTrapHandler.java?rev=1228120&r1=1228119&r2=1228120&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/SpamTrapHandler.java
 (original)
+++ 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/SpamTrapHandler.java
 Fri Jan  6 11:35:16 2012
@@ -23,9 +23,9 @@ import java.util.List;
 
 import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
-import org.apache.james.protocols.api.handler.LifecycleAwareProtocolHandler;
+import 
org.apache.james.protocols.lib.lifecycle.InitializingLifecycleAwareProtocolHandler;
 
-public class SpamTrapHandler extends 
org.apache.james.protocols.smtp.core.fastfail.SpamTrapHandler implements 
LifecycleAwareProtocolHandler {
+public class SpamTrapHandler extends 
org.apache.james.protocols.smtp.core.fastfail.SpamTrapHandler implements 
InitializingLifecycleAwareProtocolHandler {
 
     @SuppressWarnings("unchecked")
     @Override

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=1228120&r1=1228119&r2=1228120&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
 Fri Jan  6 11:35:16 2012
@@ -36,7 +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.handler.LifecycleAwareProtocolHandler;
+import 
org.apache.james.protocols.lib.lifecycle.InitializingLifecycleAwareProtocolHandler;
 import org.apache.james.protocols.smtp.SMTPSession;
 import org.apache.james.protocols.smtp.dsn.DSNStatus;
 import org.apache.james.protocols.smtp.hook.HookResult;
@@ -50,7 +50,7 @@ import org.slf4j.LoggerFactory;
  * Extract domains from message and check against URIRBLServer. For more
  * informations see <a href="http://www.surbl.org";>www.surbl.org</a>
  */
-public class URIRBLHandler implements JamesMessageHook, 
LifecycleAwareProtocolHandler {
+public class URIRBLHandler implements JamesMessageHook, 
InitializingLifecycleAwareProtocolHandler {
 
     /** This log is the fall back shared by all instances */
     private static final Logger FALLBACK_LOG = 
LoggerFactory.getLogger(URIRBLHandler.class);

Modified: 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptHandler.java?rev=1228120&r1=1228119&r2=1228120&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptHandler.java
 (original)
+++ 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptHandler.java
 Fri Jan  6 11:35:16 2012
@@ -16,7 +16,6 @@
  * specific language governing permissions and limitations      *
  * under the License.                                           *
  ****************************************************************/
-
 package org.apache.james.smtpserver.fastfail;
 
 import java.util.Collection;
@@ -27,20 +26,20 @@ import org.apache.commons.configuration.
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.james.domainlist.api.DomainList;
 import org.apache.james.domainlist.api.DomainListException;
-import org.apache.james.protocols.api.handler.LifecycleAwareProtocolHandler;
+import 
org.apache.james.protocols.lib.lifecycle.InitializingLifecycleAwareProtocolHandler;
+import org.apache.james.protocols.smtp.MailAddress;
 import org.apache.james.protocols.smtp.SMTPSession;
 import org.apache.james.protocols.smtp.core.fastfail.AbstractValidRcptHandler;
 import org.apache.james.rrt.api.RecipientRewriteTable;
-import org.apache.james.rrt.api.RecipientRewriteTableException;
 import org.apache.james.rrt.api.RecipientRewriteTable.ErrorMappingException;
+import org.apache.james.rrt.api.RecipientRewriteTableException;
 import org.apache.james.user.api.UsersRepository;
 import org.apache.james.user.api.UsersRepositoryException;
-import org.apache.mailet.MailAddress;
 
 /**
  * Handler which reject invalid recipients
  */
-public class ValidRcptHandler extends AbstractValidRcptHandler implements 
LifecycleAwareProtocolHandler {
+public class ValidRcptHandler extends AbstractValidRcptHandler implements 
InitializingLifecycleAwareProtocolHandler {
 
     private UsersRepository users;
 

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=1228120&r1=1228119&r2=1228120&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
 Fri Jan  6 11:35:16 2012
@@ -32,14 +32,14 @@ import org.apache.commons.configuration.
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.dnsservice.api.TemporaryResolutionException;
 import org.apache.james.dnsservice.library.netmatcher.NetMatcher;
-import org.apache.james.protocols.api.handler.LifecycleAwareProtocolHandler;
+import 
org.apache.james.protocols.lib.lifecycle.InitializingLifecycleAwareProtocolHandler;
+import org.apache.james.protocols.smtp.MailAddress;
 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.protocols.smtp.hook.HookResult;
 import org.apache.james.protocols.smtp.hook.HookReturnCode;
 import org.apache.james.protocols.smtp.hook.RcptHook;
-import org.apache.mailet.MailAddress;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory;
  * This class can be used to reject email with bogus MX which is send from a
  * authorized user or an authorized network.
  */
-public class ValidRcptMX implements LifecycleAwareProtocolHandler, RcptHook {
+public class ValidRcptMX implements InitializingLifecycleAwareProtocolHandler, 
RcptHook {
 
     /** This log is the fall back shared by all instances */
     private static final Logger FALLBACK_LOG = 
LoggerFactory.getLogger(ValidRcptMX.class);
@@ -139,7 +139,7 @@ public class ValidRcptMX implements Life
 
                         // Check for invalid MX
                         if (bNetwork.matchInetNetwork(ip)) {
-                            return new HookResult(HookReturnCode.DENY, 
SMTPRetCode.AUTH_REQUIRED, DSNStatus.getStatus(DSNStatus.PERMANENT, 
DSNStatus.SECURITY_AUTH) + " Invalid MX " + session.getRemoteIPAddress() + " 
for domain " + domain + ". Reject email");
+                            return new HookResult(HookReturnCode.DENY, 
SMTPRetCode.AUTH_REQUIRED, DSNStatus.getStatus(DSNStatus.PERMANENT, 
DSNStatus.SECURITY_AUTH) + " Invalid MX " + 
session.getRemoteAddress().getAddress().toString() + " for domain " + domain + 
". Reject email");
                         }
                     } catch (UnknownHostException e) {
                         // Ignore this

Modified: 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ValidSenderDomainHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ValidSenderDomainHandler.java?rev=1228120&r1=1228119&r2=1228120&view=diff
==============================================================================
--- 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ValidSenderDomainHandler.java
 (original)
+++ 
james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ValidSenderDomainHandler.java
 Fri Jan  6 11:35:16 2012
@@ -19,16 +19,41 @@
 
 package org.apache.james.smtpserver.fastfail;
 
+import java.util.Collection;
+
 import javax.annotation.Resource;
 
 import org.apache.james.dnsservice.api.DNSService;
-import org.apache.james.smtpserver.SMTPServerDNSServiceAdapter;
+import org.apache.james.protocols.smtp.SMTPSession;
 
 public class ValidSenderDomainHandler extends 
org.apache.james.protocols.smtp.core.fastfail.ValidSenderDomainHandler {
+    
+    private DNSService dnsService;
 
     @Resource(name = "dnsservice")
-    public void setDNSService(DNSService dns) {
-        super.setDNSService(new SMTPServerDNSServiceAdapter(dns));
+    public void setDNSService(DNSService dnsService) {
+        this.dnsService = dnsService;
+    }
+
+    @Override
+    protected boolean hasMXRecord(SMTPSession session, String domain) {
+        // null sender so return
+        if (domain == null) return false;
+
+        Collection<String> records = null;
+            
+        // try to resolv the provided domain in the senderaddress. If it can 
not resolved do not accept it.
+            try {
+                records = dnsService.findMXRecords(domain);
+            } catch 
(org.apache.james.dnsservice.api.TemporaryResolutionException e) {
+                // TODO: Should we reject temporary ?
+            }
+    
+        if (records == null || records.size() == 0) {
+            return true;
+        }
+
+        return false;
     }
 
 }



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