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]