X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=util-testing%2Forg%2Fcacert%2Fgigi%2FDevelLauncher.java;h=0fe534548aeab7b22c9e6ad030692f21e7e87c92;hb=d7faeb9059063a213bfb0dad5d91f5732c3c6a48;hp=8c010bdc42bdf3105abd1b3dd9a5b794862e97db;hpb=b64118c8dbe75bcae43a4bd8bc8278125e48a7af;p=gigi.git diff --git a/util-testing/org/cacert/gigi/DevelLauncher.java b/util-testing/org/cacert/gigi/DevelLauncher.java index 8c010bdc..0fe53454 100644 --- a/util-testing/org/cacert/gigi/DevelLauncher.java +++ b/util-testing/org/cacert/gigi/DevelLauncher.java @@ -31,6 +31,8 @@ import org.cacert.gigi.dbObjects.ObjectCache; import org.cacert.gigi.dbObjects.User; import org.cacert.gigi.localisation.Language; import org.cacert.gigi.output.template.Template; +import org.cacert.gigi.output.template.TranslateCommand; +import org.cacert.gigi.pages.LoginPage; import org.cacert.gigi.pages.Page; import org.cacert.gigi.pages.account.certs.CertificateRequest; import org.cacert.gigi.pages.main.RegisterPage; @@ -68,9 +70,7 @@ public class DevelLauncher { DevelLauncher.writeGigiConfig(dos, "changeit".getBytes("UTF-8"), "changeit".getBytes("UTF-8"), mainProps, cacerts, keystore); dos.flush(); - InputStream oldin = System.in; - System.setIn(new ByteArrayInputStream(chunkConfig.toByteArray())); - new Launcher().boot(); + new Launcher().boot(new ByteArrayInputStream(chunkConfig.toByteArray())); addDevelPage(true); new Thread("ticket awaiter") { @@ -92,7 +92,6 @@ public class DevelLauncher { } } }.start(); - System.setIn(oldin); BufferedReader br = new BufferedReader(new InputStreamReader(System.in, "UTF-8")); System.out.println("Cacert-gigi system sucessfully started."); System.out.println("Press enter to shutdown."); @@ -120,8 +119,12 @@ public class DevelLauncher { // Check if we got a proper map (as much as we can tell) Object pagesObj = pageF.get(gigi); + if ( !(pagesObj instanceof Map)) { + throw new Error("Invalid state when initializing page structure"); + } + @SuppressWarnings("unchecked") - HashMap pages = pagesObj instanceof Map ? new HashMap<>((Map) pagesObj) : null; + HashMap pages = new HashMap<>((Map) pagesObj); pages.put("/manage", new Page("Page-manager") { @@ -129,6 +132,7 @@ public class DevelLauncher { public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { ObjectCache.clearAllCaches(); RegisterPage.RATE_LIMIT.bypass(); + LoginPage.RATE_LIMIT.bypass(); CertificateRequest.RATE_LIMIT.bypass(); resp.getWriter().println("All caches cleared."); System.out.println("Caches cleared."); @@ -178,7 +182,7 @@ public class DevelLauncher { private static void addTicketPage(HashMap pages) { pages.put("/ticketWait", new Page("ticket") { - Template t = new Template(DevelLauncher.class.getResource("DevelTicketWait.templ")); + private final Template t = new Template(DevelLauncher.class.getResource("DevelTicketWait.templ")); @Override public boolean needsLogin() { @@ -208,7 +212,7 @@ public class DevelLauncher { sess.setAttribute(LOGGEDIN, true); sess.setAttribute(Language.SESSION_ATTRIB_NAME, user.getPreferredLocale()); sess.setAttribute(AUTH_CONTEXT, new AuthorizationContext(user, user)); - req.getSession().setAttribute(LOGIN_METHOD, "Ticket"); + req.getSession().setAttribute(LOGIN_METHOD, new TranslateCommand("Ticket")); resp.getWriter().println("ticket consumed"); ticketUsed = true; }