import club.wpia.gigi.dbObjects.Country;
import club.wpia.gigi.dbObjects.Digest;
import club.wpia.gigi.dbObjects.Domain;
+import club.wpia.gigi.dbObjects.DomainPingConfiguration;
+import club.wpia.gigi.dbObjects.DomainPingExecution;
import club.wpia.gigi.dbObjects.DomainPingType;
import club.wpia.gigi.dbObjects.EmailAddress;
import club.wpia.gigi.dbObjects.Group;
import club.wpia.gigi.dbObjects.User;
import club.wpia.gigi.dbObjects.Verification.VerificationType;
import club.wpia.gigi.email.DelegateMailProvider;
+import club.wpia.gigi.email.EmailProvider;
import club.wpia.gigi.localisation.Language;
import club.wpia.gigi.output.template.IterableDataset;
import club.wpia.gigi.output.template.Template;
import club.wpia.gigi.ping.PingerDaemon;
import club.wpia.gigi.util.AuthorizationContext;
import club.wpia.gigi.util.DayDate;
+import club.wpia.gigi.util.DomainAssessment;
import club.wpia.gigi.util.HTMLEncoder;
import club.wpia.gigi.util.Notary;
import club.wpia.gigi.util.TimeConditions;
}
@Override
- public void ping(Domain domain, String configuration, CertificateOwner target, int confId) {
- System.out.println("Test: " + domain);
+ public DomainPingExecution ping(Domain domain, String configuration, CertificateOwner target, DomainPingConfiguration conf) {
+ System.err.println("TestManager: " + domain.getSuffix());
if (pingExempt.contains(domain.getSuffix())) {
- enterPingResult(confId, DomainPinger.PING_SUCCEDED, "Succeeded by TestManager pass-by", null);
+ return enterPingResult(conf, DomainPinger.PING_SUCCEDED, "Succeeded by TestManager pass-by", null);
} else {
- dps.get(dpt).ping(domain, configuration, target, confId);
+ DomainPinger pinger = dps.get(dpt);
+ System.err.println("Forward to old pinger: " + pinger);
+ return pinger.ping(domain, configuration, target, conf);
}
}
@Override
public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException {
if (req.getParameter("create") != null) {
- batchCreateUsers(req.getParameter("prefix"), req.getParameter("suffix"), Integer.parseInt(req.getParameter("amount")), resp.getWriter());
- resp.getWriter().println("User batch created.");
+ String prefix = req.getParameter("prefix");
+ String domain = req.getParameter("suffix");
+ try {
+ if (null == prefix) {
+ throw new GigiApiException("No prefix given.");
+ }
+ if (null == domain) {
+ throw new GigiApiException("No domain given.");
+ }
+
+ DomainAssessment.checkCertifiableDomain(domain, false, true);
+
+ if ( !EmailProvider.isValidMailAddress(prefix + "@" + domain)) {
+ throw new GigiApiException("Invalid email address template.");
+ }
+
+ batchCreateUsers(prefix, domain, Integer.parseInt(req.getParameter("amount")), resp.getWriter());
+ resp.getWriter().println("User batch created.");
+ } catch (GigiApiException e) {
+ throw new Error(e);
+ }
} else if (req.getParameter("addpriv") != null || req.getParameter("delpriv") != null) {
User u = User.getByEmail(req.getParameter("email"));
if (u == null) {
} else if (req.getParameter("letverify") != null) {
String mail = req.getParameter("letverifyEmail");
User byEmail = User.getByEmail(mail);
- try {
- for (int i = 0; i < 25; i++) {
- User a = getAgent(i);
- Notary.verify(byEmail, a, a.getNames()[0], a.getDoB(), 10, "Testmanager exp up code", validVerificationDateString(), VerificationType.FACE_TO_FACE, getRandomCountry());
+ if (byEmail == null || !byEmail.canVerify()) {
+ resp.getWriter().println("User not found, or found user is not allowed to verify.");
+ } else {
+ try {
+ for (int i = 0; i < 25; i++) {
+ User a = getAgent(i);
+ Notary.verify(byEmail, a, a.getNames()[0], a.getDoB(), 10, "Testmanager exp up code", validVerificationDateString(), VerificationType.FACE_TO_FACE, getRandomCountry());
+ }
+ resp.getWriter().println("Successfully added experience points.");
+ } catch (GigiApiException e) {
+ throw new Error(e);
}
- } catch (GigiApiException e) {
- throw new Error(e);
}
} else if (req.getParameter("addEmail") != null) {
User u = User.getByEmail(req.getParameter("addEmailEmail"));
e.printStackTrace();
resp.getWriter().println("An internal error occured.");
} catch (GigiApiException e) {
- e.format(resp.getWriter(), Language.getInstance(Locale.ENGLISH));
+ e.format(resp.getWriter(), Language.getInstance(Locale.ENGLISH), getDefaultVars(req));
}
} else if (req.getParameter("addCert") != null) {
User u = User.getByEmail(req.getParameter("addCertEmail"));
e1.printStackTrace();
resp.getWriter().println("error");
} catch (GigiApiException e) {
- e.format(resp.getWriter(), Language.getInstance(Locale.ENGLISH));
+ e.format(resp.getWriter(), Language.getInstance(Locale.ENGLISH), getDefaultVars(req));
}
} else if (req.getParameter("addExDom") != null) {
resp.getWriter().println("Updated domains exempt from pings. Current set: <br/>");
resp.getWriter().println(HTMLEncoder.encodeHTML(pingExempt.toString()));
}
+ resp.getWriter().println("<br/><a href='" + PATH + "'>Go back</a>");
}
private void fetchMails(HttpServletRequest req, HttpServletResponse resp, String mail) throws IOException {