From e8d6efb1f6f0ab7881e7116f6ec73710c229ec43 Mon Sep 17 00:00:00 2001 From: Janis Streib Date: Wed, 9 Jul 2014 20:47:07 +0200 Subject: [PATCH] merged mailadd and mail overviwer to one page Conflicts: src/org/cacert/gigi/Gigi.java --- src/org/cacert/gigi/Gigi.java | 51 ++++++++----------- src/org/cacert/gigi/output/MailTable.java | 21 -------- .../cacert/gigi/pages/account/MailAdd.java | 24 --------- .../gigi/pages/account/MailOverview.java | 17 +------ .../cacert/gigi/pages/account/mailAdd.templ | 13 ----- .../gigi/pages/account/mailOverview.templ | 37 ++++++++++++++ 6 files changed, 59 insertions(+), 104 deletions(-) delete mode 100644 src/org/cacert/gigi/output/MailTable.java delete mode 100644 src/org/cacert/gigi/pages/account/MailAdd.java delete mode 100644 src/org/cacert/gigi/pages/account/mailAdd.templ create mode 100644 src/org/cacert/gigi/pages/account/mailOverview.templ diff --git a/src/org/cacert/gigi/Gigi.java b/src/org/cacert/gigi/Gigi.java index 82223a26..2741b732 100644 --- a/src/org/cacert/gigi/Gigi.java +++ b/src/org/cacert/gigi/Gigi.java @@ -26,7 +26,6 @@ import org.cacert.gigi.pages.Page; import org.cacert.gigi.pages.TestSecure; import org.cacert.gigi.pages.Verify; import org.cacert.gigi.pages.account.ChangePasswordPage; -import org.cacert.gigi.pages.account.MailAdd; import org.cacert.gigi.pages.account.MailCertificateAdd; import org.cacert.gigi.pages.account.MailCertificates; import org.cacert.gigi.pages.account.MailOverview; @@ -47,6 +46,7 @@ public class Gigi extends HttpServlet { EmailProvider.init(conf); DatabaseConnection.init(conf); } + @Override public void init() throws ServletException { pages.put("/login", new LoginPage("CACert - Login")); @@ -59,27 +59,22 @@ public class Gigi extends HttpServlet { pages.put(ChangePasswordPage.PATH, new ChangePasswordPage()); pages.put(RegisterPage.PATH, new RegisterPage()); pages.put(MailCertificateAdd.PATH, new MailCertificateAdd()); - pages.put(MailOverview.DEFAULT_PATH, new MailOverview( - "My email addresses")); - pages.put(MailAdd.DEFAULT_PATH, new MailAdd("Add new email")); - baseTemplate = new Template(new InputStreamReader( - Gigi.class.getResourceAsStream("Gigi.templ"))); - m = new Menu("Certificates", "cert", new MenuItem( - MailOverview.DEFAULT_PATH, "Emails"), new MenuItem("", - "Client Certificates"), new MenuItem("", "Domains"), - new MenuItem("", "Server Certificates")); + pages.put(MailOverview.DEFAULT_PATH, new MailOverview("My email addresses")); + baseTemplate = new Template(new InputStreamReader(Gigi.class.getResourceAsStream("Gigi.templ"))); + m = new Menu("Certificates", "cert", new MenuItem(MailOverview.DEFAULT_PATH, "Emails"), new MenuItem("", + "Client Certificates"), new MenuItem("", "Domains"), new MenuItem("", "Server Certificates")); super.init(); } + @Override - protected void service(final HttpServletRequest req, - final HttpServletResponse resp) throws ServletException, + protected void service(final HttpServletRequest req, final HttpServletResponse resp) throws ServletException, IOException { addXSSHeaders(resp); - if (req.getHeader("Origin") != null) { - resp.getWriter().println("No cross domain access allowed."); - return; - } + // if (req.getHeader("Origin") != null) { + // resp.getWriter().println("No cross domain access allowed."); + // return; + // } HttpSession hs = req.getSession(); if (req.getPathInfo() != null && req.getPathInfo().equals("/logout")) { if (hs != null) { @@ -109,8 +104,7 @@ public class Gigi extends HttpServlet { Outputable content = new Outputable() { @Override - public void output(PrintWriter out, Language l, - Map vars) { + public void output(PrintWriter out, Language l, Map vars) { try { if (req.getMethod().equals("POST")) { p.doPost(req, resp); @@ -134,6 +128,7 @@ public class Gigi extends HttpServlet { } } + private Page getPage(String pathInfo) { if (pathInfo.endsWith("/") && !pathInfo.equals("/")) { pathInfo = pathInfo.substring(0, pathInfo.length() - 1); @@ -158,8 +153,7 @@ public class Gigi extends HttpServlet { } public static void addXSSHeaders(HttpServletResponse hsr) { - hsr.addHeader("Access-Control-Allow-Origin", "https://" - + ServerConstants.getWwwHostNamePort() + " https://" + hsr.addHeader("Access-Control-Allow-Origin", "https://" + ServerConstants.getWwwHostNamePort() + " https://" + ServerConstants.getSecureHostNamePort()); hsr.addHeader("Access-Control-Max-Age", "60"); @@ -167,22 +161,19 @@ public class Gigi extends HttpServlet { hsr.addHeader("Strict-Transport-Security", "max-age=31536000"); } + private static String defaultCSP = null; + private static String getDefaultCSP() { if (defaultCSP == null) { StringBuffer csp = new StringBuffer(); csp.append("default-src 'none';"); - csp.append("font-src https://" - + ServerConstants.getStaticHostNamePort()); - csp.append(";img-src https://" - + ServerConstants.getStaticHostNamePort()); + csp.append("font-src https://" + ServerConstants.getStaticHostNamePort()); + csp.append(";img-src https://" + ServerConstants.getStaticHostNamePort()); csp.append(";media-src 'none'; object-src 'none';"); - csp.append("script-src https://" - + ServerConstants.getStaticHostNamePort()); - csp.append(";style-src https://" - + ServerConstants.getStaticHostNamePort()); - csp.append(";form-action https://" - + ServerConstants.getSecureHostNamePort() + " https://" + csp.append("script-src https://" + ServerConstants.getStaticHostNamePort()); + csp.append(";style-src https://" + ServerConstants.getStaticHostNamePort()); + csp.append(";form-action https://" + ServerConstants.getSecureHostNamePort() + " https://" + ServerConstants.getWwwHostNamePort()); csp.append("report-url https://api.cacert.org/security/csp/report"); defaultCSP = csp.toString(); diff --git a/src/org/cacert/gigi/output/MailTable.java b/src/org/cacert/gigi/output/MailTable.java deleted file mode 100644 index 8f871ac7..00000000 --- a/src/org/cacert/gigi/output/MailTable.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.cacert.gigi.output; - -import java.io.PrintWriter; -import java.util.Map; - -import org.cacert.gigi.Language; - -public class MailTable implements Outputable { - private String resultSet, userMail; - - public MailTable(String key, String userMail) { - this.resultSet = key; - this.userMail = userMail; - } - - @Override - public void output(PrintWriter out, Language l, Map vars) { - - } - -} diff --git a/src/org/cacert/gigi/pages/account/MailAdd.java b/src/org/cacert/gigi/pages/account/MailAdd.java deleted file mode 100644 index 3d8ae615..00000000 --- a/src/org/cacert/gigi/pages/account/MailAdd.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.cacert.gigi.pages.account; - -import java.io.IOException; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import org.cacert.gigi.pages.Page; - -public class MailAdd extends Page { - public static final String DEFAULT_PATH = "/account/mails/add"; - - public MailAdd(String title) { - super(title); - } - - @Override - public void doGet(HttpServletRequest req, HttpServletResponse resp) - throws IOException { - getDefaultTemplate().output(resp.getWriter(), Page.getLanguage(req), - null); - } - -} diff --git a/src/org/cacert/gigi/pages/account/MailOverview.java b/src/org/cacert/gigi/pages/account/MailOverview.java index e5744388..a4dba582 100644 --- a/src/org/cacert/gigi/pages/account/MailOverview.java +++ b/src/org/cacert/gigi/pages/account/MailOverview.java @@ -1,25 +1,21 @@ package org.cacert.gigi.pages.account; import java.io.IOException; -import java.io.PrintWriter; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.util.HashMap; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import org.cacert.gigi.Language; import org.cacert.gigi.User; import org.cacert.gigi.database.DatabaseConnection; -import org.cacert.gigi.output.MailTable; import org.cacert.gigi.pages.LoginPage; import org.cacert.gigi.pages.Page; public class MailOverview extends Page { public static final String DEFAULT_PATH = "/account/mails"; - private MailTable table = new MailTable("mails", "userMail"); + public MailOverview(String title) { super(title); } @@ -27,7 +23,6 @@ public class MailOverview extends Page { @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { - HashMap vars = new HashMap(); User us = LoginPage.getUser(req); int id = us.getId(); try { @@ -35,19 +30,9 @@ public class MailOverview extends Page { "SELECT * from `email` WHERE `memid`=? AND `deleted`=0"); ps.setInt(1, id); ResultSet rs = ps.executeQuery(); - vars.put("mails", rs); - vars.put("userMail", us.getEmail()); - } catch (SQLException e) { e.printStackTrace(); } - Language language = getLanguage(req); - table.output(resp.getWriter(), language, vars); - PrintWriter wri = resp.getWriter(); - wri.println("

"); - wri.println(language - .getTranslation("Please Note: You can not set an unverified account as a default account, and you can not remove a default account. To remove the default account you must set another verified account as the default.")); - wri.println("

"); } } diff --git a/src/org/cacert/gigi/pages/account/mailAdd.templ b/src/org/cacert/gigi/pages/account/mailAdd.templ deleted file mode 100644 index 94ee62cb..00000000 --- a/src/org/cacert/gigi/pages/account/mailAdd.templ +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - -
\ No newline at end of file diff --git a/src/org/cacert/gigi/pages/account/mailOverview.templ b/src/org/cacert/gigi/pages/account/mailOverview.templ new file mode 100644 index 00000000..3dc1e8c9 --- /dev/null +++ b/src/org/cacert/gigi/pages/account/mailOverview.templ @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + +
Überprüftnicht zutreffendjanis@dogcraft.de
+

+ +

+
+ + + + + + + + + + + + +
\ No newline at end of file -- 2.39.2