X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2Fpages%2Faccount%2Fcerts%2FCertificates.java;h=8acd48422c03044aa9f06f36e6952e787d97e5c4;hp=04eaa8d5ffc33b68fba1b39b7127d6a27d902f14;hb=17a15662212d973d12ed4cea3f5eaa9c0d1169ed;hpb=00ed9493f980efc6bd339d702f9964f0ac247ad2 diff --git a/src/org/cacert/gigi/pages/account/certs/Certificates.java b/src/org/cacert/gigi/pages/account/certs/Certificates.java index 04eaa8d5..8acd4842 100644 --- a/src/org/cacert/gigi/pages/account/certs/Certificates.java +++ b/src/org/cacert/gigi/pages/account/certs/Certificates.java @@ -49,6 +49,9 @@ public class Certificates extends Page implements HandlesMixedRequest { @Override public boolean beforeTemplate(HttpServletRequest req, HttpServletResponse resp) throws IOException { + if ("POST".equals(req.getMethod())) { + return beforePost(req, resp); + } String pi = req.getPathInfo().substring(PATH.length()); if (pi.length() == 0) { @@ -81,8 +84,9 @@ public class Certificates extends Page implements HandlesMixedRequest { ServletOutputStream out = resp.getOutputStream(); boolean doChain = req.getParameter("chain") != null; boolean includeAnchor = req.getParameter("noAnchor") == null; + boolean includeLeaf = req.getParameter("noLeaf") == null; if (crt) { - CertExporter.writeCertCrt(c, out, doChain, includeAnchor); + CertExporter.writeCertCrt(c, out, doChain, includeAnchor, includeLeaf); } else if (cer) { CertExporter.writeCertCer(c, out, doChain, includeAnchor); } @@ -97,24 +101,43 @@ public class Certificates extends Page implements HandlesMixedRequest { return true; } + @Override + public boolean beforePost(HttpServletRequest req, HttpServletResponse resp) throws IOException { + if (support && "revoke".equals(req.getParameter("action"))) { + if (Form.getForm(req, RevokeSingleCertForm.class).submitExceptionProtected(req)) { + resp.sendRedirect(req.getPathInfo()); + return true; + } + return false; + } + if ( !req.getPathInfo().equals(PATH)) { + resp.sendError(500); + return true; + } + if (Form.getForm(req, CertificateModificationForm.class).submitExceptionProtected(req)) { + resp.sendRedirect(PATH); + return true; + } + return false; + } + @Override public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { if (req.getQueryString() != null && !req.getQueryString().equals("") && !req.getQueryString().equals("withRevoked")) { return;// Block actions by get parameters. } + if (support && "revoke".equals(req.getParameter("action"))) { - if (Form.getForm(req, RevokeSingleCertForm.class).submitProtected(resp.getWriter(), req)) { - resp.sendRedirect(req.getPathInfo()); - return; + if (Form.printFormErrors(req, resp.getWriter())) { + Form.getForm(req, RevokeSingleCertForm.class).output(resp.getWriter(), getLanguage(req), new HashMap()); } + return; } if ( !req.getPathInfo().equals(PATH)) { resp.sendError(500); return; } - Form.getForm(req, CertificateModificationForm.class).submit(resp.getWriter(), req); - - doGet(req, resp); + Form.getForm(req, CertificateModificationForm.class).output(resp.getWriter(), getLanguage(req), new HashMap()); } @Override