import javax.naming.NamingException;
-import org.cacert.gigi.Domain;
-import org.cacert.gigi.User;
+import org.cacert.gigi.dbObjects.CertificateOwner;
+import org.cacert.gigi.dbObjects.Domain;
import org.cacert.gigi.util.DNSUtil;
public class DNSPinger extends DomainPinger {
@Override
- public String ping(Domain domain, String expToken, User u) {
+ public void ping(Domain domain, String expToken, CertificateOwner u, int confId) {
String[] tokenParts = expToken.split(":", 2);
List<String> nameservers;
try {
nameservers = Arrays.asList(DNSUtil.getNSNames(domain.getSuffix()));
} catch (NamingException e) {
- return "No authorative nameserver found.";
+ enterPingResult(confId, "error", "No authorative nameserver found.", null);
+ return;
}
StringBuffer result = new StringBuffer();
result.append("failed: ");
for (String NS : nameservers) {
boolean found = false;
try {
- for (String token : DNSUtil.getTXTEntries("cacert-" + tokenParts[0] + "." + domain.getSuffix(), NS)) {
+ for (String token : DNSUtil.getTXTEntries(tokenParts[0] + "._cacert._auth." + domain.getSuffix(), NS)) {
if (token.isEmpty()) {
continue;
}
}
if ( !failed) {
- return PING_SUCCEDED;
+ enterPingResult(confId, PING_SUCCEDED, "", null);
+ } else {
+ enterPingResult(confId, "error", result.toString(), null);
}
- return result.toString();
}
}