-1

Currently I cast my veto on this change (I also wrote I didn't like this change in a previous message).

This patch introduce new hardcoded dependencies between components and we worked hard to remove them everywhere.

Have you tested the solution using the system property or the security property? I think we should fix it using that solution.

Even if it is sun specific we currently know this problem is with SUN jvms so it is ok to have a sun specific workaround. Either way some part of James currenlty would not work with non sun jvms.

Stefano

[EMAIL PROTECTED] wrote:
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]





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

Reply via email to