X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Futil%2FDNSUtil.java;fp=src%2Forg%2Fcacert%2Fgigi%2Futil%2FDNSUtil.java;h=0000000000000000000000000000000000000000;hp=d0c772aff40861bacfced40503d55f21d58f0531;hb=bccd4cc0dba0f89aa045b113bac46eb8cc1dab4e;hpb=c9ed09f0007fc2c813815be927a5a24b23dab83c diff --git a/src/org/cacert/gigi/util/DNSUtil.java b/src/org/cacert/gigi/util/DNSUtil.java deleted file mode 100644 index d0c772af..00000000 --- a/src/org/cacert/gigi/util/DNSUtil.java +++ /dev/null @@ -1,104 +0,0 @@ -package org.cacert.gigi.util; - -import java.util.Arrays; -import java.util.Hashtable; - -import javax.naming.Context; -import javax.naming.NamingException; -import javax.naming.directory.Attribute; -import javax.naming.directory.Attributes; -import javax.naming.directory.InitialDirContext; - -import org.cacert.gigi.util.CAA.CAARecord; - -public class DNSUtil { - - private static InitialDirContext context; - static { - Hashtable env = new Hashtable(); - env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.dns.DnsContextFactory"); - try { - context = new InitialDirContext(env); - } catch (NamingException e) { - e.printStackTrace(); - } - - } - - public static String[] getNSNames(String name) throws NamingException { - Attributes dnsLookup = context.getAttributes(name, new String[] { - "NS" - }); - return extractTextEntries(dnsLookup.get("NS")); - } - - public static String[] getTXTEntries(String name, String server) throws NamingException { - Hashtable env = new Hashtable(); - env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.dns.DnsContextFactory"); - env.put(Context.AUTHORITATIVE, "true"); - env.put(Context.PROVIDER_URL, "dns://" + server); - InitialDirContext context = new InitialDirContext(env); - try { - - Attributes dnsLookup = context.getAttributes(name, new String[] { - "TXT" - }); - return extractTextEntries(dnsLookup.get("TXT")); - } finally { - context.close(); - } - - } - - private static String[] extractTextEntries(Attribute nsRecords) throws NamingException { - if (nsRecords == null) { - return new String[] {}; - } - String[] result = new String[nsRecords.size()]; - for (int i = 0; i < result.length; i++) { - result[i] = (String) nsRecords.get(i); - } - return result; - } - - public static String[] getMXEntries(String domain) throws NamingException { - Attributes dnsLookup = context.getAttributes(domain, new String[] { - "MX" - }); - return extractTextEntries(dnsLookup.get("MX")); - } - - public static CAARecord[] getCAAEntries(String domain) throws NamingException { - Hashtable env = new Hashtable(); - env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.dns.DnsContextFactory"); - InitialDirContext context = new InitialDirContext(env); - - Attributes dnsLookup = context.getAttributes(domain, new String[] { - "257" - }); - Attribute nsRecords = dnsLookup.get("257"); - if (nsRecords == null) { - return new CAARecord[] {}; - } - CAA.CAARecord[] result = new CAA.CAARecord[nsRecords.size()]; - for (int i = 0; i < result.length; i++) { - byte[] rec = (byte[]) nsRecords.get(i); - - result[i] = new CAA.CAARecord(rec); - } - return result; - } - - public static void main(String[] args) throws NamingException { - if (args[0].equals("MX")) { - System.out.println(Arrays.toString(getMXEntries(args[1]))); - } else if (args[0].equals("NS")) { - System.out.println(Arrays.toString(getNSNames(args[1]))); - } else if (args[0].equals("TXT")) { - System.out.println(Arrays.toString(getTXTEntries(args[1], args[2]))); - } else if (args[0].equals("CAA")) { - System.out.println(Arrays.toString(getCAAEntries(args[1]))); - } - } - -}