X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;ds=sidebyside;f=util-testing%2Forg%2Fcacert%2Fgigi%2Fpages%2FManager.java;h=f599fcd6b2835cc44bb3f7a039c25bc0c40a7535;hb=b59c37e88149d0463ab4b802cacb6f0ea883acfb;hp=c5b3c2571748564518a7c5b723c91324abd98057;hpb=0dff9238feff9bc2d1ae79e5341c01b2811bcce8;p=gigi.git diff --git a/util-testing/org/cacert/gigi/pages/Manager.java b/util-testing/org/cacert/gigi/pages/Manager.java index c5b3c257..f599fcd6 100644 --- a/util-testing/org/cacert/gigi/pages/Manager.java +++ b/util-testing/org/cacert/gigi/pages/Manager.java @@ -34,6 +34,8 @@ import org.cacert.gigi.dbObjects.CATS.CATSType; import org.cacert.gigi.dbObjects.Certificate; import org.cacert.gigi.dbObjects.Certificate.CertificateStatus; import org.cacert.gigi.dbObjects.CertificateOwner; +import org.cacert.gigi.dbObjects.CountryCode; +import org.cacert.gigi.dbObjects.CountryCode.CountryCodeType; import org.cacert.gigi.dbObjects.Digest; import org.cacert.gigi.dbObjects.Domain; import org.cacert.gigi.dbObjects.DomainPingType; @@ -42,7 +44,7 @@ import org.cacert.gigi.dbObjects.Group; import org.cacert.gigi.dbObjects.NamePart; import org.cacert.gigi.dbObjects.NamePart.NamePartType; import org.cacert.gigi.dbObjects.User; -import org.cacert.gigi.email.EmailProvider; +import org.cacert.gigi.email.DelegateMailProvider; import org.cacert.gigi.localisation.Language; import org.cacert.gigi.output.template.IterableDataset; import org.cacert.gigi.output.template.Template; @@ -106,7 +108,7 @@ public class Manager extends Page { String mail = "test-assurer" + i + "@example.com"; User u = User.getByEmail(mail); if (u == null) { - System.out.println("Creating assurer"); + System.out.println("Creating RA-Agent"); createUser(mail); u = User.getByEmail(mail); passCATS(u, CATSType.ASSURER_CHALLENGE); @@ -140,9 +142,23 @@ public class Manager extends Page { return instance; } - public static class MailFetcher extends EmailProvider { + public static class MailFetcher extends DelegateMailProvider { - public MailFetcher(Properties p) {} + Pattern[] toForward; + + public MailFetcher(Properties props) { + super(props, props.getProperty("emailProvider.manager.target")); + String str = props.getProperty("emailProvider.manager.filter"); + if (str == null) { + toForward = new Pattern[0]; + } else { + String[] parts = str.split(" "); + toForward = new Pattern[parts.length]; + for (int i = 0; i < parts.length; i++) { + toForward[i] = Pattern.compile(parts[i]); + } + } + } @Override public String checkEmailServer(int forUid, String address) throws IOException { @@ -150,13 +166,19 @@ public class Manager extends Page { } @Override - public synchronized void sendMail(String to, String subject, String message, String from, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { + public synchronized void sendMail(String to, String subject, String message, String replyto, String toname, String fromname, String errorsto, boolean extra) throws IOException { HashMap> mails = Manager.getInstance().emails; LinkedList hismails = mails.get(to); if (hismails == null) { mails.put(to, hismails = new LinkedList<>()); } hismails.addFirst(subject + "\n" + message); + for (int i = 0; i < toForward.length; i++) { + if (toForward[i].matcher(to).matches()) { + super.sendMail(to, subject, message, replyto, toname, fromname, errorsto, extra); + return; + } + } } } @@ -293,7 +315,7 @@ public class Manager extends Page { if (vp < 10) { currentVP = vp; } - Notary.assure(getAssurer(agentNumber), byEmail, byEmail.getPreferredName(), byEmail.getDoB(), currentVP, "Testmanager Assure up code", "2014-11-06", AssuranceType.FACE_TO_FACE); + Notary.assure(getAssurer(agentNumber), byEmail, byEmail.getPreferredName(), byEmail.getDoB(), currentVP, "Testmanager Verify up code", "2014-11-06", AssuranceType.FACE_TO_FACE, CountryCode.getCountryCode("DE", CountryCodeType.CODE_2_CHARS)); agentNumber += 1; vp -= currentVP; } @@ -310,7 +332,7 @@ public class Manager extends Page { try { for (int i = 0; i < 25; i++) { User a = getAssurer(i); - Notary.assure(byEmail, a, a.getNames()[0], a.getDoB(), 10, "Testmanager exp up code", "2014-11-06", AssuranceType.FACE_TO_FACE); + Notary.assure(byEmail, a, a.getNames()[0], a.getDoB(), 10, "Testmanager exp up code", "2014-11-06", AssuranceType.FACE_TO_FACE, CountryCode.getCountryCode("DE", CountryCodeType.CODE_2_CHARS)); } } catch (GigiApiException e) { throw new Error(e); @@ -352,9 +374,6 @@ public class Manager extends Page { resp.getWriter().println("error"); } catch (GigiApiException e) { e.format(resp.getWriter(), Language.getInstance(Locale.ENGLISH)); - } catch (InterruptedException e) { - e.printStackTrace(); - resp.getWriter().println("interrupted"); } } else if (req.getParameter("addExDom") != null) {