import org.cacert.gigi.output.template.Template;
import org.cacert.gigi.ping.SSLPinger;
import org.cacert.gigi.util.RandomToken;
+import org.cacert.gigi.util.SystemKeywords;
public class PingConfigForm extends Form {
private SSLType[] sslTypes = new SSLType[MAX_SSL_TESTS];
- private final Template t = new Template(PingConfigForm.class.getResource("PingConfigForm.templ"));
+ private static final Template t = new Template(PingConfigForm.class.getResource("PingConfigForm.templ"));
public PingConfigForm(HttpServletRequest hsr, Domain target) throws GigiApiException {
super(hsr);
case SSL: {
doSSL = true;
String[] parts = dpc.getInfo().split(":");
- ports[portpos] = Integer.parseInt(parts[0]);
- if (parts.length == 2) {
- sslTypes[portpos] = SSLType.valueOf(parts[1].toUpperCase());
+ tokenName = parts[0];
+ tokenValue = parts[1];
+ ports[portpos] = Integer.parseInt(parts[2]);
+ if (parts.length == 4) {
+ sslTypes[portpos] = SSLType.valueOf(parts[3].toUpperCase());
} else {
sslTypes[portpos] = SSLType.DIRECT;
}
}
@Override
- public boolean submit(PrintWriter out, HttpServletRequest req) throws GigiApiException {
+ public SubmissionResult submit(HttpServletRequest req) throws GigiApiException {
+ target.clearPings();
if (req.getParameter("emailType") != null && req.getParameter("email") != null) {
try {
String mail = AUTHORATIVE_EMAILS[Integer.parseInt(req.getParameter("email"))];
}
int portInt = Integer.parseInt(port);
if ("direct".equals(type)) {
- target.addPing(DomainPingType.SSL, port);
+ target.addPing(DomainPingType.SSL, tokenName + ":" + tokenValue + ":" + port);
} else if (types.contains(type)) {
- target.addPing(DomainPingType.SSL, portInt + ":" + type);
+ target.addPing(DomainPingType.SSL, tokenName + ":" + tokenValue + ":" + portInt + ":" + type);
}
}
}
Gigi.notifyPinger(null);
- return false;
+ return new RedirectResult(req.getPathInfo());
}
@Override
protected void outputContent(PrintWriter out, Language l, Map<String, Object> vars) {
- out.print("<table class=\"wrapper dataTable\"><tbody>");
+ vars.put("notEmbedded", true);
outputEmbeddableContent(out, l, vars);
- out.print("<tr><td></td><td><input type=\"submit\" value=\"Update\"/></td></tbody></table>");
}
protected void outputEmbeddableContent(PrintWriter out, Language l, Map<String, Object> vars) {
+ vars.put("httpPrefix", SystemKeywords.HTTP_CHALLENGE_PREFIX);
+ vars.put("dnsPrefix", SystemKeywords.DNS_PREFIX);
vars.put("tokenName", tokenName);
vars.put("tokenValue", tokenValue);
vars.put("authEmails", new IterableDataset() {