]> WPIA git - gigi.git/commitdiff
add: an about page that shows the currently deployed version.
authorFelix Dörre <felix@dogcraft.de>
Mon, 27 Jun 2016 08:47:34 +0000 (10:47 +0200)
committerFelix Dörre <felix@dogcraft.de>
Mon, 27 Jun 2016 10:08:00 +0000 (12:08 +0200)
fixes #51

Change-Id: I6e6ca442c8d0b597599b1e85c3a1c98c73ca7a52

.gitignore
Gigi.MF [deleted file]
build.xml
src/org/cacert/gigi/Gigi.java
src/org/cacert/gigi/pages/AboutPage.java [new file with mode: 0644]
src/org/cacert/gigi/pages/AboutPage.templ [new file with mode: 0644]

index 0c170e19bc9094e21614b27cb53380800ea9b344..5a68b3a4e0cba64fc477455a8ee26f5bd1d56fd4 100644 (file)
@@ -18,3 +18,4 @@
 static.tar.gz
 
 /src/org/cacert/gigi/util/effective_tld_names.dat
+Gigi.MF
diff --git a/Gigi.MF b/Gigi.MF
deleted file mode 100644 (file)
index 614d595..0000000
--- a/Gigi.MF
+++ /dev/null
@@ -1,3 +0,0 @@
-Manifest-Version: 1.0
-Main-Class: org.cacert.gigi.Launcher
-
index be1b127e7613d85bcde19c0b503cb7219d240177..6816b7d81816a35392dfa0dfc285b180f6d9e670 100644 (file)
--- a/build.xml
+++ b/build.xml
        <target depends="clean,clean-test" name="cleanall" />
        <target depends="build-project, build-testing, native" name="build" />
        <target depends="init" name="build-project">
+               <exec outputproperty="git-version" executable="git">
+                       <arg line="rev-parse"/>
+                       <arg line="HEAD"/>
+               </exec>
+               <manifest file="Gigi.MF">
+                       <attribute name="Main-Class" value="org.cacert.gigi.Launcher" />
+                       <attribute name="Implementation-Version" value="${git-version}" />
+               </manifest>
                <echo message="${ant.project.name}: ${ant.file}" />
                <javac encoding="UTF-8" debug="true" debuglevel="${debuglevel}" destdir="bin"
                        includeantruntime="false" source="${source}" target="${target}">
index bf6c32edc2404126276fcf140842cb18f80a0cab..19954c6089870a517b5d68cd16a4ac0838bd2a29 100644 (file)
@@ -33,6 +33,7 @@ import org.cacert.gigi.output.SimpleMenuItem;
 import org.cacert.gigi.output.template.Form.CSRFException;
 import org.cacert.gigi.output.template.Outputable;
 import org.cacert.gigi.output.template.Template;
+import org.cacert.gigi.pages.AboutPage;
 import org.cacert.gigi.pages.HandlesMixedRequest;
 import org.cacert.gigi.pages.LoginPage;
 import org.cacert.gigi.pages.LogoutPage;
@@ -126,6 +127,7 @@ public final class Gigi extends HttpServlet {
             });
             putPage("/", new MainPage(), null);
             putPage("/roots", new RootCertPage(truststore), "SomeCA.org");
+            putPage("/about", new AboutPage(), "SomeCA.org");
 
             putPage("/secure", new TestSecure(), null);
             putPage(Verify.PATH, new Verify(), null);
diff --git a/src/org/cacert/gigi/pages/AboutPage.java b/src/org/cacert/gigi/pages/AboutPage.java
new file mode 100644 (file)
index 0000000..0ab2011
--- /dev/null
@@ -0,0 +1,30 @@
+package org.cacert.gigi.pages;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.HashMap;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.cacert.gigi.util.AuthorizationContext;
+
+public class AboutPage extends Page {
+
+    public AboutPage() {
+        super("About");
+    }
+
+    @Override
+    public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
+        PrintWriter out = resp.getWriter();
+        HashMap<String, Object> o = new HashMap<>();
+        o.put("version", Package.getPackage("org.cacert.gigi").getImplementationVersion());
+        getDefaultTemplate().output(out, getLanguage(req), o);
+    }
+
+    @Override
+    public boolean isPermitted(AuthorizationContext ac) {
+        return true;
+    }
+}
diff --git a/src/org/cacert/gigi/pages/AboutPage.templ b/src/org/cacert/gigi/pages/AboutPage.templ
new file mode 100644 (file)
index 0000000..eed6eb3
--- /dev/null
@@ -0,0 +1 @@
+<?=_This page is generated by gigi version ${version}.?>
\ No newline at end of file