Author: norman
Date: Fri Nov 10 00:20:30 2006
New Revision: 473249
URL: http://svn.apache.org/viewvc?view=rev&rev=473249
Log:
Put the hostname and hostaddress in the mailetcontext to remove all InetAddress
usage from mailets. See JAMES-643
Modified:
james/server/trunk/src/java/org/apache/james/Constants.java
james/server/trunk/src/java/org/apache/james/James.java
james/server/trunk/src/java/org/apache/james/transport/mailets/AbstractRedirect.java
james/server/trunk/src/java/org/apache/james/transport/mailets/AbstractVirtualUserTable.java
james/server/trunk/src/java/org/apache/james/transport/mailets/DSNBounce.java
james/server/trunk/src/java/org/apache/james/transport/mailets/RemoteDelivery.java
james/server/trunk/src/test/org/apache/james/JamesTest.java
Modified: james/server/trunk/src/java/org/apache/james/Constants.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/Constants.java?view=diff&rev=473249&r1=473248&r2=473249
==============================================================================
--- james/server/trunk/src/java/org/apache/james/Constants.java (original)
+++ james/server/trunk/src/java/org/apache/james/Constants.java Fri Nov 10
00:20:30 2006
@@ -58,5 +58,15 @@
* Avalon aware Mailets.
*/
public static final String AVALON_COMPONENT_MANAGER = "AVALON_COMP_MGR";
+
+ /**
+ * Key used to store the hostaddress of the localhost
+ */
+ public static final String HOSTADDRESS = "127.0.0.1";
+
+ /**
+ * Key used to store the hostname of localhost
+ */
+ public static final String HOSTNAME = "localhost";
}
Modified: james/server/trunk/src/java/org/apache/james/James.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/James.java?view=diff&rev=473249&r1=473248&r2=473249
==============================================================================
--- james/server/trunk/src/java/org/apache/james/James.java (original)
+++ james/server/trunk/src/java/org/apache/james/James.java Fri Nov 10 00:20:30
2006
@@ -259,6 +259,14 @@
java.io.File configDir = fileSystem.getFile("file://conf/");
attributes.put("confDir", configDir.getCanonicalPath());
+ try {
+ attributes.put(Constants.HOSTADDRESS,
lookupDNSServer().getLocalHost().getHostAddress());
+ attributes.put(Constants.HOSTNAME,
lookupDNSServer().getLocalHost().getHostName());
+ } catch (java.net.UnknownHostException _) {
+ attributes.put(Constants.HOSTADDRESS, "127.0.0.1");
+ attributes.put(Constants.HOSTNAME, "localhost");
+ }
+
initializeLocalDeliveryMailet();
System.out.println(SOFTWARE_NAME_VERSION);
Modified:
james/server/trunk/src/java/org/apache/james/transport/mailets/AbstractRedirect.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/transport/mailets/AbstractRedirect.java?view=diff&rev=473249&r1=473248&r2=473249
==============================================================================
---
james/server/trunk/src/java/org/apache/james/transport/mailets/AbstractRedirect.java
(original)
+++
james/server/trunk/src/java/org/apache/james/transport/mailets/AbstractRedirect.java
Fri Nov 10 00:20:30 2006
@@ -44,6 +44,7 @@
import org.apache.mailet.RFC2822Headers;
import org.apache.mailet.dates.RFC822DateFormat;
+import org.apache.james.Constants;
import org.apache.james.core.MailImpl;
import org.apache.james.core.MimeMessageUtil;
@@ -982,14 +983,9 @@
// We don't need to use the original Remote Address and Host,
// and doing so would likely cause a loop with spam detecting
// matchers.
- try {
-
newMail.setRemoteAddr(java.net.InetAddress.getLocalHost().getHostAddress());
-
newMail.setRemoteHost(java.net.InetAddress.getLocalHost().getHostName());
- } catch (java.net.UnknownHostException _) {
- newMail.setRemoteAddr("127.0.0.1");
- newMail.setRemoteHost("localhost");
- }
-
+
newMail.setRemoteAddr(getMailetContext().getAttribute(Constants.HOSTADDRESS).toString());
+
newMail.setRemoteHost(getMailetContext().getAttribute(Constants.HOSTNAME).toString());
+
if (isDebug) {
log("New mail - sender: " + newMail.getSender()
+ ", recipients: " +
arrayToString(newMail.getRecipients().toArray())
Modified:
james/server/trunk/src/java/org/apache/james/transport/mailets/AbstractVirtualUserTable.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/transport/mailets/AbstractVirtualUserTable.java?view=diff&rev=473249&r1=473248&r2=473249
==============================================================================
---
james/server/trunk/src/java/org/apache/james/transport/mailets/AbstractVirtualUserTable.java
(original)
+++
james/server/trunk/src/java/org/apache/james/transport/mailets/AbstractVirtualUserTable.java
Fri Nov 10 00:20:30 2006
@@ -21,6 +21,7 @@
package org.apache.james.transport.mailets;
+import org.apache.james.Constants;
import org.apache.james.core.MailImpl;
import org.apache.james.util.VirtualUserTableUtil;
import org.apache.mailet.GenericMailet;
@@ -164,13 +165,9 @@
// duplicates the Mail object, to be able to modify the new mail
keeping the original untouched
MailImpl newMail = new MailImpl(mail);
try {
- try {
-
newMail.setRemoteAddr(java.net.InetAddress.getLocalHost().getHostAddress());
-
newMail.setRemoteHost(java.net.InetAddress.getLocalHost().getHostName());
- } catch (java.net.UnknownHostException _) {
- newMail.setRemoteAddr("127.0.0.1");
- newMail.setRemoteHost("localhost");
- }
+
newMail.setRemoteAddr(getMailetContext().getAttribute(Constants.HOSTADDRESS).toString());
+
newMail.setRemoteHost(getMailetContext().getAttribute(Constants.HOSTNAME).toString());
+
newMail.setRecipients(recipientsToAddForward);
newMail.setAttribute(MARKER, Boolean.TRUE);
getMailetContext().sendMail(newMail);
Modified:
james/server/trunk/src/java/org/apache/james/transport/mailets/DSNBounce.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/transport/mailets/DSNBounce.java?view=diff&rev=473249&r1=473248&r2=473249
==============================================================================
---
james/server/trunk/src/java/org/apache/james/transport/mailets/DSNBounce.java
(original)
+++
james/server/trunk/src/java/org/apache/james/transport/mailets/DSNBounce.java
Fri Nov 10 00:20:30 2006
@@ -152,14 +152,9 @@
// We don't need to use the original Remote Address and Host,
// and doing so would likely cause a loop with spam detecting
// matchers.
- try {
-
newMail.setRemoteAddr(java.net.InetAddress.getLocalHost().getHostAddress());
-
newMail.setRemoteHost(java.net.InetAddress.getLocalHost().getHostName());
- } catch (java.net.UnknownHostException _) {
- newMail.setRemoteAddr("127.0.0.1");
- newMail.setRemoteHost("localhost");
- }
-
+
newMail.setRemoteAddr(getMailetContext().getAttribute(Constants.HOSTADDRESS).toString());
+
newMail.setRemoteHost(getMailetContext().getAttribute(Constants.HOSTNAME).toString());
+
if (originalMail.getSender() == null) {
if (isDebug)
log("Processing a bounce request for a message with an
empty reverse-path. No bounce will be sent.");
Modified:
james/server/trunk/src/java/org/apache/james/transport/mailets/RemoteDelivery.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/transport/mailets/RemoteDelivery.java?view=diff&rev=473249&r1=473248&r2=473249
==============================================================================
---
james/server/trunk/src/java/org/apache/james/transport/mailets/RemoteDelivery.java
(original)
+++
james/server/trunk/src/java/org/apache/james/transport/mailets/RemoteDelivery.java
Fri Nov 10 00:20:30 2006
@@ -860,8 +860,8 @@
PrintWriter out = new PrintWriter(sout, true);
String machine = "[unknown]";
try {
- InetAddress me = InetAddress.getLocalHost();
- machine = me.getHostName();
+ machine =
getMailetContext().getAttribute(Constants.HOSTNAME).toString();
+
} catch(Exception e){
machine = "[address unknown]";
}
Modified: james/server/trunk/src/test/org/apache/james/JamesTest.java
URL:
http://svn.apache.org/viewvc/james/server/trunk/src/test/org/apache/james/JamesTest.java?view=diff&rev=473249&r1=473248&r2=473249
==============================================================================
--- james/server/trunk/src/test/org/apache/james/JamesTest.java (original)
+++ james/server/trunk/src/test/org/apache/james/JamesTest.java Fri Nov 10
00:20:30 2006
@@ -42,6 +42,7 @@
import java.io.File;
import java.io.FileNotFoundException;
import java.net.InetAddress;
+import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
@@ -126,6 +127,10 @@
DNSServer dns = new AbstractDNSServer() {
public String getHostName(InetAddress addr) {
return "localhost";
+ }
+
+ public InetAddress getLocalHost() throws UnknownHostException {
+ throw new UnknownHostException("Unknown");
}
};
return dns;
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]