X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fping%2FDNSPinger.java;h=35e17148908988dcd342a41c3cfb6b6675ad3128;hb=446d3aa82c177eb844f6f19c8f85d4a6e631efe7;hp=ece3d1b9b36389de762885a364be998444e87e1a;hpb=943d8e7ed0ea5a9d56e7e694a3cbd849c52bad16;p=gigi.git diff --git a/src/org/cacert/gigi/ping/DNSPinger.java b/src/org/cacert/gigi/ping/DNSPinger.java index ece3d1b9..35e17148 100644 --- a/src/org/cacert/gigi/ping/DNSPinger.java +++ b/src/org/cacert/gigi/ping/DNSPinger.java @@ -3,16 +3,20 @@ package org.cacert.gigi.ping; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; -import java.util.Arrays; import java.util.LinkedList; +import org.cacert.gigi.Domain; +import org.cacert.gigi.User; + public class DNSPinger extends DomainPinger { @Override - public void ping(String domain, String configuration, String expToken) { + public String ping(Domain domain, String expToken, User u) { try { + String[] tokenParts = expToken.split(":", 2); + Process p = Runtime.getRuntime().exec(new String[] { - "dig", "+short", "NS", domain + "dig", "+short", "NS", domain.getSuffix() }); BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream())); String line; @@ -27,9 +31,8 @@ public class DNSPinger extends DomainPinger { nameservers: for (String NS : nameservers) { String[] call = new String[] { - "dig", "+short", "TXT", "cacert." + domain, NS + "dig", "@" + NS, "+short", "TXT", "cacert-" + tokenParts[0] + "." + domain }; - System.out.println(Arrays.toString(call)); p = Runtime.getRuntime().exec(call); br = new BufferedReader(new InputStreamReader(p.getInputStream())); String token = null; @@ -40,7 +43,7 @@ public class DNSPinger extends DomainPinger { } found = true; token = line.substring(1, line.length() - 1); - if (token.equals(expToken)) { + if (token.equals(tokenParts[1])) { continue nameservers; } } @@ -55,15 +58,13 @@ public class DNSPinger extends DomainPinger { } if ( !failed) { - // Success - return; + return PING_SUCCEDED; } - System.out.println(result.toString()); + return result.toString(); } catch (IOException e) { e.printStackTrace(); - // FAIL + return "Connection closed"; } - // FAIL } }