import org.cacert.gigi.database.DatabaseConnection;
import org.cacert.gigi.database.GigiPreparedStatement;
import org.cacert.gigi.database.GigiResultSet;
-import org.cacert.gigi.dbObjects.DomainPingConfiguration.PingType;
import org.cacert.gigi.util.PublicSuffixes;
public class Domain implements IdCachable, Verifyable {
- public class DomainPingExecution {
-
- private String state;
-
- private String type;
-
- private String info;
-
- private String result;
-
- private DomainPingConfiguration config;
-
- public DomainPingExecution(GigiResultSet rs) {
- state = rs.getString(1);
- type = rs.getString(2);
- info = rs.getString(3);
- result = rs.getString(4);
- config = DomainPingConfiguration.getById(rs.getInt(5));
- }
-
- public String getState() {
- return state;
- }
-
- public String getType() {
- return type;
- }
-
- public String getInfo() {
- return info;
- }
-
- public String getResult() {
- return result;
- }
-
- public DomainPingConfiguration getConfig() {
- return config;
- }
-
- }
-
private User owner;
private String suffix;
return Collections.unmodifiableList(configs);
}
- public void addPing(PingType type, String config) throws GigiApiException {
+ public void addPing(DomainPingType type, String config) throws GigiApiException {
GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("INSERT INTO `pingconfig` SET `domainid`=?, `type`=?::`pingType`, `info`=?");
ps.setInt(1, id);
ps.setString(2, type.toString().toLowerCase());
public class DomainPingConfiguration implements IdCachable {
- public static enum PingType {
- EMAIL, DNS, HTTP, SSL;
- }
-
private int id;
private Domain target;
- private PingType type;
+ private DomainPingType type;
private String info;
}
this.id = rs.getInt("id");
target = Domain.getById(rs.getInt("domainid"));
- type = PingType.valueOf(rs.getString("type").toUpperCase());
+ type = DomainPingType.valueOf(rs.getString("type").toUpperCase());
info = rs.getString("info");
}
return target;
}
- public PingType getType() {
+ public DomainPingType getType() {
return type;
}
--- /dev/null
+package org.cacert.gigi.dbObjects;
+
+import org.cacert.gigi.database.GigiResultSet;
+
+public class DomainPingExecution {
+
+ private String state;
+
+ private String type;
+
+ private String info;
+
+ private String result;
+
+ private DomainPingConfiguration config;
+
+ public DomainPingExecution(GigiResultSet rs) {
+ state = rs.getString(1);
+ type = rs.getString(2);
+ info = rs.getString(3);
+ result = rs.getString(4);
+ config = DomainPingConfiguration.getById(rs.getInt(5));
+ }
+
+ public String getState() {
+ return state;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public String getInfo() {
+ return info;
+ }
+
+ public String getResult() {
+ return result;
+ }
+
+ public DomainPingConfiguration getConfig() {
+ return config;
+ }
+
+}
--- /dev/null
+package org.cacert.gigi.dbObjects;
+
+public enum DomainPingType {
+ EMAIL, DNS, HTTP, SSL;
+}
\ No newline at end of file
import org.cacert.gigi.GigiApiException;
import org.cacert.gigi.dbObjects.Domain;
-import org.cacert.gigi.dbObjects.Domain.DomainPingExecution;
import org.cacert.gigi.dbObjects.DomainPingConfiguration;
+import org.cacert.gigi.dbObjects.DomainPingExecution;
import org.cacert.gigi.dbObjects.User;
import org.cacert.gigi.localisation.Language;
import org.cacert.gigi.output.template.Form;
import org.cacert.gigi.GigiApiException;
import org.cacert.gigi.dbObjects.Domain;
import org.cacert.gigi.dbObjects.DomainPingConfiguration;
-import org.cacert.gigi.dbObjects.DomainPingConfiguration.PingType;
+import org.cacert.gigi.dbObjects.DomainPingType;
import org.cacert.gigi.localisation.Language;
import org.cacert.gigi.output.template.Form;
import org.cacert.gigi.output.template.IterableDataset;
public boolean submit(PrintWriter out, HttpServletRequest req) throws GigiApiException {
if (req.getParameter("emailType") != null) {
String mail = AUTHORATIVE_EMAILS[Integer.parseInt(req.getParameter("email"))];
- target.addPing(PingType.EMAIL, mail);
+ target.addPing(DomainPingType.EMAIL, mail);
}
if (req.getParameter("DNSType") != null) {
- target.addPing(PingType.DNS, tokenName + ":" + tokenValue);
+ target.addPing(DomainPingType.DNS, tokenName + ":" + tokenValue);
}
if (req.getParameter("HTTPType") != null) {
- target.addPing(PingType.HTTP, tokenName + ":" + tokenValue);
+ target.addPing(DomainPingType.HTTP, tokenName + ":" + tokenValue);
}
if (req.getParameter("SSLType") != null) {
List<String> types = Arrays.asList(SSLPinger.TYPES);
}
int portInt = Integer.parseInt(port);
if ("direct".equals(type)) {
- target.addPing(PingType.SSL, port);
+ target.addPing(DomainPingType.SSL, port);
} else if (types.contains(type)) {
- target.addPing(PingType.SSL, portInt + ":" + type);
+ target.addPing(DomainPingType.SSL, portInt + ":" + type);
}
}
import org.cacert.gigi.database.GigiResultSet;
import org.cacert.gigi.dbObjects.Domain;
import org.cacert.gigi.dbObjects.DomainPingConfiguration;
-import org.cacert.gigi.dbObjects.DomainPingConfiguration.PingType;
+import org.cacert.gigi.dbObjects.DomainPingType;
import org.cacert.gigi.util.RandomToken;
public class PingerDaemon extends Thread {
- HashMap<PingType, DomainPinger> pingers = new HashMap<>();
+ HashMap<DomainPingType, DomainPinger> pingers = new HashMap<>();
private GigiPreparedStatement searchNeededPings;
@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`");
- pingers.put(PingType.EMAIL, new EmailPinger());
- pingers.put(PingType.SSL, new SSLPinger(truststore));
- pingers.put(PingType.HTTP, new HTTPFetch());
- pingers.put(PingType.DNS, new DNSPinger());
+ pingers.put(DomainPingType.EMAIL, new EmailPinger());
+ pingers.put(DomainPingType.SSL, new SSLPinger(truststore));
+ pingers.put(DomainPingType.HTTP, new HTTPFetch());
+ pingers.put(DomainPingType.DNS, new DNSPinger());
while (true) {
try {
}
private void handle(DomainPingConfiguration conf) {
- PingType type = conf.getType();
+ DomainPingType type = conf.getType();
String config = conf.getInfo();
DomainPinger dp = pingers.get(type);
if (dp != null) {
import org.cacert.gigi.GigiApiException;
import org.cacert.gigi.dbObjects.Domain;
import org.cacert.gigi.dbObjects.DomainPingConfiguration;
-import org.cacert.gigi.dbObjects.DomainPingConfiguration.PingType;
+import org.cacert.gigi.dbObjects.DomainPingType;
import org.cacert.gigi.pages.account.domain.DomainOverview;
import org.cacert.gigi.testUtils.IOUtils;
import org.cacert.gigi.testUtils.PingTest;
Domain d = Domain.getById(id);
DomainPingConfiguration dpc = null;
for (DomainPingConfiguration conf : d.getConfiguredPings()) {
- if (conf.getType() == PingType.HTTP) {
+ if (conf.getType() == DomainPingType.HTTP) {
dpc = conf;
break;
}