X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2FGigi.java;h=74bfd623218a8bb9ea0bd0e684bbf25d70674d7a;hp=88c85ce17144d935b52519d9c7f650d0a9f783b5;hb=2fb0af2c1dd48272ffcc1d501324ff1f609331d4;hpb=46b696eff985b3500a267c021a2ff0550bd34b1f
diff --git a/src/org/cacert/gigi/Gigi.java b/src/org/cacert/gigi/Gigi.java
index 88c85ce1..74bfd623 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,58 +14,232 @@ 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.MainPage;
+import org.cacert.gigi.pages.Page;
+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.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();
- }
- 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