From: INOPIAE Date: Tue, 21 Feb 2017 19:45:18 +0000 (+0100) Subject: upd: replace SomeCA by variable X-Git-Url: https://code.wpia.club/?p=gigi.git;a=commitdiff_plain;h=746ad94df76c1ea6ae017f8e56075fcdf0cf0d1f upd: replace SomeCA by variable fixes issue #105 Change-Id: I979c5cb7f5b998694fa13b56420e4504bfd4020f --- 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 3cac21d6..e4120757 100644 --- a/links.txt +++ b/links.txt @@ -12,3 +12,4 @@ /ttp/user /ttp/country /acceptableDocuments +/blog diff --git a/src/club/wpia/gigi/Gigi.java b/src/club/wpia/gigi/Gigi.java index 863122c7..b02a1a89 100644 --- a/src/club/wpia/gigi/Gigi.java +++ b/src/club/wpia/gigi/Gigi.java @@ -34,6 +34,7 @@ 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; @@ -110,11 +111,17 @@ public final class Gigi extends HttpServlet { return m; } + private Menu createMenu(Outputable name) { + Menu m = new Menu(name); + categories.add(m); + return m; + } + public MenuCollector generateMenu() throws ServletException { putPage("/denied", new AccessDenied(), null); putPage("/error", new PageNotFound(), null); putPage("/login", new LoginPage(), null); - Menu mainMenu = createMenu("SomeCA.org"); + Menu mainMenu = createMenu(new PlainOutputable(ServerConstants.getAppName())); mainMenu.addItem(new SimpleMenuItem("https://" + ServerConstants.getHostNamePort(Host.WWW) + "/login", "Password Login") { @Override @@ -436,6 +443,7 @@ public final class Gigi extends HttpServlet { 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..693514d0 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 @@ - + @@ -51,7 +51,7 @@
Page info - ©2016- SomeCA + ©2016-
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/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 339c5ca0..2bca0b05 100644 --- a/src/club/wpia/gigi/pages/MainPageNotLogin.templ +++ b/src/club/wpia/gigi/pages/MainPageNotLogin.templ @@ -1,16 +1,16 @@ -

+

-

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

+

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

-

+

-

'join SomeCA!'' as fellow for free and get your own certificates.?>

+

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


-

'.?> -'.?>

\ No newline at end of file +

'.?> +'.?>

\ 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/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 0da8c82e..6b874b87 100644 --- a/src/club/wpia/gigi/pages/wot/Rules.templ +++ b/src/club/wpia/gigi/pages/wot/Rules.templ @@ -26,7 +26,7 @@

-

+

-

+

diff --git a/src/club/wpia/gigi/pages/wot/VerificationForm.java b/src/club/wpia/gigi/pages/wot/VerificationForm.java index 7a8a558c..4d92f28a 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"); 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"));
+