- @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<String> nameservers = new LinkedList<String>();
- 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<String> nameservers = new LinkedList<String>();
+ 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;