Ondřej Macháček has uploaded a new change for review. Change subject: aaa: provide UI error for builtin krbldap ......................................................................
aaa: provide UI error for builtin krbldap Bug-Url: https://bugzilla.redhat.com/1106435 Change-Id: Idb1d19d8642ad2aaccd56ada23bebf12f540bf38 Signed-off-by: Ondra Machacek <[email protected]> --- M backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/KerberosLdapAuthz.java M backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/LdapBrokerCommandBase.java 2 files changed, 20 insertions(+), 4 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/52/34852/1 diff --git a/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/KerberosLdapAuthz.java b/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/KerberosLdapAuthz.java index 79ae6ee..d83eafd 100644 --- a/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/KerberosLdapAuthz.java +++ b/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/KerberosLdapAuthz.java @@ -18,6 +18,7 @@ import org.ovirt.engine.core.common.businessentities.aaa.LdapGroup; import org.ovirt.engine.core.common.businessentities.aaa.LdapUser; + /** * This directory implementation is a bridge between the new directory interfaces and the existing LDAP infrastructure. * It will exist only while the engine is migrated to use the new directory interfaces, then it will be removed. @@ -92,6 +93,7 @@ false, false) ); + checkForErrors(ldapResult, output); List<LdapGroup> ldapGroups = (List<LdapGroup>) ldapResult.getReturnValue(); List<ExtMap> results = new ArrayList<>(); for (LdapGroup ldapGroup : ldapGroups) { @@ -117,6 +119,7 @@ ) ); + checkForErrors(ldapResult, output); List<LdapUser> ldapUsers = (List<LdapUser>) ldapResult.getReturnValue(); List<ExtMap> results = new ArrayList<>(); for (LdapUser ldapUser : ldapUsers) { @@ -355,4 +358,13 @@ return result; } + public void checkForErrors(LdapReturnValueBase ldapResult, ExtMap output) { + if (!ldapResult.getSucceeded()) { + output.mput( + Base.InvokeKeys.RESULT, Base.InvokeResult.FAILED + ).mput( + Base.InvokeKeys.MESSAGE, ldapResult.getExceptionString() + ); + } + } } diff --git a/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/LdapBrokerCommandBase.java b/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/LdapBrokerCommandBase.java index 6f79546..dc4bc47 100644 --- a/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/LdapBrokerCommandBase.java +++ b/backend/manager/modules/builtin-extensions/src/main/java/org/ovirt/engine/extensions/aaa/builtin/kerberosldap/LdapBrokerCommandBase.java @@ -101,20 +101,24 @@ @Override public LdapReturnValueBase execute() { boolean exceptionOccurred = true; + DirectorySearcher directorySearcher = null; try { log.debug("Running LDAP command: {}", getClass().getName()); String loginNameForKerberos = LdapBrokerUtils.modifyLoginNameForKerberos(getLoginName(), getAuthenticationDomain(), configuration); LdapCredentials ldapCredentials = new LdapCredentials(loginNameForKerberos, getPassword()); - DirectorySearcher directorySearcher = new DirectorySearcher(configuration, ldapCredentials); + directorySearcher = new DirectorySearcher(configuration, ldapCredentials); executeQuery(directorySearcher); exceptionOccurred = directorySearcher.getException() != null; - } - finally { + } finally { if (exceptionOccurred) { log.error("Failed to run command {}. Domain is {}. User is {}.", getClass().getSimpleName(), getDomain(), getLoginName()); - _ldapReturnValue.setExceptionString(VdcBllMessages.FAILED_TO_RUN_LDAP_QUERY.name()); + _ldapReturnValue.setExceptionString( + directorySearcher != null ? + directorySearcher.getException().getMessage() : + VdcBllMessages.FAILED_TO_RUN_LDAP_QUERY.name() + ); _ldapReturnValue.setSucceeded(false); } } -- To view, visit http://gerrit.ovirt.org/34852 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Idb1d19d8642ad2aaccd56ada23bebf12f540bf38 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Ondřej Macháček <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
