X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fping%2FDNSPinger.java;h=ece3d1b9b36389de762885a364be998444e87e1a;hb=55eabf9c9f1e5479673071727b76eb908019fec4;hp=3b4593894d8e8d3e11f6b7d0d78cc1a73ebd9533;hpb=2824d1c165c501e2f3a8809044788b33b81f478a;p=gigi.git diff --git a/src/org/cacert/gigi/ping/DNSPinger.java b/src/org/cacert/gigi/ping/DNSPinger.java index 3b459389..ece3d1b9 100644 --- a/src/org/cacert/gigi/ping/DNSPinger.java +++ b/src/org/cacert/gigi/ping/DNSPinger.java @@ -8,57 +8,62 @@ import java.util.LinkedList; public class DNSPinger extends DomainPinger { - @Override - public void ping(String domain, String configuration, String expToken) { - try { - Process p = Runtime.getRuntime().exec(new String[] { "dig", "+short", "NS", domain }); - BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream())); - String line; - LinkedList nameservers = new LinkedList(); - while ((line = br.readLine()) != null) { - nameservers.add(line); - } - p.destroy(); - StringBuffer result = new StringBuffer(); - result.append("failed: "); - boolean failed = nameservers.isEmpty(); - nameservers: for (String NS : nameservers) { - String[] call = new String[] { "dig", "+short", "TXT", "cacert." + domain, NS }; - System.out.println(Arrays.toString(call)); - p = Runtime.getRuntime().exec(call); - br = new BufferedReader(new InputStreamReader(p.getInputStream())); - String token = null; - boolean found = false; - while ((line = br.readLine()) != null) { - if (line.isEmpty()) { - continue; - } - found = true; - token = line.substring(1, line.length() - 1); - if (token.equals(expToken)) { - continue nameservers; - } - } - p.destroy(); - result.append(NS); - if (found) { - result.append(" DIFFER;"); - } else { - result.append(" EMPTY;"); - } - failed = true; + @Override + public void ping(String domain, String configuration, String expToken) { + try { + Process p = Runtime.getRuntime().exec(new String[] { + "dig", "+short", "NS", domain + }); + BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream())); + String line; + LinkedList nameservers = new LinkedList(); + while ((line = br.readLine()) != null) { + nameservers.add(line); + } + p.destroy(); + StringBuffer result = new StringBuffer(); + result.append("failed: "); + boolean failed = nameservers.isEmpty(); + nameservers: + for (String NS : nameservers) { + String[] call = new String[] { + "dig", "+short", "TXT", "cacert." + domain, NS + }; + System.out.println(Arrays.toString(call)); + p = Runtime.getRuntime().exec(call); + br = new BufferedReader(new InputStreamReader(p.getInputStream())); + String token = null; + boolean found = false; + while ((line = br.readLine()) != null) { + if (line.isEmpty()) { + continue; + } + found = true; + token = line.substring(1, line.length() - 1); + if (token.equals(expToken)) { + continue nameservers; + } + } + p.destroy(); + result.append(NS); + if (found) { + result.append(" DIFFER;"); + } else { + result.append(" EMPTY;"); + } + failed = true; - } - if (!failed) { - // Success - return; - } - System.out.println(result.toString()); - } catch (IOException e) { - e.printStackTrace(); - // FAIL - } - // FAIL - } + } + if ( !failed) { + // Success + return; + } + System.out.println(result.toString()); + } catch (IOException e) { + e.printStackTrace(); + // FAIL + } + // FAIL + } }