From 4c1f6b632fe5493ba3bfe106257192d3fc088f15 Mon Sep 17 00:00:00 2001 From: "Endi S. Dewata" Date: Thu, 4 Feb 2016 03:09:45 +0100 Subject: Fixed LDAP error handling in TokenService. The DBSSession has been modified to attach the LDAPException to the EDBException. The TokenService will catch the EDBException and obtain the orignal LDAPException. This way the TokenService can obtain the LDAP error code and throw the proper exception the client. https://fedorahosted.org/pki/ticket/1646 --- .../src/com/netscape/cmscore/dbs/DBSSession.java | 28 +++++++++++----------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'base/server/cmscore/src/com/netscape/cmscore/dbs') diff --git a/base/server/cmscore/src/com/netscape/cmscore/dbs/DBSSession.java b/base/server/cmscore/src/com/netscape/cmscore/dbs/DBSSession.java index ad1be6602..2bfd5f2da 100644 --- a/base/server/cmscore/src/com/netscape/cmscore/dbs/DBSSession.java +++ b/base/server/cmscore/src/com/netscape/cmscore/dbs/DBSSession.java @@ -19,18 +19,6 @@ package com.netscape.cmscore.dbs; import java.util.Enumeration; -import netscape.ldap.LDAPAttribute; -import netscape.ldap.LDAPAttributeSet; -import netscape.ldap.LDAPConnection; -import netscape.ldap.LDAPEntry; -import netscape.ldap.LDAPException; -import netscape.ldap.LDAPModification; -import netscape.ldap.LDAPModificationSet; -import netscape.ldap.LDAPSearchConstraints; -import netscape.ldap.LDAPSearchResults; -import netscape.ldap.LDAPv2; -import netscape.ldap.controls.LDAPPersistSearchControl; - import com.netscape.certsrv.apps.CMS; import com.netscape.certsrv.base.EBaseException; import com.netscape.certsrv.base.ISubsystem; @@ -46,6 +34,18 @@ import com.netscape.certsrv.dbs.Modification; import com.netscape.certsrv.dbs.ModificationSet; import com.netscape.certsrv.logging.ILogger; +import netscape.ldap.LDAPAttribute; +import netscape.ldap.LDAPAttributeSet; +import netscape.ldap.LDAPConnection; +import netscape.ldap.LDAPEntry; +import netscape.ldap.LDAPException; +import netscape.ldap.LDAPModification; +import netscape.ldap.LDAPModificationSet; +import netscape.ldap.LDAPSearchConstraints; +import netscape.ldap.LDAPSearchResults; +import netscape.ldap.LDAPv2; +import netscape.ldap.controls.LDAPPersistSearchControl; + /** * A class represents the database session. Operations * can be performed with a session. @@ -119,9 +119,9 @@ public class DBSSession implements IDBSSession { } catch (LDAPException e) { if (e.getLDAPResultCode() == LDAPException.UNAVAILABLE) throw new EDBNotAvailException( - CMS.getUserMessage("CMS_DBS_INTERNAL_DIR_UNAVAILABLE")); + CMS.getUserMessage("CMS_DBS_INTERNAL_DIR_UNAVAILABLE"), e); throw new EDBException(CMS.getUserMessage("CMS_DBS_LDAP_OP_FAILURE", - name + " " + e.toString())); + name + ": " + e.getMessage()), e); } } -- cgit