hbedi 01/09/24 10:25:43
Modified: src/java/org/apache/james/dnsserver DNSServer.java
DNSServer.xinfo
Log:
Updated DNS Java library.
Attempted to make the interface generic, but stopped short. Did not
want to tie the interface to a specfic implementation.
Revision Changes Path
1.2 +23 -6 jakarta-james/src/java/org/apache/james/dnsserver/DNSServer.java
Index: DNSServer.java
===================================================================
RCS file:
/home/cvs/jakarta-james/src/java/org/apache/james/dnsserver/DNSServer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DNSServer.java 2001/05/11 09:15:46 1.1
+++ DNSServer.java 2001/09/24 17:25:43 1.2
@@ -21,9 +21,22 @@
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.logger.AbstractLoggable;
-import org.apache.james.transport.Resources;
import org.apache.avalon.phoenix.Block;
-import org.xbill.DNS.*;
+import org.apache.james.transport.Resources;
+import org.xbill.DNS.Cache;
+import org.xbill.DNS.Credibility;
+import org.xbill.DNS.DClass;
+import org.xbill.DNS.ExtendedResolver;
+import org.xbill.DNS.Header;
+import org.xbill.DNS.MXRecord;
+import org.xbill.DNS.Message;
+import org.xbill.DNS.Name;
+import org.xbill.DNS.RRset;
+import org.xbill.DNS.Rcode;
+import org.xbill.DNS.Record;
+import org.xbill.DNS.Resolver;
+import org.xbill.DNS.SetResponse;
+import org.xbill.DNS.Type;
/**
* @version 1.0.0, 18/06/2000
@@ -78,13 +91,13 @@
final String serversArray[] = (String[])servers.toArray(new String[0]);
resolver = new ExtendedResolver( serversArray );
- cache = new Cache ();
+ cache = new Cache (DClass.IN);
getLogger().info("DNSServer ...init end");
}
public Collection findMXRecords(String hostname) {
- Record answers[] = rawDNSLookup(hostname, false, Type.MX);
+ Record answers[] = lookup(hostname, Type.MX);
Collection servers = new Vector ();
try {
@@ -124,6 +137,10 @@
}
}
+ public Record[] lookup(String name, short type) {
+ return rawDNSLookup(name,false,type);
+ }
+
private Record[] rawDNSLookup(String namestr, boolean querysent, short type) {
Name name = new Name(namestr);
short dclass = DClass.IN;
@@ -132,7 +149,7 @@
int answerCount = 0, n = 0;
Enumeration e;
- SetResponse cached = cache.lookupRecords(name, type, dclass,
dnsCredibility);
+ SetResponse cached = cache.lookupRecords(name, type, dnsCredibility);
if (cached.isSuccessful()) {
RRset [] rrsets = cached.answers();
answerCount = 0;
@@ -150,7 +167,7 @@
}
}
}
- else if (cached.isNegative()) {
+ else if (cached.isNXDOMAIN()) {
return null;
}
else if (querysent) {
1.2 +7 -0
jakarta-james/src/java/org/apache/james/dnsserver/DNSServer.xinfo
Index: DNSServer.xinfo
===================================================================
RCS file:
/home/cvs/jakarta-james/src/java/org/apache/james/dnsserver/DNSServer.xinfo,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- DNSServer.xinfo 2001/05/11 09:15:46 1.1
+++ DNSServer.xinfo 2001/09/24 17:25:43 1.2
@@ -1,6 +1,13 @@
<?xml version="1.0"?>
<blockinfo>
+ <meta>
+ <contributors>
+ <author name="Serge" email="[EMAIL PROTECTED]"/>
+ <author name="Harmeet" email="[EMAIL PROTECTED]"/>
+ </contributors>
+ </meta>
+
<services>
<service name="org.apache.james.services.DNSServer" version="1.0"/>
</services>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]