-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]