summaryrefslogtreecommitdiffstats
path: root/base/server/cms/src/com/netscape/cms/servlet/csadmin
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2014-04-29 16:28:23 -0400
committerEndi S. Dewata <edewata@redhat.com>2014-05-05 14:57:47 -0400
commitb381c23ea5f3233adbd2e5a16ec124115d1cd936 (patch)
treeda91e568f7a5f817ad876e00ec5d749197f42ea8 /base/server/cms/src/com/netscape/cms/servlet/csadmin
parent8084199ce991d44023cbd1515d735c795100c911 (diff)
downloadpki-b381c23ea5f3233adbd2e5a16ec124115d1cd936.tar.gz
pki-b381c23ea5f3233adbd2e5a16ec124115d1cd936.tar.xz
pki-b381c23ea5f3233adbd2e5a16ec124115d1cd936.zip
Fixed ConfigurationUtils.setupDBUser().
Previously the ConfigurationUtils.setupDBUser() was using findUsers() to get a list of users and then only use the first one. It has been replaced with getUser() which will return the user directly. If the user doesn't exist, findUsers() will throw an exception whereas the getUser() will return null, so the try-catch block has been removed. Ticket #920
Diffstat (limited to 'base/server/cms/src/com/netscape/cms/servlet/csadmin')
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/csadmin/ConfigurationUtils.java26
1 files changed, 16 insertions, 10 deletions
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/ConfigurationUtils.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/ConfigurationUtils.java
index 6f37de735..b541441c5 100644
--- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/ConfigurationUtils.java
+++ b/base/server/cms/src/com/netscape/cms/servlet/csadmin/ConfigurationUtils.java
@@ -3774,36 +3774,42 @@ public class ConfigurationUtils {
public static void setupDBUser() throws CertificateException, LDAPException, EBaseException,
NotInitializedException, ObjectNotFoundException, TokenException, IOException {
- IUGSubsystem system =
- (IUGSubsystem) (CMS.getSubsystem(IUGSubsystem.ID));
- try {
- @SuppressWarnings("unused")
- Enumeration<IUser> dbusers = system.findUsers(DBUSER);
- CMS.debug("DB User already exists: " + DBUSER);
+ IUGSubsystem system = (IUGSubsystem) CMS.getSubsystem(IUGSubsystem.ID);
+
+ // checking existing user
+ IUser user = system.getUser(DBUSER);
+
+ if (user != null) {
+ // user found
+ CMS.debug("setupDBUser(): user already exists: " + DBUSER);
return;
- } catch (EUsrGrpException e) {
- CMS.debug("Creating DB User: " + DBUSER);
}
+ // user not found
+ CMS.debug("setupDBUser(): creating user: " + DBUSER);
+
String b64 = getSubsystemCert();
if (b64 == null) {
CMS.debug("setupDBUser(): failed to fetch subsystem cert");
throw new EBaseException("setupDBUser(): failed to fetch subsystem cert");
}
- IUser user = system.createUser(DBUSER);
+ user = system.createUser(DBUSER);
user.setFullName(DBUSER);
user.setEmail("");
user.setPassword("");
user.setUserType("agentType");
user.setState("1");
user.setPhone("");
+
X509CertImpl[] certs = new X509CertImpl[1];
certs[0] = new X509CertImpl(CMS.AtoB(b64));
user.setX509Certificates(certs);
+
system.addUser(user);
CMS.debug("setupDBUser(): successfully added the user");
+
system.addUserCert(user);
CMS.debug("setupDBUser(): successfully add the user certificate");
@@ -3811,7 +3817,7 @@ public class ConfigurationUtils {
system.addCertSubjectDN(user);
// remove old db users
- CMS.debug("Removing seeAlso from old dbusers");
+ CMS.debug("setupDBUser(): removing seeAlso from old dbusers");
removeOldDBUsers(certs[0].getSubjectDN().toString());
}