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;
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") {
}
}
}.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.");
// 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<String, Page> pages = pagesObj instanceof Map ? new HashMap<>((Map<String, Page>) pagesObj) : null;
+ HashMap<String, Page> pages = new HashMap<>((Map<String, Page>) pagesObj);
pages.put("/manage", new Page("Page-manager") {
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.");
private static void addTicketPage(HashMap<String, Page> 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() {
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;
}