summaryrefslogtreecommitdiffstats
path: root/base/server/cms/src/com/netscape/cms/servlet/base
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2017-02-15 17:51:28 +0100
committerEndi S. Dewata <edewata@redhat.com>2017-02-24 00:20:06 +0100
commit2d2f2232219c30c14c247a393f02414dc56c4111 (patch)
tree2433b92403d61162a961fd8b7d347dbb4313c445 /base/server/cms/src/com/netscape/cms/servlet/base
parent8bd37a1ff3fd14248e65b86ed35f5f6d12e4468f (diff)
downloadpki-2d2f2232219c30c14c247a393f02414dc56c4111.tar.gz
pki-2d2f2232219c30c14c247a393f02414dc56c4111.tar.xz
pki-2d2f2232219c30c14c247a393f02414dc56c4111.zip
Added InfoService and LoginService.
New REST services classes have been added to PKIApplication. The InfoService provides general information about the server including version number and access banner. The LoginService provides a way to notify the server that the banner has been displayed on the client, which in that case the InfoService will no longer return the banner again in the same session. https://fedorahosted.org/pki/ticket/2582
Diffstat (limited to 'base/server/cms/src/com/netscape/cms/servlet/base')
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/base/PKIService.java22
1 files changed, 20 insertions, 2 deletions
diff --git a/base/server/cms/src/com/netscape/cms/servlet/base/PKIService.java b/base/server/cms/src/com/netscape/cms/servlet/base/PKIService.java
index 3ed4b91b7..8dfbef1e5 100644
--- a/base/server/cms/src/com/netscape/cms/servlet/base/PKIService.java
+++ b/base/server/cms/src/com/netscape/cms/servlet/base/PKIService.java
@@ -17,8 +17,12 @@
// --- END COPYRIGHT BLOCK ---
package com.netscape.cms.servlet.base;
+import java.io.IOException;
import java.lang.reflect.Method;
import java.net.URI;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
@@ -78,8 +82,22 @@ public class PKIService {
@Context
protected ServletContext servletContext;
- public String getInstanceDir() {
- return System.getProperty("catalina.base");
+ public static Path bannerFile = Paths.get(getInstanceDir(), "conf", "banner.txt");
+
+ public static String getInstanceDir() {
+ return System.getProperty("catalina.base"); // provided by Tomcat
+ }
+
+ public static String getVersion() {
+ return System.getenv("PKI_VERSION"); // defined in tomcat.conf
+ }
+
+ public static boolean isBannerEnabled() {
+ return Files.exists(bannerFile);
+ }
+
+ public static String getBanner() throws IOException {
+ return new String(Files.readAllBytes(bannerFile));
}
public static MediaType resolveFormat(MediaType format) {