Author: noel
Date: Fri Nov  3 10:01:35 2006
New Revision: 470929

URL: http://svn.apache.org/viewvc?view=rev&rev=470929
Log:
JAMES-592.  Trunk has a more involved fix (doesn't use a static method), but 
the call stack would be the same.  We use dnsjava for host name resolution, 
rather than populating the InetAddress cache.

Modified:
    
james/server/branches/v2.3/src/java/org/apache/james/dnsserver/DNSServer.java
    
james/server/branches/v2.3/src/java/org/apache/james/nntpserver/NNTPHandler.java
    
james/server/branches/v2.3/src/java/org/apache/james/pop3server/POP3Handler.java
    
james/server/branches/v2.3/src/java/org/apache/james/remotemanager/RemoteManagerHandler.java
    
james/server/branches/v2.3/src/java/org/apache/james/smtpserver/SMTPHandler.java

Modified: 
james/server/branches/v2.3/src/java/org/apache/james/dnsserver/DNSServer.java
URL: 
http://svn.apache.org/viewvc/james/server/branches/v2.3/src/java/org/apache/james/dnsserver/DNSServer.java?view=diff&rev=470929&r1=470928&r2=470929
==============================================================================
--- 
james/server/branches/v2.3/src/java/org/apache/james/dnsserver/DNSServer.java 
(original)
+++ 
james/server/branches/v2.3/src/java/org/apache/james/dnsserver/DNSServer.java 
Fri Nov  3 10:01:35 2006
@@ -521,6 +521,18 @@
     }
 
     /**
+     * Simple backport from trunk of method to use dnsjava for hostname
+     * resolution, avoiding the cache inside of InetAddress.
+     */
+    public static String getHostName(InetAddress addr){
+        try {
+            return org.xbill.DNS.Address.getHostName(addr);
+        } catch (UnknownHostException e) {
+            return addr.getHostAddress();
+        }
+    }
+
+    /**
      * The dispose operation is called at the end of a components lifecycle.
      * Instances of this class use this method to release and destroy any
      * resources that they own.

Modified: 
james/server/branches/v2.3/src/java/org/apache/james/nntpserver/NNTPHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/branches/v2.3/src/java/org/apache/james/nntpserver/NNTPHandler.java?view=diff&rev=470929&r1=470928&r2=470929
==============================================================================
--- 
james/server/branches/v2.3/src/java/org/apache/james/nntpserver/NNTPHandler.java
 (original)
+++ 
james/server/branches/v2.3/src/java/org/apache/james/nntpserver/NNTPHandler.java
 Fri Nov  3 10:01:35 2006
@@ -373,7 +373,7 @@
                 handlerThread = Thread.currentThread();
             }
             remoteIP = socket.getInetAddress().getHostAddress();
-            remoteHost = socket.getInetAddress().getHostName();
+            remoteHost = 
org.apache.james.dnsserver.DNSServer.getHostName(socket.getInetAddress());
             in = new BufferedInputStream(socket.getInputStream(), 1024);
             // An ASCII encoding can be used because all transmissions other
             // that those in the message body command are guaranteed

Modified: 
james/server/branches/v2.3/src/java/org/apache/james/pop3server/POP3Handler.java
URL: 
http://svn.apache.org/viewvc/james/server/branches/v2.3/src/java/org/apache/james/pop3server/POP3Handler.java?view=diff&rev=470929&r1=470928&r2=470929
==============================================================================
--- 
james/server/branches/v2.3/src/java/org/apache/james/pop3server/POP3Handler.java
 (original)
+++ 
james/server/branches/v2.3/src/java/org/apache/james/pop3server/POP3Handler.java
 Fri Nov  3 10:01:35 2006
@@ -230,7 +230,7 @@
             // in = new BufferedReader(new 
InputStreamReader(socket.getInputStream(), "ASCII"), 512);
             in = new CRLFTerminatedReader(new 
BufferedInputStream(socket.getInputStream(), 512), "ASCII");
             remoteIP = socket.getInetAddress().getHostAddress ();
-            remoteHost = socket.getInetAddress().getHostName ();
+            remoteHost = 
org.apache.james.dnsserver.DNSServer.getHostName(socket.getInetAddress());
         } catch (Exception e) {
             if (getLogger().isErrorEnabled()) {
                 StringBuffer exceptionBuffer =

Modified: 
james/server/branches/v2.3/src/java/org/apache/james/remotemanager/RemoteManagerHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/branches/v2.3/src/java/org/apache/james/remotemanager/RemoteManagerHandler.java?view=diff&rev=470929&r1=470928&r2=470929
==============================================================================
--- 
james/server/branches/v2.3/src/java/org/apache/james/remotemanager/RemoteManagerHandler.java
 (original)
+++ 
james/server/branches/v2.3/src/java/org/apache/james/remotemanager/RemoteManagerHandler.java
 Fri Nov  3 10:01:35 2006
@@ -247,7 +247,7 @@
 
         socket = connection;
         String remoteIP = socket.getInetAddress().getHostAddress();
-        String remoteHost = socket.getInetAddress().getHostName();
+        String remoteHost = 
org.apache.james.dnsserver.DNSServer.getHostName(socket.getInetAddress());
 
         synchronized (this) {
             handlerThread = Thread.currentThread();

Modified: 
james/server/branches/v2.3/src/java/org/apache/james/smtpserver/SMTPHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/branches/v2.3/src/java/org/apache/james/smtpserver/SMTPHandler.java?view=diff&rev=470929&r1=470928&r2=470929
==============================================================================
--- 
james/server/branches/v2.3/src/java/org/apache/james/smtpserver/SMTPHandler.java
 (original)
+++ 
james/server/branches/v2.3/src/java/org/apache/james/smtpserver/SMTPHandler.java
 Fri Nov  3 10:01:35 2006
@@ -274,7 +274,7 @@
             // inReader = new BufferedReader(new InputStreamReader(in, 
"ASCII"), 512);
             inReader = new CRLFTerminatedReader(in, "ASCII");
             remoteIP = socket.getInetAddress().getHostAddress();
-            remoteHost = socket.getInetAddress().getHostName();
+            remoteHost = 
org.apache.james.dnsserver.DNSServer.getHostName(socket.getInetAddress());
             smtpID = random.nextInt(1024) + "";
             relayingAllowed = theConfigData.isRelayingAllowed(remoteIP);
             authRequired = theConfigData.isAuthRequired(remoteIP);



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to