From 11ca2faee1a8d086cee35779a1f2c0793eddf96d Mon Sep 17 00:00:00 2001 From: William Enright <william.enright@savoirfairelinux.com> Date: Thu, 25 Jun 2020 14:52:03 -0400 Subject: [PATCH] Restored user revocation Change-Id: I1b2272b6c2312c3ec109304e8c706320940e7f77 --- .../server/servlets/api/auth/user/UserServlet.java | 10 +++++++++- jams-server/src/main/resources/webapp/js/api.js | 3 +++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/user/UserServlet.java b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/user/UserServlet.java index 6c725590..453465c8 100644 --- a/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/user/UserServlet.java +++ b/jams-server/src/main/java/net/jami/jams/server/servlets/api/auth/user/UserServlet.java @@ -35,8 +35,10 @@ import net.jami.jams.common.dao.StatementList; import net.jami.jams.common.objects.user.AccessLevel; import net.jami.jams.common.objects.user.User; import net.jami.jams.common.utils.PasswordGenerator; +import org.bouncycastle.openssl.PEMWriter; import java.io.IOException; +import java.io.StringWriter; import static net.jami.jams.server.Server.certificateAuthority; import static net.jami.jams.server.Server.dataStore; @@ -45,7 +47,7 @@ import static net.jami.jams.server.Server.nameServer; @WebServlet("/api/auth/user") public class UserServlet extends HttpServlet { - //User can "read" his own profile. + //User can "read" himself. /** * @apiVersion 1.0.0 * @api {get} /api/auth/user Get JAMS user info @@ -94,6 +96,12 @@ public class UserServlet extends HttpServlet { resp.setHeader("needspasswordreset", (user.getNeedsPasswordReset()).toString()); resp.setHeader("password", password); + + if (certificateAuthority.getLatestCRL().get() + .getRevokedCertificate(user.getCertificate().getSerialNumber()) == null) + resp.setHeader("revoked", "false"); + else + resp.setHeader("revoked", "true"); } //The user can update 3 fields: password,privatekey,publickey diff --git a/jams-server/src/main/resources/webapp/js/api.js b/jams-server/src/main/resources/webapp/js/api.js index 4ce765f0..e74f6df4 100644 --- a/jams-server/src/main/resources/webapp/js/api.js +++ b/jams-server/src/main/resources/webapp/js/api.js @@ -46,10 +46,13 @@ var api_path_get_directories = '/api/auth/directories'; var api_path_get_needs_update = '/api/admin/update'; var api_path_get_start_update = '/api/admin/update'; var api_path_post_create_user = '/api/admin/user'; +var api_path_get_user = '/api/auth/user'; var api_path_post_update_user = '/api/auth/user'; var api_path_get_exists_user = '/api/admin/user'; var api_path_get_user_directory_search ='/api/auth/directory/search'; var api_path_post_create_user_profile = '/api/admin/directory/entry'; +var api_path_put_update_user_profile = '/api/admin/directory/entry'; +var api_path_get_user_search = '/api/admin/users'; function ajaxApiCall(api_path, request_type, data, credentials, callBackFunction, async) { // build AJAX call -- GitLab