From 2a24da92876de6d887656ce563b6533a2b0bc271 Mon Sep 17 00:00:00 2001 From: Marco Fargetta Date: Mon, 19 Feb 2024 11:00:47 +0100 Subject: [PATCH] Tidyup /ca/v2/agent/certrequests APIs implementation --- .../servlet/cert/CertRequestInfoFactory.java | 2 +- .../ca/v2/AgentCertRequestACLFilter.java | 1 - .../v2/AgentCertRequestAuthMethodFilter.java | 1 - .../server/ca/v2/AgentCertRequestServlet.java | 24 +++++++------------ .../org/dogtagpki/server/v2/ACLFilter.java | 4 ++-- .../dogtagpki/server/v2/AuthMethodFilter.java | 4 ++-- 6 files changed, 13 insertions(+), 23 deletions(-) diff --git a/base/ca/src/main/java/com/netscape/cms/servlet/cert/CertRequestInfoFactory.java b/base/ca/src/main/java/com/netscape/cms/servlet/cert/CertRequestInfoFactory.java index d9bc382b586..a418448b5a6 100644 --- a/base/ca/src/main/java/com/netscape/cms/servlet/cert/CertRequestInfoFactory.java +++ b/base/ca/src/main/java/com/netscape/cms/servlet/cert/CertRequestInfoFactory.java @@ -38,7 +38,7 @@ public class CertRequestInfoFactory { - public static CertRequestInfo create(Request request) throws SecurityException, NoSuchMethodException { + public static CertRequestInfo create(Request request) throws SecurityException { CertRequestInfo info = new CertRequestInfo(); diff --git a/base/ca/src/main/java/org/dogtagpki/server/ca/v2/AgentCertRequestACLFilter.java b/base/ca/src/main/java/org/dogtagpki/server/ca/v2/AgentCertRequestACLFilter.java index 79134a88166..cee2826a04a 100644 --- a/base/ca/src/main/java/org/dogtagpki/server/ca/v2/AgentCertRequestACLFilter.java +++ b/base/ca/src/main/java/org/dogtagpki/server/ca/v2/AgentCertRequestACLFilter.java @@ -17,7 +17,6 @@ public class AgentCertRequestACLFilter extends ACLFilter { @Override public void init() throws ServletException { - super.init(); setAcl("certrequests"); } diff --git a/base/ca/src/main/java/org/dogtagpki/server/ca/v2/AgentCertRequestAuthMethodFilter.java b/base/ca/src/main/java/org/dogtagpki/server/ca/v2/AgentCertRequestAuthMethodFilter.java index 6e819abafcd..8611f0a97f1 100644 --- a/base/ca/src/main/java/org/dogtagpki/server/ca/v2/AgentCertRequestAuthMethodFilter.java +++ b/base/ca/src/main/java/org/dogtagpki/server/ca/v2/AgentCertRequestAuthMethodFilter.java @@ -17,7 +17,6 @@ public class AgentCertRequestAuthMethodFilter extends AuthMethodFilter { @Override public void init() throws ServletException { - super.init(); setAuthMethod("certrequests"); } diff --git a/base/ca/src/main/java/org/dogtagpki/server/ca/v2/AgentCertRequestServlet.java b/base/ca/src/main/java/org/dogtagpki/server/ca/v2/AgentCertRequestServlet.java index 0b95e0f7769..283517ccfa1 100644 --- a/base/ca/src/main/java/org/dogtagpki/server/ca/v2/AgentCertRequestServlet.java +++ b/base/ca/src/main/java/org/dogtagpki/server/ca/v2/AgentCertRequestServlet.java @@ -76,9 +76,10 @@ public void get(HttpServletRequest request, HttpServletResponse response) throws try { RequestId id = new RequestId(request.getPathInfo().substring(1)); CertReviewResponse req = getRequestData(request, id); - if(req != null) { - out.println(req.toJSON()); + if(req == null) { + throw new RequestNotFoundException(id); } + out.println(req.toJSON()); } catch (Exception e) { response.sendError(HttpServletResponse.SC_NOT_FOUND, request.getRequestURI()); } @@ -218,11 +219,6 @@ private CertReviewResponse getRequestData(HttpServletRequest servletRequest, Req // return nonce to client info.setNonce(Long.toString(n)); } - if (info == null) { - // request does not exist - throw new RequestNotFoundException(id); - } - logger.info("AgentCertRequestServlet: - profile: {}", info.getProfileName()); logger.info("AgentCertRequestServlet: - type: {}", info.getRequestType()); logger.info("AgentCertRequestServlet: - status: {}", info.getRequestStatus()); @@ -250,11 +246,7 @@ public CertRequestInfos listRequests(String requestState, String requestType, while(reqs.hasNext()) { Request request = reqs.next().toRequest(); logger.debug("- {}", request.getRequestId().toHexString()); - try { - reqInfos.addEntry(CertRequestInfoFactory.create(request)); - } catch (NoSuchMethodException e) { - logger.warn("Error in creating certrequestinfo - no such method: " + e.getMessage(), e); - } + reqInfos.addEntry(CertRequestInfoFactory.create(request)); } reqInfos.setTotal(requestRepository.getTotalRequestsByFilter(filter)); @@ -301,18 +293,18 @@ private void changeRequestState(RequestId id, HttpServletRequest request, CertRe AuthToken authToken = null; Principal principal = request.getUserPrincipal(); - if (principal instanceof PKIPrincipal) { + if (principal instanceof PKIPrincipal pkiPrincipal) { logger.debug("AgentCertRequestServlet: getting auth token from user principal"); - authToken = ((PKIPrincipal) principal).getAuthToken(); + authToken = pkiPrincipal.getAuthToken(); } String authMgr = processor.getAuthenticationManager(); if (authToken == null && authMgr != null) { - logger.debug("AgentCertRequestServlet: getting auth token from " + authMgr); + logger.debug("AgentCertRequestServlet: getting auth token from {}", authMgr); authToken = processor.authenticate(request); } - logger.debug("AgentCertRequestServlet: auth token: " + authToken); + logger.debug("AgentCertRequestServlet: auth token: {}", authToken); processor.processRequest(request, authToken, data, ireq, op); } diff --git a/base/server/src/main/java/org/dogtagpki/server/v2/ACLFilter.java b/base/server/src/main/java/org/dogtagpki/server/v2/ACLFilter.java index ca858a0dae0..d8eb9e4b722 100644 --- a/base/server/src/main/java/org/dogtagpki/server/v2/ACLFilter.java +++ b/base/server/src/main/java/org/dogtagpki/server/v2/ACLFilter.java @@ -14,11 +14,11 @@ import java.util.Properties; import javax.servlet.FilterChain; -import javax.servlet.GenericFilter; import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; +import javax.servlet.http.HttpFilter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -41,7 +41,7 @@ import com.netscape.cmscore.authorization.AuthzSubsystem; import com.netscape.cmscore.logging.Auditor; -public abstract class ACLFilter extends GenericFilter { +public abstract class ACLFilter extends HttpFilter { private static final long serialVersionUID = 1L; public static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(ACLFilter.class); diff --git a/base/server/src/main/java/org/dogtagpki/server/v2/AuthMethodFilter.java b/base/server/src/main/java/org/dogtagpki/server/v2/AuthMethodFilter.java index aabcefd8dcf..0129d3dfb6d 100644 --- a/base/server/src/main/java/org/dogtagpki/server/v2/AuthMethodFilter.java +++ b/base/server/src/main/java/org/dogtagpki/server/v2/AuthMethodFilter.java @@ -16,10 +16,10 @@ import java.util.Properties; import javax.servlet.FilterChain; -import javax.servlet.GenericFilter; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; +import javax.servlet.http.HttpFilter; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -32,7 +32,7 @@ import com.netscape.cms.realm.PKIPrincipal; import com.netscape.cmscore.apps.CMS; -public abstract class AuthMethodFilter extends GenericFilter { +public abstract class AuthMethodFilter extends HttpFilter { private static final long serialVersionUID = 1L; public static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(AuthMethodFilter.class);