diff options
author | Endi S. Dewata <edewata@redhat.com> | 2013-11-05 11:10:15 -0500 |
---|---|---|
committer | Endi S. Dewata <edewata@redhat.com> | 2013-11-07 11:49:38 -0500 |
commit | 66eabd97adafa95f97215202a825d73f5fca7692 (patch) | |
tree | d5759739e4bd0042e0d02124ad351d8b3cfb0040 /base/server/cms/src/com/netscape/cms/servlet/csadmin/CertUtil.java | |
parent | 89eebe6729b8a7ed53441649d0baa98c98fdfa7f (diff) | |
download | pki-66eabd97adafa95f97215202a825d73f5fca7692.tar.gz pki-66eabd97adafa95f97215202a825d73f5fca7692.tar.xz pki-66eabd97adafa95f97215202a825d73f5fca7692.zip |
Fixed return code for user and group services.
The user and group services have been modified to return consistent HTTP
return codes under various situations. The UGSubsystem has been modified
to capture any LDAP exceptions and throw the proper PKIException subclass
that represents the appropriate HTTP error code for the situation.
Ticket #669, #749
Diffstat (limited to 'base/server/cms/src/com/netscape/cms/servlet/csadmin/CertUtil.java')
-rw-r--r-- | base/server/cms/src/com/netscape/cms/servlet/csadmin/CertUtil.java | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/base/server/cms/src/com/netscape/cms/servlet/csadmin/CertUtil.java b/base/server/cms/src/com/netscape/cms/servlet/csadmin/CertUtil.java index 1936b2c5a..ede632ee5 100644 --- a/base/server/cms/src/com/netscape/cms/servlet/csadmin/CertUtil.java +++ b/base/server/cms/src/com/netscape/cms/servlet/csadmin/CertUtil.java @@ -29,7 +29,6 @@ import java.util.Set; import javax.servlet.http.HttpServletResponse; -import netscape.ldap.LDAPException; import netscape.security.pkcs.PKCS10; import netscape.security.x509.CertificateExtensions; import netscape.security.x509.X500Name; @@ -45,6 +44,7 @@ import org.mozilla.jss.crypto.PrivateKey; import org.mozilla.jss.crypto.X509Certificate; import com.netscape.certsrv.apps.CMS; +import com.netscape.certsrv.base.ConflictingOperationException; import com.netscape.certsrv.base.EBaseException; import com.netscape.certsrv.base.IConfigStore; import com.netscape.certsrv.base.MetaInfo; @@ -281,7 +281,7 @@ public class CertUtil { * If that entry does not exist, uses basic default * * 2. Gets default.params.signingAlg from profile. - * If entry does not exist or equals "-", selects first algorithm in allowed algorithm list + * If entry does not exist or equals "-", selects first algorithm in allowed algorithm list * that matches CA signing key type * Otherwise returns entry if it matches signing CA key type. * @@ -584,27 +584,25 @@ public class CertUtil { user.setUserType("agentType"); user.setState("1"); user.setPhone(""); - certs[0] = cert; - user.setX509Certificates(certs); system.addUser(user); CMS.debug("CertUtil addUserCertificate: successfully add the user"); - } catch (LDAPException e) { + + } catch (ConflictingOperationException e) { CMS.debug("CertUtil addUserCertificate" + e.toString()); - if (e.getLDAPResultCode() != LDAPException.ENTRY_ALREADY_EXISTS) { - try { - user = system.getUser(id); - user.setX509Certificates(certs); - } catch (Exception ee) { - CMS.debug("CertUtil addUserCertificate: successfully find the user"); - } - } + // ignore + } catch (Exception e) { CMS.debug("CertUtil addUserCertificate addUser " + e.toString()); } try { + user = system.getUser(id); + certs[0] = cert; + user.setX509Certificates(certs); + system.addUserCert(user); CMS.debug("CertUtil addUserCertificate: successfully add the user certificate"); + } catch (Exception e) { CMS.debug("CertUtil addUserCertificate exception=" + e.toString()); } |