summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2015-08-12 18:59:57 +0200
committerMatthew Harmsen <mharmsen@redhat.com>2015-08-14 11:58:59 -0600
commit2f4d04be6d6191d57082e3c8a17d73c74c6c427c (patch)
tree31561378bc329c6b10b7c0ed1c30318b16baf886
parent799590e6cc15f279a0ae5c700787d9c4d9b8d861 (diff)
downloadpki-2f4d04be6d6191d57082e3c8a17d73c74c6c427c.tar.gz
pki-2f4d04be6d6191d57082e3c8a17d73c74c6c427c.tar.xz
pki-2f4d04be6d6191d57082e3c8a17d73c74c6c427c.zip
Fixed missing query parameters in ListCerts page.
The ListCerts servlet and the templates have been fixed to pass the skipRevoked and skipNonValid parameters to the subsequent page. Some debugging messages have been cleaned up as well. https://fedorahosted.org/pki/ticket/1538 (cherry picked from commit 24d7d88bd0d8b79fe5b8b6dfd84238399bc1433c)
-rw-r--r--base/ca/shared/webapps/ca/agent/ca/queryCert.template4
-rw-r--r--base/ca/shared/webapps/ca/ee/ca/queryCert.template4
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/cert/ListCerts.java60
3 files changed, 37 insertions, 31 deletions
diff --git a/base/ca/shared/webapps/ca/agent/ca/queryCert.template b/base/ca/shared/webapps/ca/agent/ca/queryCert.template
index 40ee64b0c..0a423823f 100644
--- a/base/ca/shared/webapps/ca/agent/ca/queryCert.template
+++ b/base/ca/shared/webapps/ca/agent/ca/queryCert.template
@@ -474,6 +474,10 @@ document.write(
result.header.totalRecordCount+ "'>\n"+
"<INPUT TYPE=hidden NAME=queryCertFilter VALUE='"+
result.header.queryCertFilter+ "'>\n"+
+"<INPUT TYPE=hidden NAME=skipRevoked VALUE='"+
+(result.header.skipRevoked ? result.header.skipRevoked : "") + "'>\n"+
+"<INPUT TYPE=hidden NAME=skipNonValid VALUE='"+
+(result.header.skipNonValid ? result.header.skipNonValid : "") + "'>\n"+
"<INPUT TYPE=hidden NAME=querySentinelDown VALUE='"+
result.header.querySentinelDown+ "'>\n"+
"<INPUT TYPE=hidden NAME=querySentinelUp VALUE='"+
diff --git a/base/ca/shared/webapps/ca/ee/ca/queryCert.template b/base/ca/shared/webapps/ca/ee/ca/queryCert.template
index 1165cb309..d4a56a79a 100644
--- a/base/ca/shared/webapps/ca/ee/ca/queryCert.template
+++ b/base/ca/shared/webapps/ca/ee/ca/queryCert.template
@@ -445,6 +445,10 @@ document.write(
result.header.totalRecordCount+ "'>\n"+
"<INPUT TYPE=hidden NAME=queryCertFilter VALUE='"+
result.header.queryCertFilter+ "'>\n"+
+"<INPUT TYPE=hidden NAME=skipRevoked VALUE='"+
+(result.header.skipRevoked ? result.header.skipRevoked : "") + "'>\n"+
+"<INPUT TYPE=hidden NAME=skipNonValid VALUE='"+
+(result.header.skipNonValid ? result.header.skipNonValid : "") + "'>\n"+
"<INPUT TYPE=hidden NAME=querySentinelDown VALUE='"+
result.header.querySentinelDown+ "'>\n"+
"<INPUT TYPE=hidden NAME=querySentinelUp VALUE='"+
diff --git a/base/server/cms/src/com/netscape/cms/servlet/cert/ListCerts.java b/base/server/cms/src/com/netscape/cms/servlet/cert/ListCerts.java
index d0c3fe82a..3794f109f 100644
--- a/base/server/cms/src/com/netscape/cms/servlet/cert/ListCerts.java
+++ b/base/server/cms/src/com/netscape/cms/servlet/cert/ListCerts.java
@@ -144,26 +144,22 @@ public class ListCerts extends CMSServlet {
public String buildFilter(HttpServletRequest req) {
String queryCertFilter = req.getParameter("queryCertFilter");
+ CMS.debug("ListCerts: queryCertFilter: " + queryCertFilter);
- com.netscape.certsrv.apps.CMS.debug("client queryCertFilter=" + queryCertFilter);
-
+ CMS.debug("ListCerts: useClientFilter: " + mUseClientFilter);
if (mUseClientFilter) {
- com.netscape.certsrv.apps.CMS.debug("useClientFilter=true");
Enumeration<String> filters = mAllowedClientFilters.elements();
// check to see if the filter is allowed
while (filters.hasMoreElements()) {
String filter = filters.nextElement();
- com.netscape.certsrv.apps.CMS.debug("Comparing filter="
- + filter + " queryCertFilter=" + queryCertFilter);
+ CMS.debug("ListCerts: Comparing with filter " + filter);
if (filter.equals(queryCertFilter)) {
return queryCertFilter;
}
}
- com.netscape.certsrv.apps.CMS.debug("Requested filter '"
+ CMS.debug("ListCerts: Requested filter '"
+ queryCertFilter + "' is not allowed. Please check the " + ALLOWED_CLIENT_FILTERS + "parameter");
return null;
- } else {
- com.netscape.certsrv.apps.CMS.debug("useClientFilter=false");
}
boolean skipRevoked = false;
@@ -226,8 +222,8 @@ public class ListCerts extends CMSServlet {
int maxCount = -1;
BigInteger sentinel = new BigInteger("0");
- IArgBlock header = com.netscape.certsrv.apps.CMS.createArgBlock();
- IArgBlock ctx = com.netscape.certsrv.apps.CMS.createArgBlock();
+ IArgBlock header = CMS.createArgBlock();
+ IArgBlock ctx = CMS.createArgBlock();
CMSTemplateParams argSet = new CMSTemplateParams(header, ctx);
CMSTemplate form = null;
@@ -237,9 +233,9 @@ public class ListCerts extends CMSServlet {
form = getTemplate(mFormPath, req, locale);
} catch (IOException e) {
log(ILogger.LL_FAILURE,
- com.netscape.certsrv.apps.CMS.getLogMessage("CMSGW_ERR_GET_TEMPLATE", mFormPath, e.toString()));
+ CMS.getLogMessage("CMSGW_ERR_GET_TEMPLATE", mFormPath, e.toString()));
throw new ECMSGWException(
- com.netscape.certsrv.apps.CMS.getUserMessage("CMS_GW_DISPLAY_TEMPLATE_ERROR"));
+ CMS.getUserMessage("CMS_GW_DISPLAY_TEMPLATE_ERROR"));
}
mHardJumpTo = false;
@@ -248,18 +244,14 @@ public class ListCerts extends CMSServlet {
if (req.getParameter("direction") != null) {
mDirection = req.getParameter("direction").trim();
mReverse = mDirection.equals("up");
- if (mReverse)
- com.netscape.certsrv.apps.CMS.debug("reverse is true");
- else
- com.netscape.certsrv.apps.CMS.debug("reverse is false");
-
+ CMS.debug("ListCerts: reverse: " + mReverse);
}
if (req.getParameter("maxCount") != null) {
maxCount = Integer.parseInt(req.getParameter("maxCount"));
}
if (maxCount == -1 || maxCount > mMaxReturns) {
- com.netscape.certsrv.apps.CMS.debug("Resetting page size from " + maxCount + " to " + mMaxReturns);
+ CMS.debug("ListCerts: Resetting page size from " + maxCount + " to " + mMaxReturns);
maxCount = mMaxReturns;
}
@@ -303,7 +295,7 @@ public class ListCerts extends CMSServlet {
return;
}
- com.netscape.certsrv.apps.CMS.debug("queryCertFilter=" + queryCertFilter);
+ CMS.debug("ListCerts: queryCertFilter: " + queryCertFilter);
int totalRecordCount = -1;
@@ -311,18 +303,18 @@ public class ListCerts extends CMSServlet {
totalRecordCount = Integer.parseInt(req.getParameter("totalRecordCount"));
} catch (Exception e) {
}
+
processCertFilter(argSet, header, maxCount,
sentinel,
totalRecordCount,
req.getParameter("serialTo"),
queryCertFilter,
req, resp, revokeAll, locale[0]);
- } catch (NumberFormatException e) {
- log(ILogger.LL_FAILURE, com.netscape.certsrv.apps.CMS.getLogMessage("BASE_INVALID_NUMBER_FORMAT"));
- error =
- new EBaseException(com.netscape.certsrv.apps.CMS.getUserMessage(getLocale(req),
- "CMS_BASE_INVALID_NUMBER_FORMAT"));
+ } catch (NumberFormatException e) {
+ log(ILogger.LL_FAILURE, CMS.getLogMessage("BASE_INVALID_NUMBER_FORMAT"));
+ error = new EBaseException(CMS.getUserMessage(getLocale(req),
+ "CMS_BASE_INVALID_NUMBER_FORMAT"), e);
} catch (EBaseException e) {
error = e;
}
@@ -347,9 +339,9 @@ public class ListCerts extends CMSServlet {
}
} catch (IOException e) {
log(ILogger.LL_FAILURE,
- com.netscape.certsrv.apps.CMS.getLogMessage("CMSGW_ERR_OUT_STREAM_TEMPLATE", e.toString()));
+ CMS.getLogMessage("CMSGW_ERR_OUT_STREAM_TEMPLATE", e.toString()));
throw new ECMSGWException(
- com.netscape.certsrv.apps.CMS.getUserMessage("CMS_GW_DISPLAY_TEMPLATE_ERROR"));
+ CMS.getUserMessage("CMS_GW_DISPLAY_TEMPLATE_ERROR"), e);
}
}
@@ -488,9 +480,8 @@ public class ListCerts extends CMSServlet {
// even though the filter is not matched.
/*cfu - is this necessary? it breaks when paging up
if (curSerial.compareTo(sentinel) == -1) {
- com.netscape.certsrv.apps.CMS.debug("curSerial compare sentinel -1 break...");
-
- break;
+ CMS.debug("curSerial compare sentinel -1 break...");
+ break;
}
*/
if (!serialToVal.equals(MINUS_ONE)) {
@@ -524,8 +515,8 @@ public class ListCerts extends CMSServlet {
for (int ii = rcount - 1; ii >= 0; ii--) {
if (recs[ii] != null) {
CMS.debug("ListCerts: processing recs[" + ii + "]");
- IArgBlock rarg = com.netscape.certsrv.apps.CMS.createArgBlock();
- //com.netscape.certsrv.apps.CMS.debug("item "+ii+" is serial # "+ recs[ii].getSerialNumber());
+ IArgBlock rarg = CMS.createArgBlock();
+ // CMS.debug("item " + ii + " is serial #" + recs[ii].getSerialNumber());
fillRecordIntoArg(recs[ii], rarg);
argSet.addRepeatRecord(rarg);
}
@@ -555,6 +546,13 @@ public class ListCerts extends CMSServlet {
header.addStringValue("serviceURL", req.getRequestURI());
header.addStringValue("queryCertFilter", filter);
+
+ String skipRevoked = req.getParameter("skipRevoked");
+ header.addStringValue("skipRevoked", skipRevoked == null ? "" : skipRevoked);
+
+ String skipNonValid = req.getParameter("skipNonValid");
+ header.addStringValue("skipNonValid", skipNonValid == null ? "" : skipNonValid);
+
header.addStringValue("templateName", "queryCert");
header.addStringValue("queryFilter", filter);
header.addIntegerValue("maxCount", maxCount);