diff options
| author | Endi S. Dewata <edewata@redhat.com> | 2014-05-08 23:58:31 -0400 |
|---|---|---|
| committer | Endi S. Dewata <edewata@redhat.com> | 2014-05-12 15:21:57 -0400 |
| commit | bcc3a202f5d34fbbc62fb84f3265ee0acdf1864b (patch) | |
| tree | 275a95dbbab97a3796e1e5807fb644ec657909ae /base | |
| parent | e1dc7757f9dedf41e712408196cc91902b3c5b89 (diff) | |
| download | pki-bcc3a202f5d34fbbc62fb84f3265ee0acdf1864b.tar.gz pki-bcc3a202f5d34fbbc62fb84f3265ee0acdf1864b.tar.xz pki-bcc3a202f5d34fbbc62fb84f3265ee0acdf1864b.zip | |
Added minimum search keyword length requirement.
Some REST services that accept search keywords have been modified to
require a minimum length of 3 characters.
The DEFAULT_SIZE constant has been moved into the base PKIService
class to reduce multiple declarations.
Ticket #920
Diffstat (limited to 'base')
17 files changed, 91 insertions, 67 deletions
diff --git a/base/ca/src/org/dogtagpki/server/ca/rest/CertService.java b/base/ca/src/org/dogtagpki/server/ca/rest/CertService.java index 1b7120b37..487b2b522 100644 --- a/base/ca/src/org/dogtagpki/server/ca/rest/CertService.java +++ b/base/ca/src/org/dogtagpki/server/ca/rest/CertService.java @@ -108,7 +108,6 @@ public class CertService extends PKIService implements CertResource { public static final int DEFAULT_MAXTIME = 0; public static final int DEFAULT_MAXRESULTS = 20; - public final static int DEFAULT_SIZE = 20; public CertService() { authority = (ICertificateAuthority) CMS.getSubsystem("ca"); diff --git a/base/ca/src/org/dogtagpki/server/ca/rest/ProfileService.java b/base/ca/src/org/dogtagpki/server/ca/rest/ProfileService.java index 4c2b259b2..3b2f8a50e 100644 --- a/base/ca/src/org/dogtagpki/server/ca/rest/ProfileService.java +++ b/base/ca/src/org/dogtagpki/server/ca/rest/ProfileService.java @@ -97,8 +97,6 @@ public class ProfileService extends PKIService implements ProfileResource { @Context private HttpServletRequest servletRequest; - public final static int DEFAULT_SIZE = 20; - private IProfileSubsystem ps = (IProfileSubsystem) CMS.getSubsystem(IProfileSubsystem.ID); private IPluginRegistry registry = (IPluginRegistry) CMS.getSubsystem(CMS.SUBSYSTEM_REGISTRY); private IConfigStore cs = CMS.getConfigStore().getSubStore("profile"); diff --git a/base/kra/src/org/dogtagpki/server/kra/rest/KeyService.java b/base/kra/src/org/dogtagpki/server/kra/rest/KeyService.java index 93fc53b12..cfb84a5bf 100644 --- a/base/kra/src/org/dogtagpki/server/kra/rest/KeyService.java +++ b/base/kra/src/org/dogtagpki/server/kra/rest/KeyService.java @@ -95,7 +95,6 @@ public class KeyService extends PKIService implements KeyResource { public static final int DEFAULT_MAXRESULTS = 100; public static final int DEFAULT_MAXTIME = 10; - public final static int DEFAULT_SIZE = 20; private IKeyRepository repo; private IKeyRecoveryAuthority kra; 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 866db63fd..edd7da38d 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 @@ -58,6 +58,9 @@ public class PKIService { MediaType.APPLICATION_JSON_TYPE ); + public final static int MIN_FILTER_LENGTH = 3; + public final static int DEFAULT_SIZE = 20; + @Context private HttpHeaders headers; diff --git a/base/server/cms/src/org/dogtagpki/server/rest/AuditService.java b/base/server/cms/src/org/dogtagpki/server/rest/AuditService.java index c99007170..e32c36c33 100644 --- a/base/server/cms/src/org/dogtagpki/server/rest/AuditService.java +++ b/base/server/cms/src/org/dogtagpki/server/rest/AuditService.java @@ -61,8 +61,6 @@ public class AuditService extends PKIService implements AuditResource { @Context private HttpServletRequest servletRequest; - public final static int DEFAULT_SIZE = 20; - public AuditService() { CMS.debug("AuditService.<init>()"); } diff --git a/base/server/cms/src/org/dogtagpki/server/rest/GroupService.java b/base/server/cms/src/org/dogtagpki/server/rest/GroupService.java index 3e98d3940..2f0a16996 100644 --- a/base/server/cms/src/org/dogtagpki/server/rest/GroupService.java +++ b/base/server/cms/src/org/dogtagpki/server/rest/GroupService.java @@ -69,8 +69,6 @@ public class GroupService extends PKIService implements GroupResource { @Context private HttpServletRequest servletRequest; - public final static int DEFAULT_SIZE = 20; - public IUGSubsystem userGroupManager = (IUGSubsystem) CMS.getSubsystem(CMS.SUBSYSTEM_UG); public GroupData createGroupData(IGroup group) throws Exception { @@ -102,10 +100,15 @@ public class GroupService extends PKIService implements GroupResource { */ @Override public Response findGroups(String filter, Integer start, Integer size) { - try { - start = start == null ? 0 : start; - size = size == null ? DEFAULT_SIZE : size; + if (filter != null && filter.length() < MIN_FILTER_LENGTH) { + throw new BadRequestException("Filter is too short."); + } + + start = start == null ? 0 : start; + size = size == null ? DEFAULT_SIZE : size; + + try { Enumeration<IGroup> groups = userGroupManager.listGroups(filter); GroupCollection response = new GroupCollection(); @@ -342,6 +345,10 @@ public class GroupService extends PKIService implements GroupResource { if (groupID == null) throw new BadRequestException("Group ID is null."); + if (filter != null && filter.length() < 3) { + throw new BadRequestException("Filter is too short."); + } + try { GroupMemberProcessor processor = new GroupMemberProcessor(getLocale(headers)); processor.setUriInfo(uriInfo); diff --git a/base/server/cms/src/org/dogtagpki/server/rest/SelfTestService.java b/base/server/cms/src/org/dogtagpki/server/rest/SelfTestService.java index 62993f68e..de9bd04ad 100644 --- a/base/server/cms/src/org/dogtagpki/server/rest/SelfTestService.java +++ b/base/server/cms/src/org/dogtagpki/server/rest/SelfTestService.java @@ -61,8 +61,6 @@ public class SelfTestService extends PKIService implements SelfTestResource { @Context private HttpServletRequest servletRequest; - public final static int DEFAULT_SIZE = 20; - public SelfTestService() { CMS.debug("SelfTestService.<init>()"); } @@ -99,10 +97,14 @@ public class SelfTestService extends PKIService implements SelfTestResource { CMS.debug("SelfTestService.findSelfTests()"); - try { - start = start == null ? 0 : start; - size = size == null ? DEFAULT_SIZE : size; + if (filter != null && filter.length() < MIN_FILTER_LENGTH) { + throw new BadRequestException("Filter is too short."); + } + start = start == null ? 0 : start; + size = size == null ? DEFAULT_SIZE : size; + + try { ISelfTestSubsystem subsystem = (ISelfTestSubsystem)CMS.getSubsystem(ISelfTestSubsystem.ID); // filter self tests diff --git a/base/server/cms/src/org/dogtagpki/server/rest/UserService.java b/base/server/cms/src/org/dogtagpki/server/rest/UserService.java index f4d7a13c5..53ecc2b9e 100644 --- a/base/server/cms/src/org/dogtagpki/server/rest/UserService.java +++ b/base/server/cms/src/org/dogtagpki/server/rest/UserService.java @@ -96,8 +96,6 @@ public class UserService extends PKIService implements UserResource { @Context private HttpServletRequest servletRequest; - public final static int DEFAULT_SIZE = 20; - public final static String BACK_SLASH = "\\"; public final static String SYSTEM_USER = "$System$"; @@ -132,11 +130,17 @@ public class UserService extends PKIService implements UserResource { */ @Override public Response findUsers(String filter, Integer start, Integer size) { + + if (filter != null && filter.length() < MIN_FILTER_LENGTH) { + throw new BadRequestException("Filter is too short."); + } + + start = start == null ? 0 : start; + size = size == null ? DEFAULT_SIZE : size; + UserCollection response = new UserCollection(); - try { - start = start == null ? 0 : start; - size = size == null ? DEFAULT_SIZE : size; + try { Enumeration<IUser> users = userGroupManager.findUsers(filter); int i = 0; @@ -1053,15 +1057,19 @@ public class UserService extends PKIService implements UserResource { CMS.debug("UserService.findUserMemberships(" + userID + ", " + filter + ")"); - try { - start = start == null ? 0 : start; - size = size == null ? DEFAULT_SIZE : size; + if (userID == null) { + log(ILogger.LL_FAILURE, CMS.getLogMessage("ADMIN_SRVLT_NULL_RS_ID")); + throw new BadRequestException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID", headers)); + } - if (userID == null) { - log(ILogger.LL_FAILURE, CMS.getLogMessage("ADMIN_SRVLT_NULL_RS_ID")); - throw new BadRequestException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID", headers)); - } + if (filter != null && filter.length() < 3) { + throw new BadRequestException("Filter is too short."); + } + start = start == null ? 0 : start; + size = size == null ? DEFAULT_SIZE : size; + + try { IUser user = userGroupManager.getUser(userID); if (user == null) { diff --git a/base/tks/src/org/dogtagpki/server/tks/rest/TPSConnectorService.java b/base/tks/src/org/dogtagpki/server/tks/rest/TPSConnectorService.java index 36512690a..93cd411cb 100644 --- a/base/tks/src/org/dogtagpki/server/tks/rest/TPSConnectorService.java +++ b/base/tks/src/org/dogtagpki/server/tks/rest/TPSConnectorService.java @@ -54,8 +54,6 @@ public class TPSConnectorService extends PKIService implements TPSConnectorResou @Context private HttpServletRequest servletRequest; - public final static int DEFAULT_SIZE = 20; - public IUGSubsystem userGroupManager = (IUGSubsystem) CMS.getSubsystem(CMS.SUBSYSTEM_UG); @Override diff --git a/base/tps-tomcat/src/org/dogtagpki/server/tps/config/ConfigService.java b/base/tps-tomcat/src/org/dogtagpki/server/tps/config/ConfigService.java index 84d9d786e..6cd5e9f7d 100644 --- a/base/tps-tomcat/src/org/dogtagpki/server/tps/config/ConfigService.java +++ b/base/tps-tomcat/src/org/dogtagpki/server/tps/config/ConfigService.java @@ -55,8 +55,6 @@ public class ConfigService extends PKIService implements ConfigResource { @Context private HttpServletRequest servletRequest; - public final static int DEFAULT_SIZE = 20; - public ConfigService() { CMS.debug("ConfigService.<init>()"); } diff --git a/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/ActivityService.java b/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/ActivityService.java index 1fb1e4c82..ca499e7ca 100644 --- a/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/ActivityService.java +++ b/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/ActivityService.java @@ -60,8 +60,6 @@ public class ActivityService extends PKIService implements ActivityResource { @Context private HttpServletRequest servletRequest; - public final static int DEFAULT_SIZE = 20; - public ActivityService() { CMS.debug("ActivityService.<init>()"); } @@ -104,10 +102,14 @@ public class ActivityService extends PKIService implements ActivityResource { CMS.debug("ActivityService.findActivities()"); - try { - start = start == null ? 0 : start; - size = size == null ? DEFAULT_SIZE : size; + if (filter != null && filter.length() < MIN_FILTER_LENGTH) { + throw new BadRequestException("Filter is too short."); + } + start = start == null ? 0 : start; + size = size == null ? DEFAULT_SIZE : size; + + try { TPSSubsystem subsystem = (TPSSubsystem)CMS.getSubsystem(TPSSubsystem.ID); ActivityDatabase database = subsystem.getActivityDatabase(); diff --git a/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/AuthenticatorService.java b/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/AuthenticatorService.java index 6a66e9ec5..782570d8d 100644 --- a/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/AuthenticatorService.java +++ b/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/AuthenticatorService.java @@ -63,8 +63,6 @@ public class AuthenticatorService extends PKIService implements AuthenticatorRes @Context private HttpServletRequest servletRequest; - public final static int DEFAULT_SIZE = 20; - public AuthenticatorService() { CMS.debug("AuthenticatorService.<init>()"); } @@ -100,10 +98,14 @@ public class AuthenticatorService extends PKIService implements AuthenticatorRes CMS.debug("AuthenticatorService.findAuthenticators()"); - try { - start = start == null ? 0 : start; - size = size == null ? DEFAULT_SIZE : size; + if (filter != null && filter.length() < MIN_FILTER_LENGTH) { + throw new BadRequestException("Filter is too short."); + } + start = start == null ? 0 : start; + size = size == null ? DEFAULT_SIZE : size; + + try { TPSSubsystem subsystem = (TPSSubsystem)CMS.getSubsystem(TPSSubsystem.ID); AuthenticatorDatabase database = subsystem.getAuthenticatorDatabase(); diff --git a/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/ConnectorService.java b/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/ConnectorService.java index 91b7fe64b..d77c79349 100644 --- a/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/ConnectorService.java +++ b/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/ConnectorService.java @@ -63,8 +63,6 @@ public class ConnectorService extends PKIService implements ConnectorResource { @Context private HttpServletRequest servletRequest; - public final static int DEFAULT_SIZE = 20; - public ConnectorService() { CMS.debug("ConnectorService.<init>()"); } @@ -100,10 +98,14 @@ public class ConnectorService extends PKIService implements ConnectorResource { CMS.debug("ConnectorService.findConnectors()"); - try { - start = start == null ? 0 : start; - size = size == null ? DEFAULT_SIZE : size; + if (filter != null && filter.length() < MIN_FILTER_LENGTH) { + throw new BadRequestException("Filter is too short."); + } + start = start == null ? 0 : start; + size = size == null ? DEFAULT_SIZE : size; + + try { TPSSubsystem subsystem = (TPSSubsystem)CMS.getSubsystem(TPSSubsystem.ID); ConnectorDatabase database = subsystem.getConnectorDatabase(); diff --git a/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/ProfileMappingService.java b/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/ProfileMappingService.java index 1425457f3..fca225c9f 100644 --- a/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/ProfileMappingService.java +++ b/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/ProfileMappingService.java @@ -63,8 +63,6 @@ public class ProfileMappingService extends PKIService implements ProfileMappingR @Context private HttpServletRequest servletRequest; - public final static int DEFAULT_SIZE = 20; - public ProfileMappingService() { CMS.debug("ProfileMappingService.<init>()"); } @@ -100,10 +98,14 @@ public class ProfileMappingService extends PKIService implements ProfileMappingR CMS.debug("ProfileMappingService.findProfileMappings()"); - try { - start = start == null ? 0 : start; - size = size == null ? DEFAULT_SIZE : size; + if (filter != null && filter.length() < MIN_FILTER_LENGTH) { + throw new BadRequestException("Filter is too short."); + } + start = start == null ? 0 : start; + size = size == null ? DEFAULT_SIZE : size; + + try { TPSSubsystem subsystem = (TPSSubsystem)CMS.getSubsystem(TPSSubsystem.ID); ProfileMappingDatabase database = subsystem.getProfileMappingDatabase(); diff --git a/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/ProfileService.java b/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/ProfileService.java index d21b8939e..9724938d6 100644 --- a/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/ProfileService.java +++ b/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/ProfileService.java @@ -63,8 +63,6 @@ public class ProfileService extends PKIService implements ProfileResource { @Context private HttpServletRequest servletRequest; - public final static int DEFAULT_SIZE = 20; - public ProfileService() { CMS.debug("ProfileService.<init>()"); } @@ -100,10 +98,14 @@ public class ProfileService extends PKIService implements ProfileResource { CMS.debug("ProfileService.findProfiles()"); - try { - start = start == null ? 0 : start; - size = size == null ? DEFAULT_SIZE : size; + if (filter != null && filter.length() < MIN_FILTER_LENGTH) { + throw new BadRequestException("Filter is too short."); + } + start = start == null ? 0 : start; + size = size == null ? DEFAULT_SIZE : size; + + try { TPSSubsystem subsystem = (TPSSubsystem)CMS.getSubsystem(TPSSubsystem.ID); ProfileDatabase database = subsystem.getProfileDatabase(); diff --git a/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/TPSCertService.java b/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/TPSCertService.java index 275631ba4..75314cd5d 100644 --- a/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/TPSCertService.java +++ b/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/TPSCertService.java @@ -60,8 +60,6 @@ public class TPSCertService extends PKIService implements TPSCertResource { @Context private HttpServletRequest servletRequest; - public final static int DEFAULT_SIZE = 20; - public TPSCertService() { System.out.println("TPSCertService.<init>()"); } @@ -114,10 +112,14 @@ public class TPSCertService extends PKIService implements TPSCertResource { System.out.println("TPSCertService.findCerts()"); - try { - start = start == null ? 0 : start; - size = size == null ? DEFAULT_SIZE : size; + if (filter != null && filter.length() < MIN_FILTER_LENGTH) { + throw new BadRequestException("Filter is too short."); + } + start = start == null ? 0 : start; + size = size == null ? DEFAULT_SIZE : size; + + try { TPSSubsystem subsystem = (TPSSubsystem)CMS.getSubsystem(TPSSubsystem.ID); TPSCertDatabase database = subsystem.getCertDatabase(); diff --git a/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/TokenService.java b/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/TokenService.java index dd3fc72c1..e64328fc7 100644 --- a/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/TokenService.java +++ b/base/tps-tomcat/src/org/dogtagpki/server/tps/rest/TokenService.java @@ -66,8 +66,6 @@ public class TokenService extends PKIService implements TokenResource { @Context private HttpServletRequest servletRequest; - public final static int DEFAULT_SIZE = 20; - public Map<TokenStatus, Collection<TokenStatus>> transitions = new HashMap<TokenStatus, Collection<TokenStatus>>(); public TokenService() throws Exception { @@ -202,10 +200,14 @@ public class TokenService extends PKIService implements TokenResource { CMS.debug("TokenService.findTokens()"); - try { - start = start == null ? 0 : start; - size = size == null ? DEFAULT_SIZE : size; + if (filter != null && filter.length() < MIN_FILTER_LENGTH) { + throw new BadRequestException("Filter is too short."); + } + start = start == null ? 0 : start; + size = size == null ? DEFAULT_SIZE : size; + + try { TPSSubsystem subsystem = (TPSSubsystem)CMS.getSubsystem(TPSSubsystem.ID); TokenDatabase database = subsystem.getTokenDatabase(); |
