From: Lucas Werkmeister Date: Mon, 27 Feb 2017 19:16:07 +0000 (+0100) Subject: Merge "fix: Somewhat sensibly split the wishlist document" X-Git-Url: https://code.wpia.club/?p=gigi.git;a=commitdiff_plain;h=42222135161915d0e6e05264b3b3aa652af599d0;hp=b9e0dda112b86c2c7fa4af0a4455d221246b0d2d Merge "fix: Somewhat sensibly split the wishlist document" --- diff --git a/config/gigi.properties.template b/config/gigi.properties.template index 2f511ec1..f4a96719 100644 --- a/config/gigi.properties.template +++ b/config/gigi.properties.template @@ -18,3 +18,5 @@ time.testValidMonths=12 time.reverificationDays=90 time.verificationFreshMonths=39 time.verificationMaxAgeMonths=24 + +appName=SomeCA \ No newline at end of file diff --git a/links.txt b/links.txt index a1609201..51d8ab6c 100644 --- a/links.txt +++ b/links.txt @@ -11,3 +11,7 @@ /wiki/verificationHandbook /ttp/user /ttp/country +/acceptableDocuments +/blog +/imprint +/dataPrivacy diff --git a/src/club/wpia/gigi/Gigi.java b/src/club/wpia/gigi/Gigi.java index ebd6471f..f4e3f2ba 100644 --- a/src/club/wpia/gigi/Gigi.java +++ b/src/club/wpia/gigi/Gigi.java @@ -34,7 +34,9 @@ import club.wpia.gigi.output.SimpleMenuItem; import club.wpia.gigi.output.SimpleUntranslatedMenuItem; import club.wpia.gigi.output.template.Form.CSRFException; import club.wpia.gigi.output.template.Outputable; +import club.wpia.gigi.output.template.PlainOutputable; import club.wpia.gigi.output.template.Template; +import club.wpia.gigi.output.template.TranslateCommand; import club.wpia.gigi.pages.AboutPage; import club.wpia.gigi.pages.HandlesMixedRequest; import club.wpia.gigi.pages.LoginPage; @@ -69,9 +71,9 @@ import club.wpia.gigi.pages.main.RegisterPage; import club.wpia.gigi.pages.orga.CreateOrgPage; import club.wpia.gigi.pages.orga.ViewOrgPage; import club.wpia.gigi.pages.statistics.StatisticsRoles; -import club.wpia.gigi.pages.wot.VerifyPage; import club.wpia.gigi.pages.wot.Points; import club.wpia.gigi.pages.wot.RequestTTPPage; +import club.wpia.gigi.pages.wot.VerifyPage; import club.wpia.gigi.ping.PingerDaemon; import club.wpia.gigi.util.AuthorizationContext; import club.wpia.gigi.util.DomainAssessment; @@ -94,28 +96,24 @@ public final class Gigi extends HttpServlet { public MenuBuilder() {} - private void putPage(String path, Page p, String category) { + private void putPage(String path, Page p, Menu m) { pages.put(path, p); - if (category == null) { + if (m == null) { return; } - Menu m = getMenu(category); m.addItem(new PageMenuItem(p, path.replaceFirst("/?\\*$", ""))); } - private Menu getMenu(String category) { - Menu m = null; - for (Menu menu : categories) { - if (menu.getMenuName().equals(category)) { - m = menu; - break; - } - } - if (m == null) { - m = new Menu(category); - categories.add(m); - } + private Menu createMenu(String name) { + Menu m = new Menu(new TranslateCommand(name)); + categories.add(m); + return m; + } + + private Menu createMenu(Outputable name) { + Menu m = new Menu(name); + categories.add(m); return m; } @@ -123,14 +121,15 @@ public final class Gigi extends HttpServlet { putPage("/denied", new AccessDenied(), null); putPage("/error", new PageNotFound(), null); putPage("/login", new LoginPage(), null); - getMenu("SomeCA.org").addItem(new SimpleMenuItem("https://" + ServerConstants.getHostNamePort(Host.WWW) + "/login", "Password Login") { + Menu mainMenu = createMenu(new PlainOutputable(ServerConstants.getAppName())); + mainMenu.addItem(new SimpleMenuItem("https://" + ServerConstants.getHostNamePort(Host.WWW) + "/login", "Password Login") { @Override public boolean isPermitted(AuthorizationContext ac) { return ac == null; } }); - getMenu("SomeCA.org").addItem(new SimpleMenuItem("https://" + ServerConstants.getHostNamePortSecure(Host.SECURE) + "/login", "Certificate Login") { + mainMenu.addItem(new SimpleMenuItem("https://" + ServerConstants.getHostNamePortSecure(Host.SECURE) + "/login", "Certificate Login") { @Override public boolean isPermitted(AuthorizationContext ac) { @@ -138,39 +137,45 @@ public final class Gigi extends HttpServlet { } }); putPage("/", new MainPage(), null); - putPage("/roots", new RootCertPage(truststore), "SomeCA.org"); - putPage(StatisticsRoles.PATH, new StatisticsRoles(), "SomeCA.org"); - putPage("/about", new AboutPage(), "SomeCA.org"); + putPage("/roots", new RootCertPage(truststore), mainMenu); + putPage(StatisticsRoles.PATH, new StatisticsRoles(), mainMenu); + putPage("/about", new AboutPage(), mainMenu); + putPage(RegisterPage.PATH, new RegisterPage(), mainMenu); putPage("/secure", new TestSecure(), null); putPage(Verify.PATH, new Verify(), null); - putPage(Certificates.PATH + "/*", new Certificates(false), "Certificates"); - putPage(RegisterPage.PATH, new RegisterPage(), "SomeCA.org"); - putPage(CertificateAdd.PATH, new CertificateAdd(), "Certificates"); - putPage(MailOverview.DEFAULT_PATH, new MailOverview(), "Certificates"); - putPage(DomainOverview.PATH, new DomainOverview(), "Certificates"); + Menu certificates = createMenu("Certificates"); + putPage(Certificates.PATH + "/*", new Certificates(false), certificates); + putPage(CertificateAdd.PATH, new CertificateAdd(), certificates); + putPage(MailOverview.DEFAULT_PATH, new MailOverview(), certificates); + putPage(DomainOverview.PATH, new DomainOverview(), certificates); putPage(EditDomain.PATH + "*", new EditDomain(), null); - putPage(VerifyPage.PATH + "/*", new VerifyPage(), "Web of Trust"); - putPage(Points.PATH, new Points(false), "Web of Trust"); - putPage(RequestTTPPage.PATH, new RequestTTPPage(), "Web of Trust"); + Menu wot = createMenu("Verification"); + putPage(VerifyPage.PATH + "/*", new VerifyPage(), wot); + putPage(Points.PATH, new Points(false), wot); + putPage(RequestTTPPage.PATH, new RequestTTPPage(), wot); - putPage(TTPAdminPage.PATH + "/*", new TTPAdminPage(), "Admin"); - putPage(CreateOrgPage.DEFAULT_PATH, new CreateOrgPage(), "Organisation Admin"); - putPage(ViewOrgPage.DEFAULT_PATH + "/*", new ViewOrgPage(), "Organisation Admin"); + Menu admMenu = createMenu("Admin"); + Menu orgAdm = createMenu("Organisation Admin"); + putPage(TTPAdminPage.PATH + "/*", new TTPAdminPage(), admMenu); + putPage(CreateOrgPage.DEFAULT_PATH, new CreateOrgPage(), orgAdm); + putPage(ViewOrgPage.DEFAULT_PATH + "/*", new ViewOrgPage(), orgAdm); - putPage(SupportEnterTicketPage.PATH, new SupportEnterTicketPage(), "Support Console"); - putPage(FindUserByEmailPage.PATH, new FindUserByEmailPage(), "Support Console"); - putPage(FindUserByDomainPage.PATH, new FindUserByDomainPage(), "Support Console"); - putPage(FindCertPage.PATH, new FindCertPage(), "Support Console"); + Menu support = createMenu("Support Console"); + putPage(SupportEnterTicketPage.PATH, new SupportEnterTicketPage(), support); + putPage(FindUserByEmailPage.PATH, new FindUserByEmailPage(), support); + putPage(FindUserByDomainPage.PATH, new FindUserByDomainPage(), support); + putPage(FindCertPage.PATH, new FindCertPage(), support); + Menu account = createMenu("My Account"); putPage(SupportUserDetailsPage.PATH + "*", new SupportUserDetailsPage(), null); - putPage(ChangePasswordPage.PATH, new ChangePasswordPage(), "My Account"); - putPage(History.PATH, new History(false), "My Account"); - putPage(FindAgentAccess.PATH, new OneFormPage("Access to Find Agent", FindAgentAccess.class), "My Account"); + putPage(ChangePasswordPage.PATH, new ChangePasswordPage(), account); + putPage(History.PATH, new History(false), account); + putPage(FindAgentAccess.PATH, new OneFormPage("Access to Find Agent", FindAgentAccess.class), account); putPage(History.SUPPORT_PATH, new History(true), null); - putPage(UserTrainings.PATH, new UserTrainings(false), "My Account"); - putPage(MyDetails.PATH, new MyDetails(), "My Account"); + putPage(UserTrainings.PATH, new UserTrainings(false), account); + putPage(MyDetails.PATH, new MyDetails(), account); putPage(UserTrainings.SUPPORT_PATH, new UserTrainings(true), null); putPage(Points.SUPPORT_PATH, new Points(true), null); putPage(Certificates.SUPPORT_PATH + "/*", new Certificates(true), null); @@ -183,22 +188,22 @@ public final class Gigi extends HttpServlet { Class manager = Class.forName("club.wpia.gigi.pages.Manager"); Page p = (Page) manager.getMethod("getInstance").invoke(null); String pa = (String) manager.getField("PATH").get(null); - putPage(pa + "/*", p, "Gigi test server"); + Menu testServer = createMenu("Gigi test server"); + putPage(pa + "/*", p, testServer); } catch (ReflectiveOperationException e) { e.printStackTrace(); } } try { - putPage("/wot/rules", new StaticPage("Web of Trust Rules", VerifyPage.class.getResourceAsStream("Rules.templ")), "Web of Trust"); + putPage("/wot/rules", new StaticPage("Verification Rules", VerifyPage.class.getResourceAsStream("Rules.templ")), wot); } catch (UnsupportedEncodingException e) { throw new ServletException(e); } rootMenu = new MenuCollector(); - Menu languages = new Menu("Language"); + Menu languages = createMenu("Language"); addLanguages(languages); - categories.add(languages); for (Menu menu : categories) { menu.prepare(); rootMenu.put(menu); @@ -432,12 +437,14 @@ public final class Gigi extends HttpServlet { } else { req.setAttribute(LINK_HOST, ServerConstants.getHostNamePort(Host.LINK)); } + vars.put(Gigi.LINK_HOST, req.getAttribute(Gigi.LINK_HOST)); if (currentAuthContext != null) { // TODO maybe move this information into the AuthContext object vars.put("loginMethod", req.getSession().getAttribute(LOGIN_METHOD)); vars.put("authContext", currentAuthContext); } + vars.put("appName", ServerConstants.getAppName()); resp.setContentType("text/html; charset=utf-8"); baseTemplate.output(resp.getWriter(), lang, vars); } else { diff --git a/src/club/wpia/gigi/Gigi.templ b/src/club/wpia/gigi/Gigi.templ index 7399b192..8945b1ea 100644 --- a/src/club/wpia/gigi/Gigi.templ +++ b/src/club/wpia/gigi/Gigi.templ @@ -2,9 +2,9 @@ - + - <?=_SomeCA?> - <?=$title?> + <?=_${appName}?> - <?=$title?> @@ -28,7 +28,7 @@ - + @@ -50,8 +50,10 @@
- Page info - ©2016- SomeCA + Page info | + ©2016- 'WPIA (World Privacy and Identity Association)!''.?> | + '?> | + '?>
diff --git a/src/club/wpia/gigi/Launcher.java b/src/club/wpia/gigi/Launcher.java index 25c91c86..b4ae8e2a 100644 --- a/src/club/wpia/gigi/Launcher.java +++ b/src/club/wpia/gigi/Launcher.java @@ -342,7 +342,7 @@ public class Launcher { hw.setHandler(rh); ServletContextHandler servlet = new ServletContextHandler(ServletContextHandler.SESSIONS); - servlet.setInitParameter(SessionManager.__SessionCookieProperty, "SomeCA-Session"); + servlet.setInitParameter(SessionManager.__SessionCookieProperty, ServerConstants.getAppName() + "-Session"); servlet.addServlet(webAppServlet, "/*"); ErrorPageErrorHandler epeh = new ErrorPageErrorHandler(); epeh.addErrorPage(404, "/error"); diff --git a/src/club/wpia/gigi/email/MailProbe.java b/src/club/wpia/gigi/email/MailProbe.java index b02add82..4e454f0a 100644 --- a/src/club/wpia/gigi/email/MailProbe.java +++ b/src/club/wpia/gigi/email/MailProbe.java @@ -15,6 +15,7 @@ public class MailProbe { public static void sendMailProbe(Language l, String type, int id, String hash, String address) throws IOException { HashMap vars = new HashMap<>(); vars.put("link", "https://" + ServerConstants.getHostNamePortSecure(Host.WWW) + "/verify?type=" + type + "&id=" + id + "&hash=" + hash); + vars.put("appName", ServerConstants.getAppName()); mailProbe.sendMail(l, vars, address); } diff --git a/src/club/wpia/gigi/email/MailProbe.templ b/src/club/wpia/gigi/email/MailProbe.templ index 5398c6d8..a7293d5f 100644 --- a/src/club/wpia/gigi/email/MailProbe.templ +++ b/src/club/wpia/gigi/email/MailProbe.templ @@ -1,5 +1,5 @@ Subject: - + diff --git a/src/club/wpia/gigi/email/SendMail.java b/src/club/wpia/gigi/email/SendMail.java index cef6381c..4c4b8072 100644 --- a/src/club/wpia/gigi/email/SendMail.java +++ b/src/club/wpia/gigi/email/SendMail.java @@ -51,7 +51,7 @@ public class SendMail extends EmailProvider { out.print("DATA\r\n"); out.flush(); readSMTPResponse(in, 250); - out.print("X-Mailer: SomeCA.org Website\r\n"); + out.print("X-Mailer: " + ServerConstants.getAppName() + " Website\r\n"); // if (array_key_exists("REMOTE_ADDR", $_SERVER)) { // out.print("X-OriginatingIP: ".$_SERVER["REMOTE_ADDR"]."\r\n"); // } diff --git a/src/club/wpia/gigi/output/Menu.java b/src/club/wpia/gigi/output/Menu.java index e83ce6e0..0de4140a 100644 --- a/src/club/wpia/gigi/output/Menu.java +++ b/src/club/wpia/gigi/output/Menu.java @@ -5,19 +5,20 @@ import java.util.LinkedList; import java.util.Map; import club.wpia.gigi.localisation.Language; +import club.wpia.gigi.output.template.Outputable; import club.wpia.gigi.util.AuthorizationContext; public class Menu implements IMenuItem { public static final String AUTH_VALUE = "ac"; - private String menuName; + private Outputable menuName; private IMenuItem[] content; private LinkedList prepare = new LinkedList(); - public Menu(String menuName) { + public Menu(Outputable menuName) { this.menuName = menuName; } @@ -30,7 +31,7 @@ public class Menu implements IMenuItem { if ( !visible) { visible = true; out.print("
  • "); - out.print(l.getTranslation(menuName)); + menuName.output(out, l, vars); out.print("
      "); } mi.output(out, l, vars); @@ -51,20 +52,7 @@ public class Menu implements IMenuItem { prepare = null; } - @Override - public boolean equals(Object obj) { - if (obj instanceof Menu) { - return menuName.equals(((Menu) obj).getMenuName()); - } - return false; - } - - @Override - public int hashCode() { - return menuName.hashCode(); - } - - public String getMenuName() { + public Outputable getMenuName() { return menuName; } diff --git a/src/club/wpia/gigi/output/template/MailFooter.templ b/src/club/wpia/gigi/output/template/MailFooter.templ index 9e2f11dd..fb2c0e1c 100644 --- a/src/club/wpia/gigi/output/template/MailFooter.templ +++ b/src/club/wpia/gigi/output/template/MailFooter.templ @@ -1,6 +1,6 @@ , - + -- diff --git a/src/club/wpia/gigi/output/template/MailTemplate.java b/src/club/wpia/gigi/output/template/MailTemplate.java index 48034601..c6f271b1 100644 --- a/src/club/wpia/gigi/output/template/MailTemplate.java +++ b/src/club/wpia/gigi/output/template/MailTemplate.java @@ -11,12 +11,13 @@ import java.util.Map; import club.wpia.gigi.email.SendMail; import club.wpia.gigi.localisation.Language; +import club.wpia.gigi.util.ServerConstants; public class MailTemplate extends Template { private static final Template FOOTER = new Template(MailTemplate.class.getResource("MailFooter.templ")); - public static final String SUBJECT_TAG = "[SomeCA] "; + public static final String SUBJECT_TAG = "[" + ServerConstants.getAppName() + "] "; private TemplateBlock subjectBlock; @@ -63,6 +64,7 @@ public class MailTemplate extends Template { public void sendMail(Language l, Map vars, String to) throws IOException { tryReload(); vars.put(Outputable.OUT_KEY_PLAIN, true); + vars.put("appName", ServerConstants.getAppName()); String body = runTemplate(this, l, vars); body += runTemplate(FOOTER, l, vars); diff --git a/src/club/wpia/gigi/pages/MainPageNotLogin.templ b/src/club/wpia/gigi/pages/MainPageNotLogin.templ index 33c58da2..2bca0b05 100644 --- a/src/club/wpia/gigi/pages/MainPageNotLogin.templ +++ b/src/club/wpia/gigi/pages/MainPageNotLogin.templ @@ -1,21 +1,16 @@ -

      +

      -

      +

      'WPIA (World Privacy and Identity Association)!''.?>

      -

      +

      +

      -

      'join the SomeCA Community!''.?>

      +

      -

      'Root Distribution License!''.?> -'root keys!''.?>

      +

      'join ${appName}!'' as fellow for free and get your own certificates.?>


      -

      - -

      ' yet??>

      - -

      ' yet??>

      - -

      '.?> -'.?>

      +

      '.?> +'.?>

      \ No newline at end of file diff --git a/src/club/wpia/gigi/pages/Page.java b/src/club/wpia/gigi/pages/Page.java index 75d072e8..8bca3afa 100644 --- a/src/club/wpia/gigi/pages/Page.java +++ b/src/club/wpia/gigi/pages/Page.java @@ -18,6 +18,7 @@ import club.wpia.gigi.dbObjects.User; import club.wpia.gigi.localisation.Language; import club.wpia.gigi.output.template.Template; import club.wpia.gigi.util.AuthorizationContext; +import club.wpia.gigi.util.ServerConstants; /** * This class encapsulates a sub page of Gigi. A template residing nearby this @@ -178,6 +179,7 @@ public abstract class Page implements PermissionCheckable { protected Map getDefaultVars(HttpServletRequest req) { HashMap vars = new HashMap(); vars.put(Gigi.LINK_HOST, req.getAttribute(Gigi.LINK_HOST)); + vars.put("appName", ServerConstants.getAppName()); return vars; } diff --git a/src/club/wpia/gigi/pages/StaticPage.java b/src/club/wpia/gigi/pages/StaticPage.java index b07004af..25fd43e6 100644 --- a/src/club/wpia/gigi/pages/StaticPage.java +++ b/src/club/wpia/gigi/pages/StaticPage.java @@ -4,7 +4,6 @@ import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; -import java.util.HashMap; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -22,8 +21,7 @@ public class StaticPage extends Page { @Override public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException { - HashMap vars = new HashMap(); - content.output(resp.getWriter(), getLanguage(req), vars); + content.output(resp.getWriter(), getLanguage(req), getDefaultVars(req)); } } diff --git a/src/club/wpia/gigi/pages/account/certs/CertificateIssueForm.java b/src/club/wpia/gigi/pages/account/certs/CertificateIssueForm.java index b162a26f..86056df4 100644 --- a/src/club/wpia/gigi/pages/account/certs/CertificateIssueForm.java +++ b/src/club/wpia/gigi/pages/account/certs/CertificateIssueForm.java @@ -142,7 +142,6 @@ public class CertificateIssueForm extends Form { @Override protected void outputContent(PrintWriter out, Language l, Map vars) { HashMap vars2 = new HashMap(vars); - StringBuffer content = new StringBuffer(); for (SubjectAlternateName SAN : cr.getSANs()) { content.append(SAN.getType().toString().toLowerCase()); diff --git a/src/club/wpia/gigi/pages/account/certs/CertificateIssueForm.templ b/src/club/wpia/gigi/pages/account/certs/CertificateIssueForm.templ index c24b90f1..f3d72a54 100644 --- a/src/club/wpia/gigi/pages/account/certs/CertificateIssueForm.templ +++ b/src/club/wpia/gigi/pages/account/certs/CertificateIssueForm.templ @@ -1,9 +1,9 @@ -

      -

      +

      +

      -

      '.?>

      +

      '.?>

      -

      +

      @@ -39,7 +39,7 @@ -
      +
      diff --git a/src/club/wpia/gigi/pages/account/certs/CertificateRequest.java b/src/club/wpia/gigi/pages/account/certs/CertificateRequest.java index 912f316e..4158e9ba 100644 --- a/src/club/wpia/gigi/pages/account/certs/CertificateRequest.java +++ b/src/club/wpia/gigi/pages/account/certs/CertificateRequest.java @@ -17,22 +17,23 @@ import java.util.TreeSet; import club.wpia.gigi.GigiApiException; import club.wpia.gigi.crypto.SPKAC; import club.wpia.gigi.dbObjects.Certificate; +import club.wpia.gigi.dbObjects.Certificate.CSRType; +import club.wpia.gigi.dbObjects.Certificate.SANType; +import club.wpia.gigi.dbObjects.Certificate.SubjectAlternateName; import club.wpia.gigi.dbObjects.CertificateOwner; import club.wpia.gigi.dbObjects.CertificateProfile; +import club.wpia.gigi.dbObjects.CertificateProfile.PropertyTemplate; import club.wpia.gigi.dbObjects.Digest; import club.wpia.gigi.dbObjects.Group; import club.wpia.gigi.dbObjects.Organisation; import club.wpia.gigi.dbObjects.User; -import club.wpia.gigi.dbObjects.Certificate.CSRType; -import club.wpia.gigi.dbObjects.Certificate.SANType; -import club.wpia.gigi.dbObjects.Certificate.SubjectAlternateName; -import club.wpia.gigi.dbObjects.CertificateProfile.PropertyTemplate; import club.wpia.gigi.output.template.SprintfCommand; import club.wpia.gigi.util.AuthorizationContext; import club.wpia.gigi.util.CAA; import club.wpia.gigi.util.DomainAssessment; import club.wpia.gigi.util.PEM; import club.wpia.gigi.util.RateLimit; +import club.wpia.gigi.util.ServerConstants; import sun.security.pkcs.PKCS9Attribute; import sun.security.pkcs10.PKCS10; import sun.security.pkcs10.PKCS10Attribute; @@ -57,7 +58,7 @@ import sun.security.x509.X500Name; public class CertificateRequest { - public static final String DEFAULT_CN = "SomeCA User"; + public static final String DEFAULT_CN = ServerConstants.getAppName() + " User"; public static final ObjectIdentifier OID_KEY_USAGE_SSL_SERVER = ObjectIdentifier.newInternal(new int[] { 1, 3, 6, 1, 5, 5, 7, 3, 1 diff --git a/src/club/wpia/gigi/pages/account/certs/RequestCertificate.templ b/src/club/wpia/gigi/pages/account/certs/RequestCertificate.templ index 8cd1daa0..8c3b05f7 100644 --- a/src/club/wpia/gigi/pages/account/certs/RequestCertificate.templ +++ b/src/club/wpia/gigi/pages/account/certs/RequestCertificate.templ @@ -1,5 +1,5 @@ -

      - 'FAQ!''.?> +

      + '.?>

      diff --git a/src/club/wpia/gigi/pages/account/domain/DomainOverview.java b/src/club/wpia/gigi/pages/account/domain/DomainOverview.java index 4db4865c..bbed095b 100644 --- a/src/club/wpia/gigi/pages/account/domain/DomainOverview.java +++ b/src/club/wpia/gigi/pages/account/domain/DomainOverview.java @@ -1,7 +1,7 @@ package club.wpia.gigi.pages.account.domain; import java.io.IOException; -import java.util.HashMap; +import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -27,7 +27,7 @@ public class DomainOverview extends ManagedMultiFormPage { CertificateOwner u = LoginPage.getAuthorizationContext(req).getTarget(); try { DomainManagementForm domMan = new DomainManagementForm(req, u, false); - HashMap vars = new HashMap<>(); + Map vars = getDefaultVars(req); vars.put("domainman", domMan); if (u instanceof User) { DomainAddForm domAdd = new DomainAddForm(req, (User) u); diff --git a/src/club/wpia/gigi/pages/account/domain/EditDomain.java b/src/club/wpia/gigi/pages/account/domain/EditDomain.java index 0f63676b..b6672ae7 100644 --- a/src/club/wpia/gigi/pages/account/domain/EditDomain.java +++ b/src/club/wpia/gigi/pages/account/domain/EditDomain.java @@ -1,7 +1,6 @@ package club.wpia.gigi.pages.account.domain; import java.io.IOException; -import java.util.HashMap; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -42,9 +41,9 @@ public class EditDomain extends ManagedMultiFormPage { resp.getWriter().println(getLanguage(req).getTranslation("Access denied")); return; } - new DomainPinglogForm(req, d).output(resp.getWriter(), getLanguage(req), new HashMap()); + new DomainPinglogForm(req, d).output(resp.getWriter(), getLanguage(req), getDefaultVars(req)); try { - new PingConfigForm(req, d).output(resp.getWriter(), getLanguage(req), new HashMap()); + new PingConfigForm(req, d).output(resp.getWriter(), getLanguage(req), getDefaultVars(req)); } catch (GigiApiException e) { e.format(resp.getWriter(), getLanguage(req)); } diff --git a/src/club/wpia/gigi/pages/account/domain/PingConfigForm.templ b/src/club/wpia/gigi/pages/account/domain/PingConfigForm.templ index f8f700f3..8280c8d2 100644 --- a/src/club/wpia/gigi/pages/account/domain/PingConfigForm.templ +++ b/src/club/wpia/gigi/pages/account/domain/PingConfigForm.templ @@ -27,7 +27,7 @@
      >
      - : + : openssl req -newkey rsa:4096 -subj "/CN=example.org/OU=" -nodes -out myCSR -keyout myKey
      diff --git a/src/club/wpia/gigi/pages/main/RegisterPage.templ b/src/club/wpia/gigi/pages/main/RegisterPage.templ index 8bc16fab..2cfc3329 100644 --- a/src/club/wpia/gigi/pages/main/RegisterPage.templ +++ b/src/club/wpia/gigi/pages/main/RegisterPage.templ @@ -1,8 +1,8 @@ -

      +



      - +

      diff --git a/src/club/wpia/gigi/pages/wot/RequestTTPPage.java b/src/club/wpia/gigi/pages/wot/RequestTTPPage.java index 558ba3a5..7d130234 100644 --- a/src/club/wpia/gigi/pages/wot/RequestTTPPage.java +++ b/src/club/wpia/gigi/pages/wot/RequestTTPPage.java @@ -6,8 +6,8 @@ import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import club.wpia.gigi.dbObjects.Verification; import club.wpia.gigi.dbObjects.User; +import club.wpia.gigi.dbObjects.Verification; import club.wpia.gigi.output.template.Form; import club.wpia.gigi.pages.LoginPage; import club.wpia.gigi.pages.Page; diff --git a/src/club/wpia/gigi/pages/wot/RequestTTPPage.templ b/src/club/wpia/gigi/pages/wot/RequestTTPPage.templ index 3fd30864..b61e4017 100644 --- a/src/club/wpia/gigi/pages/wot/RequestTTPPage.templ +++ b/src/club/wpia/gigi/pages/wot/RequestTTPPage.templ @@ -1,30 +1,30 @@

      -

      +

      -

      +

      -

      +

      ' for the basic way how the TTP programme works for you, and !(/ttp/country)here!'' whether the TTP programme affects the country where you are located.?>

      -

      +

      -

      +

      -

      +

      diff --git a/src/club/wpia/gigi/pages/wot/Rules.templ b/src/club/wpia/gigi/pages/wot/Rules.templ index e161f174..6b874b87 100644 --- a/src/club/wpia/gigi/pages/wot/Rules.templ +++ b/src/club/wpia/gigi/pages/wot/Rules.templ @@ -1,30 +1,32 @@ -

      +

      -

      +

      -


      -
      -*
      -*
      -*
      -

      +

      -


      -
      -
      -*
      -*
      -*
      -

      +

      +
        +
      • +
      • '.?>
      • +
      • +
      -


      -

      +

      +

      +
        +
      • +
      • +
      • +
      -


      -

      +

      +

      '. All paper forms need to be kept secure and must be destroyed in a secure manner after 3 years following the year of the meeting (when they are no longer required).?>

      -


      -

      +

      +

      -


      -

      +

      +

      + +

      +

      diff --git a/src/club/wpia/gigi/pages/wot/VerificationForm.java b/src/club/wpia/gigi/pages/wot/VerificationForm.java index 7a8a558c..6a785c0c 100644 --- a/src/club/wpia/gigi/pages/wot/VerificationForm.java +++ b/src/club/wpia/gigi/pages/wot/VerificationForm.java @@ -28,6 +28,7 @@ import club.wpia.gigi.pages.Page; import club.wpia.gigi.pages.PasswordResetPage; import club.wpia.gigi.util.DayDate; import club.wpia.gigi.util.Notary; +import club.wpia.gigi.util.ServerConstants; public class VerificationForm extends Form { @@ -165,7 +166,7 @@ public class VerificationForm extends Form { } if ( !"1".equals(req.getParameter("certify")) || !"1".equals(req.getParameter("rules")) || !"1".equals(req.getParameter("assertion"))) { - gae.mergeInto(new GigiApiException("You failed to check all boxes to validate" + " your adherence to the rules and policies of SomeCA")); + gae.mergeInto(new GigiApiException(SprintfCommand.createSimple("You failed to check all boxes to validate your adherence to the rules and policies of {0}.", ServerConstants.getAppName()))); } if ("1".equals(req.getParameter("passwordReset"))) { aword = req.getParameter("passwordResetValue"); @@ -205,17 +206,17 @@ public class VerificationForm extends Form { throw gae; } - LinkedList toAssure = new LinkedList(); + LinkedList toVerify = new LinkedList(); for (int i = 0; i < selected.length; i++) { if (selected[i]) { - toAssure.add(applicantNames[i]); + toVerify.add(applicantNames[i]); } } - if (toAssure.size() == 0) { + if (toVerify.size() == 0) { throw new GigiApiException("You must confirm at least one name to verify an account."); } - Notary.verifyAll(agent, applicant, dob, pointsI, location, req.getParameter("date"), type, toAssure.toArray(new Name[toAssure.size()]), cs.getCountry()); + Notary.verifyAll(agent, applicant, dob, pointsI, location, req.getParameter("date"), type, toVerify.toArray(new Name[toVerify.size()]), cs.getCountry()); Outputable result = new TranslateCommand("Verification complete."); if (isWithPasswordReset()) { Language langApplicant = Language.getInstance(applicant.getPreferredLocale()); diff --git a/src/club/wpia/gigi/pages/wot/VerificationForm.templ b/src/club/wpia/gigi/pages/wot/VerificationForm.templ index 540faaae..be834f2a 100644 --- a/src/club/wpia/gigi/pages/wot/VerificationForm.templ +++ b/src/club/wpia/gigi/pages/wot/VerificationForm.templ @@ -3,7 +3,7 @@
      - @@ -35,7 +35,7 @@ - + diff --git a/src/club/wpia/gigi/util/ServerConstants.java b/src/club/wpia/gigi/util/ServerConstants.java index becd77e6..d95db1b5 100644 --- a/src/club/wpia/gigi/util/ServerConstants.java +++ b/src/club/wpia/gigi/util/ServerConstants.java @@ -58,6 +58,8 @@ public class ServerConstants { private static String suffix = "wpia.local"; + private static String appName = null; + public static void init(Properties conf) { securePort = port = ""; if ( !conf.getProperty("https.port").equals("443")) { @@ -75,6 +77,10 @@ public class ServerConstants { hostnames.put(h, conf.getProperty("name." + h.getConfigName(), h.getHostDefaultPrefix() + "." + suffix)); } ServerConstants.hostnames = Collections.unmodifiableMap(hostnames); + appName = conf.getProperty("appName"); + if (appName == null) { + throw new Error("App name missing"); + } } public static String getHostName(Host h) { @@ -137,4 +143,11 @@ public class ServerConstants { return "quiz-admin@" + getSuffix(); } + public static String getAppName() { + if (appName == null) { + throw new Error("AppName not initialized."); + } + return appName; + } + } diff --git a/tests/club/wpia/gigi/testUtils/ConfiguredTest.java b/tests/club/wpia/gigi/testUtils/ConfiguredTest.java index e4c41b67..025f1d6c 100644 --- a/tests/club/wpia/gigi/testUtils/ConfiguredTest.java +++ b/tests/club/wpia/gigi/testUtils/ConfiguredTest.java @@ -117,6 +117,8 @@ public abstract class ConfiguredTest { mainProps.setProperty("name.static", testProps.getProperty("name.static")); mainProps.setProperty("name.api", testProps.getProperty("name.api")); + mainProps.setProperty("appName", "SomeCA"); + mainProps.setProperty("https.port", testProps.getProperty("serverPort.https")); mainProps.setProperty("http.port", testProps.getProperty("serverPort.http")); diff --git a/util-testing/club/wpia/gigi/localisation/conf.txt b/util-testing/club/wpia/gigi/localisation/conf.txt index e889b96e..fa709172 100644 --- a/util-testing/club/wpia/gigi/localisation/conf.txt +++ b/util-testing/club/wpia/gigi/localisation/conf.txt @@ -1,10 +1,8 @@ club.wpia.gigi.localisation Language.getTranslation(String),0 club.wpia.gigi.pages Page.translate(ServletRequest, String),1 club.wpia.gigi.output.template Form.outputError(PrintWriter, ServletRequest, String, Object[]),2 -club.wpia.gigi Gigi.MenuBuilder.putPage(String, Page, String),2 -club.wpia.gigi Gigi.MenuBuilder.getMenu(String),0 +club.wpia.gigi Gigi.MenuBuilder.createMenu(String),0 club.wpia.gigi GigiApiException.GigiApiException(String),0=>club.wpia.gigi GigiApiException.formatPlain(PrintWriter),0 -club.wpia.gigi.output Menu.Menu(String),0=>club.wpia.gigi.output Menu.output(PrintWriter, Language, Map),0 club.wpia.gigi.output SimpleMenuItem.SimpleMenuItem(String, String),1=>club.wpia.gigi.output SimpleMenuItem.printContent(PrintWriter, Language),0 club.wpia.gigi.dbObjects Digest.Digest(String),0 club.wpia.gigi.dbObjects Certificate.CertificateStatus.CertificateStatus(String),0
      +