X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2FGigi.java;h=7a9aaffd4e00681ee6b698d4f75e3af632a0d927;hb=0f4a8c8b0422ed8f9fadd67af9c00c7a782111fd;hp=7aa26d87ef70a0752907f818339c07f60d260318;hpb=3ad481bf50a3562142f3acd882e669acc9bc3f88;p=gigi.git
diff --git a/src/org/cacert/gigi/Gigi.java b/src/org/cacert/gigi/Gigi.java
index 7aa26d87..7a9aaffd 100644
--- a/src/org/cacert/gigi/Gigi.java
+++ b/src/org/cacert/gigi/Gigi.java
@@ -1,7 +1,12 @@
package org.cacert.gigi;
import java.io.IOException;
-import java.security.cert.X509Certificate;
+import java.io.PrintWriter;
+import java.util.Calendar;
+import java.util.HashMap;
+import java.util.LinkedList;
+import java.util.Map;
+import java.util.Properties;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
@@ -9,59 +14,234 @@ import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
+import org.cacert.gigi.database.DatabaseConnection;
+import org.cacert.gigi.localisation.Language;
+import org.cacert.gigi.output.Form.CSRFException;
+import org.cacert.gigi.output.Menu;
+import org.cacert.gigi.output.Outputable;
+import org.cacert.gigi.output.PageMenuItem;
+import org.cacert.gigi.output.template.Template;
+import org.cacert.gigi.pages.LoginPage;
+import org.cacert.gigi.pages.LogoutPage;
+import org.cacert.gigi.pages.MainPage;
+import org.cacert.gigi.pages.Page;
+import org.cacert.gigi.pages.StaticPage;
+import org.cacert.gigi.pages.TestSecure;
+import org.cacert.gigi.pages.Verify;
+import org.cacert.gigi.pages.account.CertificateAdd;
+import org.cacert.gigi.pages.account.Certificates;
+import org.cacert.gigi.pages.account.ChangePasswordPage;
+import org.cacert.gigi.pages.account.DomainOverview;
+import org.cacert.gigi.pages.account.MailOverview;
+import org.cacert.gigi.pages.account.MyDetails;
+import org.cacert.gigi.pages.error.PageNotFound;
+import org.cacert.gigi.pages.main.RegisterPage;
+import org.cacert.gigi.pages.wot.AssurePage;
+import org.cacert.gigi.pages.wot.MyPoints;
+import org.cacert.gigi.ping.PingerDaemon;
+import org.cacert.gigi.util.ServerConstants;
+
public class Gigi extends HttpServlet {
- @Override
- protected void service(HttpServletRequest req, HttpServletResponse resp)
- throws ServletException, IOException {
- X509Certificate[] cert = (X509Certificate[]) req
- .getAttribute("javax.servlet.request.X509Certificate");
- HttpSession hs = req.getSession(false);
- if (hs == null || !((Boolean) hs.getAttribute("loggedin"))) {
- if (cert != null) {
- tryAuthWithCertificate(req, cert[0]);
- hs = req.getSession(false);
- }
- }
- if (req.getMethod().equals("POST") && req.getPathInfo() != null
- && req.getPathInfo().equals("/login")) {
- authWithUnpw(req);
- resp.sendRedirect("/");
- return;
- }
- if (req.getPathInfo() != null && req.getPathInfo().equals("/logout")) {
- if (hs != null) {
- hs.setAttribute("loggedin", false);
- hs.invalidate();
- }
- authWithUnpw(req);
- resp.sendRedirect("/");
- return;
- }
-
- if (hs == null || !((Boolean) hs.getAttribute("loggedin"))) {
- resp.setContentType("text/html");
- resp.getWriter().println("Access denied. Sending login form.");
- resp.getWriter()
- .println(
- "
");
- return;
- }
- resp.getWriter().println("Access granted.");
-
- }
- private void authWithUnpw(HttpServletRequest req) {
- String un = req.getParameter("username");
- String pw = req.getParameter("password");
- // TODO dummy password check if (un.equals(pw)) {
- HttpSession hs = req.getSession();
- hs.setAttribute("loggedin", true);
- }
- private void tryAuthWithCertificate(HttpServletRequest req,
- X509Certificate x509Certificate) {
- // TODO ckeck if certificate is valid
- HttpSession hs = req.getSession();
- hs.setAttribute("loggedin", true);
- }
+
+ private boolean firstInstanceInited = false;
+
+ public static final String LOGGEDIN = "loggedin";
+
+ public static final String USER = "user";
+
+ private static final long serialVersionUID = -6386785421902852904L;
+
+ private Template baseTemplate;
+
+ private LinkedList