From 014fdc85a7e018df419aad3dce460f0e58d42f92 Mon Sep 17 00:00:00 2001 From: "Endi S. Dewata" Date: Sun, 10 Nov 2013 16:40:15 -0500 Subject: Added null parameter checking. Some REST services have been modified to throw BadRequestException on null parameters. Ticket #749 --- .../com/netscape/cms/servlet/admin/GroupService.java | 16 ++++++++++++++++ .../com/netscape/cms/servlet/admin/UserService.java | 20 ++++++++++++++++++++ .../tps/authenticator/AuthenticatorService.java | 10 ++++++++++ .../dogtagpki/server/tps/cert/TPSCertService.java | 3 +++ .../dogtagpki/server/tps/config/ConfigService.java | 3 +++ .../server/tps/connection/ConnectionService.java | 10 ++++++++++ .../server/tps/logging/ActivityService.java | 3 +++ .../dogtagpki/server/tps/profile/ProfileService.java | 12 ++++++++++++ .../org/dogtagpki/server/tps/token/TokenService.java | 13 +++++++++++++ 9 files changed, 90 insertions(+) diff --git a/base/server/cms/src/com/netscape/cms/servlet/admin/GroupService.java b/base/server/cms/src/com/netscape/cms/servlet/admin/GroupService.java index 17c4387a3..065f93c8f 100644 --- a/base/server/cms/src/com/netscape/cms/servlet/admin/GroupService.java +++ b/base/server/cms/src/com/netscape/cms/servlet/admin/GroupService.java @@ -188,6 +188,8 @@ public class GroupService extends PKIService implements GroupResource { @Override public Response addGroup(GroupData groupData) { + if (groupData == null) throw new BadRequestException("Group data is null."); + String groupID = groupData.getID(); // ensure that any low-level exceptions are reported @@ -249,6 +251,8 @@ public class GroupService extends PKIService implements GroupResource { @Override public Response modifyGroup(String groupID, GroupData groupData) { + if (groupData == null) throw new BadRequestException("Group data is null."); + // ensure that any low-level exceptions are reported // to the signed audit log and stored as failures try { @@ -346,6 +350,10 @@ public class GroupService extends PKIService implements GroupResource { @Override public GroupMemberData getGroupMember(String groupID, String memberID) { + + if (groupID == null) throw new BadRequestException("Group ID is null."); + if (memberID == null) throw new BadRequestException("Member ID is null."); + try { GroupMemberProcessor processor = new GroupMemberProcessor(getLocale(headers)); processor.setUriInfo(uriInfo); @@ -362,6 +370,10 @@ public class GroupService extends PKIService implements GroupResource { @Override public Response addGroupMember(String groupID, String memberID) { + + if (groupID == null) throw new BadRequestException("Group ID is null."); + if (memberID == null) throw new BadRequestException("Member ID is null."); + GroupMemberData groupMemberData = new GroupMemberData(); groupMemberData.setID(memberID); groupMemberData.setGroupID(groupID); @@ -385,6 +397,10 @@ public class GroupService extends PKIService implements GroupResource { @Override public void removeGroupMember(String groupID, String memberID) { + + if (groupID == null) throw new BadRequestException("Group ID is null."); + if (memberID == null) throw new BadRequestException("Member ID is null."); + try { GroupMemberProcessor processor = new GroupMemberProcessor(getLocale(headers)); processor.setUriInfo(uriInfo); diff --git a/base/server/cms/src/com/netscape/cms/servlet/admin/UserService.java b/base/server/cms/src/com/netscape/cms/servlet/admin/UserService.java index b32bf6756..c24154094 100644 --- a/base/server/cms/src/com/netscape/cms/servlet/admin/UserService.java +++ b/base/server/cms/src/com/netscape/cms/servlet/admin/UserService.java @@ -256,6 +256,8 @@ public class UserService extends PKIService implements UserResource { @Override public Response addUser(UserData userData) { + if (userData == null) throw new BadRequestException("User data is null."); + IConfigStore cs = CMS.getConfigStore(); String userID = userData.getID(); @@ -380,6 +382,8 @@ public class UserService extends PKIService implements UserResource { @Override public Response modifyUser(String userID, UserData userData) { + if (userData == null) throw new BadRequestException("User data is null."); + // ensure that any low-level exceptions are reported // to the signed audit log and stored as failures IConfigStore cs = CMS.getConfigStore(); @@ -598,6 +602,9 @@ public class UserService extends PKIService implements UserResource { @Override public UserCertData getUserCert(String userID, String certID) { + + if (certID == null) throw new BadRequestException("Certificate ID is null."); + try { if (userID == null) { log(ILogger.LL_FAILURE, CMS.getLogMessage("ADMIN_SRVLT_NULL_RS_ID")); @@ -672,6 +679,8 @@ public class UserService extends PKIService implements UserResource { @Override public Response addUserCert(String userID, UserCertData userCertData) { + if (userCertData == null) throw new BadRequestException("Certificate data is null."); + // ensure that any low-level exceptions are reported // to the signed audit log and stored as failures try { @@ -870,6 +879,9 @@ public class UserService extends PKIService implements UserResource { @Override public void removeUserCert(String userID, String certID) { + if (userID == null) throw new BadRequestException("User ID is null."); + if (certID == null) throw new BadRequestException("Certificate ID is null."); + try { certID = URLDecoder.decode(certID, "UTF-8"); } catch (Exception e) { @@ -995,6 +1007,10 @@ public class UserService extends PKIService implements UserResource { @Override public Response addUserMembership(String userID, String groupID) { + + if (userID == null) throw new BadRequestException("User ID is null."); + if (groupID == null) throw new BadRequestException("Group ID is null."); + try { GroupMemberData groupMemberData = new GroupMemberData(); groupMemberData.setID(userID); @@ -1023,6 +1039,10 @@ public class UserService extends PKIService implements UserResource { @Override public void removeUserMembership(String userID, String groupID) { + + if (userID == null) throw new BadRequestException("User ID is null."); + if (groupID == null) throw new BadRequestException("Group ID is null."); + try { GroupMemberProcessor processor = new GroupMemberProcessor(getLocale(headers)); processor.setUriInfo(uriInfo); diff --git a/base/tps-tomcat/src/org/dogtagpki/server/tps/authenticator/AuthenticatorService.java b/base/tps-tomcat/src/org/dogtagpki/server/tps/authenticator/AuthenticatorService.java index 6b77a0533..e3764ed3b 100644 --- a/base/tps-tomcat/src/org/dogtagpki/server/tps/authenticator/AuthenticatorService.java +++ b/base/tps-tomcat/src/org/dogtagpki/server/tps/authenticator/AuthenticatorService.java @@ -35,6 +35,7 @@ import org.dogtagpki.server.tps.TPSSubsystem; import org.jboss.resteasy.plugins.providers.atom.Link; import com.netscape.certsrv.apps.CMS; +import com.netscape.certsrv.base.BadRequestException; import com.netscape.certsrv.base.PKIException; import com.netscape.certsrv.tps.authenticator.AuthenticatorCollection; import com.netscape.certsrv.tps.authenticator.AuthenticatorData; @@ -140,6 +141,8 @@ public class AuthenticatorService extends PKIService implements AuthenticatorRes @Override public AuthenticatorData getAuthenticator(String authenticatorID) { + if (authenticatorID == null) throw new BadRequestException("Authenticator ID is null."); + CMS.debug("AuthenticatorService.getAuthenticator(\"" + authenticatorID + "\")"); try { @@ -157,6 +160,8 @@ public class AuthenticatorService extends PKIService implements AuthenticatorRes @Override public Response addAuthenticator(AuthenticatorData authenticatorData) { + if (authenticatorData == null) throw new BadRequestException("Authenticator data is null."); + CMS.debug("AuthenticatorService.addAuthenticator(\"" + authenticatorData.getID() + "\")"); try { @@ -181,6 +186,9 @@ public class AuthenticatorService extends PKIService implements AuthenticatorRes @Override public Response updateAuthenticator(String authenticatorID, AuthenticatorData authenticatorData) { + if (authenticatorID == null) throw new BadRequestException("Authenticator ID is null."); + if (authenticatorData == null) throw new BadRequestException("Authenticator data is null."); + CMS.debug("AuthenticatorService.updateAuthenticator(\"" + authenticatorID + "\")"); try { @@ -204,6 +212,8 @@ public class AuthenticatorService extends PKIService implements AuthenticatorRes @Override public void removeAuthenticator(String authenticatorID) { + if (authenticatorID == null) throw new BadRequestException("Authenticator ID is null."); + CMS.debug("AuthenticatorService.removeAuthenticator(\"" + authenticatorID + "\")"); try { diff --git a/base/tps-tomcat/src/org/dogtagpki/server/tps/cert/TPSCertService.java b/base/tps-tomcat/src/org/dogtagpki/server/tps/cert/TPSCertService.java index 238ac12df..cc05a11ec 100644 --- a/base/tps-tomcat/src/org/dogtagpki/server/tps/cert/TPSCertService.java +++ b/base/tps-tomcat/src/org/dogtagpki/server/tps/cert/TPSCertService.java @@ -33,6 +33,7 @@ import org.dogtagpki.server.tps.TPSSubsystem; import org.jboss.resteasy.plugins.providers.atom.Link; import com.netscape.certsrv.apps.CMS; +import com.netscape.certsrv.base.BadRequestException; import com.netscape.certsrv.base.PKIException; import com.netscape.certsrv.tps.cert.TPSCertCollection; import com.netscape.certsrv.tps.cert.TPSCertData; @@ -155,6 +156,8 @@ public class TPSCertService extends PKIService implements TPSCertResource { @Override public TPSCertData getCert(String certID) { + if (certID == null) throw new BadRequestException("Certificate ID is null."); + System.out.println("TPSCertService.getCert(\"" + certID + "\")"); try { 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 8f338e330..b470cf879 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 @@ -33,6 +33,7 @@ import javax.ws.rs.core.UriInfo; import org.jboss.resteasy.plugins.providers.atom.Link; import com.netscape.certsrv.apps.CMS; +import com.netscape.certsrv.base.BadRequestException; import com.netscape.certsrv.base.PKIException; import com.netscape.certsrv.tps.config.ConfigData; import com.netscape.certsrv.tps.config.ConfigResource; @@ -96,6 +97,8 @@ public class ConfigService extends PKIService implements ConfigResource { @Override public Response updateConfig(ConfigData configData) { + if (configData == null) throw new BadRequestException("Config data is null."); + CMS.debug("ConfigService.updateConfig()"); try { diff --git a/base/tps-tomcat/src/org/dogtagpki/server/tps/connection/ConnectionService.java b/base/tps-tomcat/src/org/dogtagpki/server/tps/connection/ConnectionService.java index 97043bca5..8ae9e90da 100644 --- a/base/tps-tomcat/src/org/dogtagpki/server/tps/connection/ConnectionService.java +++ b/base/tps-tomcat/src/org/dogtagpki/server/tps/connection/ConnectionService.java @@ -35,6 +35,7 @@ import org.dogtagpki.server.tps.TPSSubsystem; import org.jboss.resteasy.plugins.providers.atom.Link; import com.netscape.certsrv.apps.CMS; +import com.netscape.certsrv.base.BadRequestException; import com.netscape.certsrv.base.PKIException; import com.netscape.certsrv.tps.connection.ConnectionCollection; import com.netscape.certsrv.tps.connection.ConnectionData; @@ -140,6 +141,8 @@ public class ConnectionService extends PKIService implements ConnectionResource @Override public ConnectionData getConnection(String connectionID) { + if (connectionID == null) throw new BadRequestException("Connection ID is null."); + CMS.debug("ConnectionService.getConnection(\"" + connectionID + "\")"); try { @@ -157,6 +160,8 @@ public class ConnectionService extends PKIService implements ConnectionResource @Override public Response addConnection(ConnectionData connectionData) { + if (connectionData == null) throw new BadRequestException("Connection data is null."); + CMS.debug("ConnectionService.addConnection(\"" + connectionData.getID() + "\")"); try { @@ -181,6 +186,9 @@ public class ConnectionService extends PKIService implements ConnectionResource @Override public Response updateConnection(String connectionID, ConnectionData connectionData) { + if (connectionID == null) throw new BadRequestException("Connection ID is null."); + if (connectionData == null) throw new BadRequestException("Connection data is null."); + CMS.debug("ConnectionService.updateConnection(\"" + connectionID + "\")"); try { @@ -204,6 +212,8 @@ public class ConnectionService extends PKIService implements ConnectionResource @Override public void removeConnection(String connectionID) { + if (connectionID == null) throw new BadRequestException("Connection ID is null."); + CMS.debug("ConnectionService.removeConnection(\"" + connectionID + "\")"); try { diff --git a/base/tps-tomcat/src/org/dogtagpki/server/tps/logging/ActivityService.java b/base/tps-tomcat/src/org/dogtagpki/server/tps/logging/ActivityService.java index 5cfb090bf..a97a4775c 100644 --- a/base/tps-tomcat/src/org/dogtagpki/server/tps/logging/ActivityService.java +++ b/base/tps-tomcat/src/org/dogtagpki/server/tps/logging/ActivityService.java @@ -33,6 +33,7 @@ import org.dogtagpki.server.tps.TPSSubsystem; import org.jboss.resteasy.plugins.providers.atom.Link; import com.netscape.certsrv.apps.CMS; +import com.netscape.certsrv.base.BadRequestException; import com.netscape.certsrv.base.PKIException; import com.netscape.certsrv.logging.ActivityCollection; import com.netscape.certsrv.logging.ActivityData; @@ -145,6 +146,8 @@ public class ActivityService extends PKIService implements ActivityResource { @Override public ActivityData getActivity(String activityID) { + if (activityID == null) throw new BadRequestException("Activity ID is null."); + CMS.debug("ActivityService.getActivity(\"" + activityID + "\")"); try { diff --git a/base/tps-tomcat/src/org/dogtagpki/server/tps/profile/ProfileService.java b/base/tps-tomcat/src/org/dogtagpki/server/tps/profile/ProfileService.java index 9bff5188f..d834d78e5 100644 --- a/base/tps-tomcat/src/org/dogtagpki/server/tps/profile/ProfileService.java +++ b/base/tps-tomcat/src/org/dogtagpki/server/tps/profile/ProfileService.java @@ -146,6 +146,8 @@ public class ProfileService extends PKIService implements ProfileResource { @Override public ProfileData getProfile(String profileID) { + if (profileID == null) throw new BadRequestException("Profile ID is null."); + CMS.debug("ProfileService.getProfile(\"" + profileID + "\")"); try { @@ -166,6 +168,8 @@ public class ProfileService extends PKIService implements ProfileResource { @Override public Response addProfile(ProfileData profileData) { + if (profileData == null) throw new BadRequestException("Profile data is null."); + CMS.debug("ProfileService.addProfile(\"" + profileData.getID() + "\")"); try { @@ -194,6 +198,9 @@ public class ProfileService extends PKIService implements ProfileResource { @Override public Response updateProfile(String profileID, ProfileData profileData) { + if (profileID == null) throw new BadRequestException("Profile ID is null."); + if (profileData == null) throw new BadRequestException("Profile data is null."); + CMS.debug("ProfileService.updateProfile(\"" + profileID + "\")"); try { @@ -241,6 +248,9 @@ public class ProfileService extends PKIService implements ProfileResource { @Override public Response changeProfileStatus(String profileID, String action) { + if (profileID == null) throw new BadRequestException("Profile ID is null."); + if (action == null) throw new BadRequestException("Action is null."); + CMS.debug("ProfileService.changeProfileStatus(\"" + profileID + "\")"); try { @@ -299,6 +309,8 @@ public class ProfileService extends PKIService implements ProfileResource { @Override public void removeProfile(String profileID) { + if (profileID == null) throw new BadRequestException("Profile ID is null."); + CMS.debug("ProfileService.removeProfile(\"" + profileID + "\")"); try { diff --git a/base/tps-tomcat/src/org/dogtagpki/server/tps/token/TokenService.java b/base/tps-tomcat/src/org/dogtagpki/server/tps/token/TokenService.java index 95802e3e2..7991c8c20 100644 --- a/base/tps-tomcat/src/org/dogtagpki/server/tps/token/TokenService.java +++ b/base/tps-tomcat/src/org/dogtagpki/server/tps/token/TokenService.java @@ -35,6 +35,7 @@ import org.dogtagpki.server.tps.TPSSubsystem; import org.jboss.resteasy.plugins.providers.atom.Link; import com.netscape.certsrv.apps.CMS; +import com.netscape.certsrv.base.BadRequestException; import com.netscape.certsrv.base.PKIException; import com.netscape.certsrv.tps.token.TokenCollection; import com.netscape.certsrv.tps.token.TokenData; @@ -156,6 +157,8 @@ public class TokenService extends PKIService implements TokenResource { @Override public TokenData getToken(String tokenID) { + if (tokenID == null) throw new BadRequestException("Token ID is null."); + CMS.debug("TokenService.getToken(\"" + tokenID + "\")"); try { @@ -173,6 +176,8 @@ public class TokenService extends PKIService implements TokenResource { @Override public Response addToken(TokenData tokenData) { + if (tokenData == null) throw new BadRequestException("Token data is null."); + CMS.debug("TokenService.addToken(\"" + tokenData.getID() + "\")"); try { @@ -197,6 +202,9 @@ public class TokenService extends PKIService implements TokenResource { @Override public Response updateToken(String tokenID, TokenData tokenData) { + if (tokenID == null) throw new BadRequestException("Token ID is null."); + if (tokenData == null) throw new BadRequestException("Token data is null."); + CMS.debug("TokenService.updateToken(\"" + tokenID + "\")"); try { @@ -223,6 +231,9 @@ public class TokenService extends PKIService implements TokenResource { @Override public Response modifyToken(String tokenID, TokenModifyRequest request) { + if (tokenID == null) throw new BadRequestException("Token ID is null."); + if (request == null) throw new BadRequestException("Token modification is null."); + CMS.debug("TokenService.modifyToken(\"" + tokenID + "\", request"); try { @@ -248,6 +259,8 @@ public class TokenService extends PKIService implements TokenResource { @Override public void removeToken(String tokenID) { + if (tokenID == null) throw new BadRequestException("Token ID is null."); + CMS.debug("TokenService.removeToken(\"" + tokenID + "\")"); try { -- cgit