X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2FGigi.java;h=632757d7691a95c7530e11fa80dc61912d79f195;hb=7c25e3d3b44f27fb3f7016432187d3a52db8083b;hp=53685824528db4caf546e8a6d61f921d05160fb9;hpb=98410d964cfab49b45c5e56c4f9577f6527f400b;p=gigi.git diff --git a/src/org/cacert/gigi/Gigi.java b/src/org/cacert/gigi/Gigi.java index 53685824..632757d7 100644 --- a/src/org/cacert/gigi/Gigi.java +++ b/src/org/cacert/gigi/Gigi.java @@ -2,6 +2,7 @@ package org.cacert.gigi; import java.io.IOException; import java.io.PrintWriter; +import java.security.KeyStore; import java.util.Calendar; import java.util.HashMap; import java.util.LinkedList; @@ -63,14 +64,15 @@ public class Gigi extends HttpServlet { private static Gigi instance; - private PingerDaemon pinger = new PingerDaemon(); + private PingerDaemon pinger; - public Gigi(Properties conf) { + public Gigi(Properties conf, KeyStore truststore) { if (instance != null) { throw new IllegalStateException("Multiple Gigi instances!"); } instance = this; DatabaseConnection.init(conf); + pinger = new PingerDaemon(truststore); pinger.start(); } @@ -156,7 +158,7 @@ public class Gigi extends HttpServlet { final Page p = getPage(req.getPathInfo()); if (p != null) { - if (!isSecure && (p.needsLogin() || p instanceof LoginPage || p instanceof RegisterPage)) { + if ( !isSecure && (p.needsLogin() || p instanceof LoginPage || p instanceof RegisterPage)) { resp.sendRedirect("https://" + ServerConstants.getWwwHostNamePortSecure() + req.getPathInfo()); return; } @@ -287,4 +289,8 @@ public class Gigi extends HttpServlet { return instance.reveresePages.get(p).replaceFirst("/?\\*$", ""); } + public static void notifyPinger() { + instance.pinger.interrupt(); + } + }