X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fping%2FPingerDaemon.java;fp=src%2Forg%2Fcacert%2Fgigi%2Fping%2FPingerDaemon.java;h=bc86d80c7b09de993e945870a90786326e5887c7;hp=7243a3ebde0a3785b6b497cfe260c55d81eda05b;hb=bba77181c4ffa665c11f6db1a23d5913be799e0e;hpb=080cf96c4b762dc2be5978492f247a92f9c22639 diff --git a/src/org/cacert/gigi/ping/PingerDaemon.java b/src/org/cacert/gigi/ping/PingerDaemon.java index 7243a3eb..bc86d80c 100644 --- a/src/org/cacert/gigi/ping/PingerDaemon.java +++ b/src/org/cacert/gigi/ping/PingerDaemon.java @@ -19,8 +19,6 @@ public class PingerDaemon extends Thread { private GigiPreparedStatement searchNeededPings; - private GigiPreparedStatement enterPingResult; - private KeyStore truststore; private Queue toExecute = new LinkedList<>(); @@ -32,7 +30,6 @@ public class PingerDaemon extends Thread { @Override public void run() { searchNeededPings = DatabaseConnection.getInstance().prepare("SELECT `pingconfig`.`id` FROM `pingconfig` LEFT JOIN `domainPinglog` ON `domainPinglog`.`configId` = `pingconfig`.`id` INNER JOIN `domains` ON `domains`.`id` = `pingconfig`.`domainid` WHERE ( `domainPinglog`.`configId` IS NULL) AND `domains`.`deleted` IS NULL GROUP BY `pingconfig`.`id`"); - enterPingResult = DatabaseConnection.getInstance().prepare("INSERT INTO `domainPinglog` SET `configId`=?, `state`=?::`pingState`, `result`=?, `challenge`=?"); pingers.put(PingType.EMAIL, new EmailPinger()); pingers.put(PingType.SSL, new SSLPinger(truststore)); pingers.put(PingType.HTTP, new HTTPFetch()); @@ -73,20 +70,19 @@ public class PingerDaemon extends Thread { String config = conf.getInfo(); DomainPinger dp = pingers.get(type); if (dp != null) { - String token = null; if (dp instanceof EmailPinger) { + String token = null; token = RandomToken.generateToken(16); config = config + ":" + token; } - enterPingResult.setInt(1, conf.getId()); Domain target = conf.getTarget(); System.err.println("Executing " + dp + " on " + target + " (" + System.currentTimeMillis() + ")"); - String resp = dp.ping(target, config, target.getOwner()); + try { + dp.ping(target, config, target.getOwner(), conf.getId()); + } catch (Throwable t) { + DomainPinger.enterPingResult(conf.getId(), "error", "exception", null); + } System.err.println("done (" + System.currentTimeMillis() + ")"); - enterPingResult.setString(2, DomainPinger.PING_STILL_PENDING == resp ? "open" : DomainPinger.PING_SUCCEDED.equals(resp) ? "success" : "failed"); - enterPingResult.setString(3, resp); - enterPingResult.setString(4, token); - enterPingResult.execute(); } }