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]