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 2006/09/30 12:29:04 UTC

svn commit: r451574 - in /james/server/trunk/src: java/org/apache/james/ java/org/apache/james/core/ java/org/apache/james/smtpserver/core/filter/fastfail/ test/org/apache/james/ test/org/apache/james/smtpserver/

Author: norman
Date: Sat Sep 30 03:29:03 2006
New Revision: 451574

URL: http://svn.apache.org/viewvc?view=rev&rev=451574
Log:
Replace InetAddress usage to lookup dns. See JAMES-643

Modified:
    james/server/trunk/src/java/org/apache/james/James.java
    james/server/trunk/src/java/org/apache/james/core/AbstractJamesService.java
    james/server/trunk/src/java/org/apache/james/smtpserver/core/filter/fastfail/ReverseEqualsEhloHeloHandler.java
    james/server/trunk/src/test/org/apache/james/JamesTest.java
    james/server/trunk/src/test/org/apache/james/smtpserver/SMTPServerTest.java

Modified: james/server/trunk/src/java/org/apache/james/James.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/James.java?view=diff&rev=451574&r1=451573&r2=451574
==============================================================================
--- james/server/trunk/src/java/org/apache/james/James.java (original)
+++ james/server/trunk/src/java/org/apache/james/James.java Sat Sep 30 03:29:03 2006
@@ -310,7 +310,7 @@
     private void initializeServernamesAndPostmaster() throws ConfigurationException, ParseException {
         String hostName = null;
         try {
-            hostName = InetAddress.getLocalHost().getHostName();
+            hostName = lookupDNSServer().getHostName(InetAddress.getLocalHost());
         } catch  (UnknownHostException ue) {
             hostName = "localhost";
         }

Modified: james/server/trunk/src/java/org/apache/james/core/AbstractJamesService.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/core/AbstractJamesService.java?view=diff&rev=451574&r1=451573&r2=451574
==============================================================================
--- james/server/trunk/src/java/org/apache/james/core/AbstractJamesService.java (original)
+++ james/server/trunk/src/java/org/apache/james/core/AbstractJamesService.java Sat Sep 30 03:29:03 2006
@@ -42,6 +42,7 @@
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.avalon.framework.service.Serviceable;
 import org.apache.excalibur.thread.ThreadPool;
+import org.apache.james.services.DNSServer;
 import org.apache.james.services.JamesConnectionManager;
 import org.apache.james.util.watchdog.ThreadPerWatchdogFactory;
 import org.apache.james.util.watchdog.Watchdog;
@@ -175,6 +176,11 @@
      * The factory used to generate Watchdog objects
      */
     protected WatchdogFactory theWatchdogFactory = null;
+    
+    /**
+     * The DNSServer
+     */
+    private DNSServer dnsServer = null;
 
     public void setConnectionManager(JamesConnectionManager connectionManager) {
         this.connectionManager = connectionManager;
@@ -189,6 +195,7 @@
         JamesConnectionManager connectionManager =
             (JamesConnectionManager)componentManager.lookup(JamesConnectionManager.ROLE);
         setConnectionManager(connectionManager);
+        dnsServer = (DNSServer) comp.lookup(DNSServer.ROLE);
     }
 
     /**
@@ -309,7 +316,7 @@
         StringBuffer infoBuffer;
         String hostName = null;
         try {
-            hostName = InetAddress.getLocalHost().getHostName();
+            hostName = dnsServer.getHostName(InetAddress.getLocalHost());
         } catch (UnknownHostException ue) {
             hostName = "localhost";
         }

Modified: james/server/trunk/src/java/org/apache/james/smtpserver/core/filter/fastfail/ReverseEqualsEhloHeloHandler.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/smtpserver/core/filter/fastfail/ReverseEqualsEhloHeloHandler.java?view=diff&rev=451574&r1=451573&r2=451574
==============================================================================
--- james/server/trunk/src/java/org/apache/james/smtpserver/core/filter/fastfail/ReverseEqualsEhloHeloHandler.java (original)
+++ james/server/trunk/src/java/org/apache/james/smtpserver/core/filter/fastfail/ReverseEqualsEhloHeloHandler.java Sat Sep 30 03:29:03 2006
@@ -130,13 +130,14 @@
             boolean badHelo = false;
             try {
                 // get reverse entry
-                String reverse = dnsServer.getByName(
-                        session.getRemoteIPAddress()).getHostName();
-
+                String reverse = dnsServer.getHostName(dnsServer.getByName(
+                        session.getRemoteIPAddress()));
+System.err.println("argument: " + argument +" reverse: " + reverse);
                 if (!argument.equals(reverse)) {
                     badHelo = true;
                 }
             } catch (UnknownHostException e) {
+        	e.printStackTrace();
                 badHelo = true;
             }
 
@@ -167,7 +168,7 @@
             String responseString = "501 "
                     + DSNStatus.getStatus(DSNStatus.PERMANENT,
                             DSNStatus.DELIVERY_INVALID_ARG) + " Provided EHLO "
-                    + argument + " not equal reverse of "
+                    + session.getState().get(SMTPSession.CURRENT_HELO_NAME) + " not equal reverse of "
                     + session.getRemoteIPAddress();
 
             session.writeResponse(responseString);

Modified: james/server/trunk/src/test/org/apache/james/JamesTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/test/org/apache/james/JamesTest.java?view=diff&rev=451574&r1=451573&r2=451574
==============================================================================
--- james/server/trunk/src/test/org/apache/james/JamesTest.java (original)
+++ james/server/trunk/src/test/org/apache/james/JamesTest.java Sat Sep 30 03:29:03 2006
@@ -23,6 +23,8 @@
 
 import org.apache.avalon.cornerstone.services.store.Store;
 import org.apache.avalon.framework.container.ContainerUtil;
+import org.apache.james.services.AbstractDNSServer;
+import org.apache.james.services.DNSServer;
 import org.apache.james.services.MailServer;
 import org.apache.james.services.MailServerTestAllImplementations;
 import org.apache.james.services.UsersRepository;
@@ -36,6 +38,7 @@
 import org.apache.james.userrepository.MockUsersRepository;
 
 import java.io.File;
+import java.net.InetAddress;
 
 public class JamesTest extends MailServerTestAllImplementations {
     
@@ -85,7 +88,17 @@
         mockMailRepository = new InMemorySpoolRepository();
         mockStore.add(EXISTING_USER_NAME, mockMailRepository);
         serviceManager.put(Store.ROLE, mockStore);
+        serviceManager.put(DNSServer.ROLE, setUpDNSServer());
         return serviceManager;
+    }
+    
+    private DNSServer setUpDNSServer() {
+	DNSServer dns = new AbstractDNSServer() {
+	    public String getHostName(InetAddress addr) {
+		return "localhost";
+	    }
+	};
+	return dns;
     }
 
     public boolean allowsPasswordlessUser() {

Modified: james/server/trunk/src/test/org/apache/james/smtpserver/SMTPServerTest.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/test/org/apache/james/smtpserver/SMTPServerTest.java?view=diff&rev=451574&r1=451573&r2=451574
==============================================================================
--- james/server/trunk/src/test/org/apache/james/smtpserver/SMTPServerTest.java (original)
+++ james/server/trunk/src/test/org/apache/james/smtpserver/SMTPServerTest.java Sat Sep 30 03:29:03 2006
@@ -101,7 +101,7 @@
             }
             
             if ("1.0.0.127.bl.spamcop.net.".equals(host)) {
-                return getLocalhostByName();
+                return InetAddress.getByName("localhost");
             }
             
             if ("james.apache.org".equals(host)) {
@@ -140,7 +140,7 @@
         }
 
         public String getHostName(InetAddress addr) throws UnknownHostException {
-        return "localhost";
+            return addr.getHostName();
         }
     }
 



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