You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ba...@apache.org on 2006/07/21 10:12:38 UTC
svn commit: r424223 - in /james/server/trunk/src: conf/james-config.xml
java/org/apache/james/dnsserver/DNSServer.java
Author: bago
Date: Fri Jul 21 01:12:36 2006
New Revision: 424223
URL: http://svn.apache.org/viewvc?rev=424223&view=rev
Log:
Added singleIPperMX optional configuration to dnsserver (see JAMES-358)
Modified:
james/server/trunk/src/conf/james-config.xml
james/server/trunk/src/java/org/apache/james/dnsserver/DNSServer.java
Modified: james/server/trunk/src/conf/james-config.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/conf/james-config.xml?rev=424223&r1=424222&r2=424223&view=diff
==============================================================================
--- james/server/trunk/src/conf/james-config.xml (original)
+++ james/server/trunk/src/conf/james-config.xml Fri Jul 21 01:12:36 2006
@@ -763,6 +763,12 @@
<!-- Maximum number of entries to maintain in the DNS cache -->
<maxcachesize>50000</maxcachesize>
+
+ <!-- Uncomment this if you want James to try a single server for each -->
+ <!-- multihomed mx host. -->
+ <!--
+ <singleIPperMX> true </singleIPperMX>
+ -->
</dnsserver>
<!-- The RemoteManager server is enabled by default -->
Modified: james/server/trunk/src/java/org/apache/james/dnsserver/DNSServer.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/dnsserver/DNSServer.java?rev=424223&r1=424222&r2=424223&view=diff
==============================================================================
--- james/server/trunk/src/java/org/apache/james/dnsserver/DNSServer.java (original)
+++ james/server/trunk/src/java/org/apache/james/dnsserver/DNSServer.java Fri Jul 21 01:12:36 2006
@@ -96,6 +96,12 @@
private Comparator mxComparator = new MXRecordComparator();
/**
+ * If true than the DNS server will return only a single IP per each MX record
+ * when looking up SMTPServers
+ */
+ private boolean singleIPPerMX;
+
+ /**
* @see org.apache.avalon.framework.configuration.Configurable#configure(Configuration)
*/
public void configure( final Configuration configuration )
@@ -115,6 +121,8 @@
}
}
+ singleIPPerMX = configuration.getChild( "singleIPperMX" ).getValueAsBoolean( false );
+
// Get the DNS servers that this service will use for lookups
final Configuration serversConfiguration = configuration.getChild( "servers" );
final Configuration[] serverConfigurations =
@@ -438,7 +446,11 @@
final String nextHostname = (String)mxHosts.next();
InetAddress[] addrs = null;
try {
- addrs = getAllByName(nextHostname);
+ if (singleIPPerMX) {
+ addrs = new InetAddress[] {getByName(nextHostname)};
+ } else {
+ addrs = getAllByName(nextHostname);
+ }
} catch (UnknownHostException uhe) {
// this should never happen, since we just got
// this host from mxHosts, which should have
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org