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 16:51:04 UTC

svn commit: r1228639 - in /james/server/trunk/smtpserver: ./ src/main/java/org/apache/james/smtpserver/ src/main/java/org/apache/james/smtpserver/fastfail/ src/test/java/org/apache/james/smtpserver/

Author: norman
Date: Sat Jan  7 15:51:03 2012
New Revision: 1228639

URL: http://svn.apache.org/viewvc?rev=1228639&view=rev
Log:
Fix some more bugs which were introduced by JAMES-1360

Modified:
    james/server/trunk/smtpserver/pom.xml
    james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/AddDefaultAttributesMessageHook.java
    james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/POP3BeforeSMTPHandler.java
    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/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/ValidSenderDomainHandler.java
    james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/POP3BeforeSMTPHandlerTest.java

Modified: james/server/trunk/smtpserver/pom.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver/pom.xml?rev=1228639&r1=1228638&r2=1228639&view=diff
==============================================================================
--- james/server/trunk/smtpserver/pom.xml (original)
+++ james/server/trunk/smtpserver/pom.xml Sat Jan  7 15:51:03 2012
@@ -203,6 +203,11 @@
             <artifactId>slf4j-nop</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>commons-codec</groupId>
+            <artifactId>commons-codec</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 
     <build>

Modified: james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/AddDefaultAttributesMessageHook.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/AddDefaultAttributesMessageHook.java?rev=1228639&r1=1228638&r2=1228639&view=diff
==============================================================================
--- james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/AddDefaultAttributesMessageHook.java (original)
+++ james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/AddDefaultAttributesMessageHook.java Sat Jan  7 15:51:03 2012
@@ -44,7 +44,7 @@ public class AddDefaultAttributesMessage
 
             final MailImpl mailImpl = (MailImpl) mail;
             mailImpl.setRemoteHost(session.getRemoteAddress().getHostName());
-            mailImpl.setRemoteAddr(session.getRemoteAddress().getAddress().toString());
+            mailImpl.setRemoteAddr(session.getRemoteAddress().getAddress().getHostAddress());
             if (session.getUser() != null) {
                 mail.setAttribute(SMTP_AUTH_USER_ATTRIBUTE_NAME, session.getUser());
             }

Modified: james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/POP3BeforeSMTPHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/POP3BeforeSMTPHandler.java?rev=1228639&r1=1228638&r2=1228639&view=diff
==============================================================================
--- james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/POP3BeforeSMTPHandler.java (original)
+++ james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/POP3BeforeSMTPHandler.java Sat Jan  7 15:51:03 2012
@@ -70,7 +70,7 @@ public class POP3BeforeSMTPHandler imple
         }
 
         // Check if the ip is allowed to relay
-        if (!session.isRelayingAllowed() && POP3BeforeSMTPHelper.isAuthorized(session.getRemoteAddress().getAddress().toString())) {
+        if (!session.isRelayingAllowed() && POP3BeforeSMTPHelper.isAuthorized(session.getRemoteAddress().getAddress().getHostAddress())) {
             session.setRelayingAllowed(true);
         }
         return null;

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=1228639&r1=1228638&r2=1228639&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 Sat Jan  7 15:51:03 2012
@@ -19,16 +19,28 @@
 
 package org.apache.james.smtpserver.fastfail;
 
+import java.net.UnknownHostException;
 import java.util.ArrayList;
+import java.util.Collection;
 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.lib.lifecycle.InitializingLifecycleAwareProtocolHandler;
 
 public class DNSRBLHandler extends org.apache.james.protocols.smtp.core.fastfail.DNSRBLHandler implements InitializingLifecycleAwareProtocolHandler {
 
+
+    private DNSService dns;
+
+    @Resource(name = "dnsservice")
+    public void setDNSService(DNSService dns) {
+        this.dns = dns;
+    }
     @SuppressWarnings("unchecked")
     @Override
     public void init(Configuration config) throws ConfigurationException {
@@ -75,4 +87,19 @@ public class DNSRBLHandler extends org.a
     public void destroy() {
         // Do nothing
     }
+    @Override
+    protected boolean resolve(String ip) {
+        try {
+            dns.getByName(ip);
+            return true;
+        } catch (UnknownHostException e) {
+            return false;
+        }
+    }
+    @Override
+    protected Collection<String> resolveTXTRecords(String ip) {
+        return dns.findTXTRecords(ip);
+    }
+    
+    
 }

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=1228639&r1=1228638&r2=1228639&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 Sat Jan  7 15:51:03 2012
@@ -19,6 +19,24 @@
 
 package org.apache.james.smtpserver.fastfail;
 
+import java.net.UnknownHostException;
+
+import javax.annotation.Resource;
+
+import org.apache.james.dnsservice.api.DNSService;
+
 public class ResolvableEhloHeloHandler extends org.apache.james.protocols.smtp.core.fastfail.ResolvableEhloHeloHandler {
 
+    private DNSService dns;
+
+    @Resource(name = "dnsservice")
+    public void setDNSService(DNSService dns) {
+        this.dns = dns;
+    }
+
+    @Override
+    protected String resolve(String host) throws UnknownHostException {
+        return dns.getByName(host).getHostName();
+    }
+    
 }

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=1228639&r1=1228638&r2=1228639&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 Sat Jan  7 15:51:03 2012
@@ -18,6 +18,26 @@
  ****************************************************************/
 package org.apache.james.smtpserver.fastfail;
 
+import java.net.UnknownHostException;
+
+import javax.annotation.Resource;
+
+import org.apache.james.dnsservice.api.DNSService;
+
 public class ReverseEqualsEhloHeloHandler extends org.apache.james.protocols.smtp.core.fastfail.ReverseEqualsEhloHeloHandler {
 
+
+    private DNSService dns;
+
+    @Resource(name = "dnsservice")
+    public void setDNSService(DNSService dns) {
+        this.dns = dns;
+    }
+
+
+    @Override
+    protected String resolve(String host) throws UnknownHostException {
+        return dns.getByName(host).getHostName();
+    }
+    
 }

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=1228639&r1=1228638&r2=1228639&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 15:51:03 2012
@@ -112,7 +112,7 @@ public class SPFHandler implements James
             session.getLogger().info("No Sender or HELO/EHLO present");
         } else {
 
-            String ip = session.getRemoteAddress().getAddress().toString();
+            String ip = session.getRemoteAddress().getAddress().getHostAddress();
 
             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=1228639&r1=1228638&r2=1228639&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 15:51:03 2012
@@ -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.getRemoteAddress().getHostName()).append(" (").append(session.getRemoteAddress().getAddress().toString())
+                        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())
                                 .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/ValidSenderDomainHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/main/java/org/apache/james/smtpserver/fastfail/ValidSenderDomainHandler.java?rev=1228639&r1=1228638&r2=1228639&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 Sat Jan  7 15:51:03 2012
@@ -50,10 +50,10 @@ public class ValidSenderDomainHandler ex
             }
     
         if (records == null || records.size() == 0) {
-            return true;
+            return false;
         }
 
-        return false;
+        return true;
     }
 
 }

Modified: james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/POP3BeforeSMTPHandlerTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/POP3BeforeSMTPHandlerTest.java?rev=1228639&r1=1228638&r2=1228639&view=diff
==============================================================================
--- james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/POP3BeforeSMTPHandlerTest.java (original)
+++ james/server/trunk/smtpserver/src/test/java/org/apache/james/smtpserver/POP3BeforeSMTPHandlerTest.java Sat Jan  7 15:51:03 2012
@@ -19,6 +19,8 @@
 
 package org.apache.james.smtpserver;
 
+import java.net.InetSocketAddress;
+
 import org.apache.james.protocols.lib.POP3BeforeSMTPHelper;
 import org.apache.james.protocols.smtp.BaseFakeSMTPSession;
 import org.apache.james.protocols.smtp.SMTPSession;
@@ -34,6 +36,11 @@ public class POP3BeforeSMTPHandlerTest e
         mockedSession = new BaseFakeSMTPSession() {
             private boolean relayingAllowed = false;
 
+            @Override
+            public InetSocketAddress getRemoteAddress() {
+                return new InetSocketAddress(getRemoteIPAddress(), 0);
+            }
+
             public String getRemoteIPAddress() {
                 return "192.168.200.1";
             }



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org