add mail.DNSUtil for reverse lookups
[org.ibex.mail.git] / src / org / ibex / mail / DNSUtil.java
diff --git a/src/org/ibex/mail/DNSUtil.java b/src/org/ibex/mail/DNSUtil.java
new file mode 100644 (file)
index 0000000..7ad56c8
--- /dev/null
@@ -0,0 +1,18 @@
+package org.ibex.mail;
+import java.io.*;
+import java.util.*;
+import java.net.*;
+import org.xbill.DNS.*;
+import org.xbill.DNS.Message;
+
+public class DNSUtil {
+
+    public static String reverseLookup(InetAddress ip) throws IOException {
+        Resolver res = new ExtendedResolver();
+        Message response =
+            res.send(Message.newQuery(Record.newRecord(ReverseMap.fromAddress(ip), Type.PTR, DClass.IN)));
+        Record[] answers = response.getSectionArray(Section.ANSWER);
+        return answers.length==0 ? null : answers[0].rdataToString();
+    }
+
+}