Alon Bar-Lev has uploaded a new change for review. Change subject: aaa: fix misc null pointer exceptions ......................................................................
aaa: fix misc null pointer exceptions Topic: AAA Change-Id: Ifcd2c3c8dcc0989951d6274bb3d75d7f93c8c728 Signed-off-by: Alon Bar-Lev <alo...@redhat.com> --- M backend/manager/modules/aaa/src/main/java/org/ovirt/engine/core/aaa/AuthzUtils.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/LoginBaseCommand.java M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/LogoutUserCommand.java 3 files changed, 47 insertions(+), 43 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/94/28194/1 diff --git a/backend/manager/modules/aaa/src/main/java/org/ovirt/engine/core/aaa/AuthzUtils.java b/backend/manager/modules/aaa/src/main/java/org/ovirt/engine/core/aaa/AuthzUtils.java index da3ed56..2ea10b5 100644 --- a/backend/manager/modules/aaa/src/main/java/org/ovirt/engine/core/aaa/AuthzUtils.java +++ b/backend/manager/modules/aaa/src/main/java/org/ovirt/engine/core/aaa/AuthzUtils.java @@ -175,21 +175,20 @@ final ExtMap input, final QueryResultHandler handler ) { - Object opaque = null; - try { - for (String namespace : extension.getContext().<List<String>>get(Authz.ContextKeys.AVAILABLE_NAMESPACES)) { - opaque = extension.invoke( - new ExtMap().mput( - Base.InvokeKeys.COMMAND, - Authz.InvokeCommands.QUERY_OPEN - ).mput( - Authz.InvokeKeys.NAMESPACE, - namespace - ).mput( - input - ) - ).get(Authz.InvokeKeys.QUERY_OPAQUE); - List<ExtMap> result = null; + for (String namespace : extension.getContext().<List<String>>get(Authz.ContextKeys.AVAILABLE_NAMESPACES)) { + Object opaque = extension.invoke( + new ExtMap().mput( + Base.InvokeKeys.COMMAND, + Authz.InvokeCommands.QUERY_OPEN + ).mput( + Authz.InvokeKeys.NAMESPACE, + namespace + ).mput( + input + ) + ).get(Authz.InvokeKeys.QUERY_OPAQUE); + List<ExtMap> result = null; + try { do { result = extension.invoke(new ExtMap().mput( Base.InvokeKeys.COMMAND, @@ -203,21 +202,21 @@ ) ).get(Authz.InvokeKeys.QUERY_RESULT); } while (result != null && handler.handle(result)); - - // no conditional in for-in - if (result != null) { - break; - } + } finally { + extension.invoke(new ExtMap().mput( + Base.InvokeKeys.COMMAND, + Authz.InvokeCommands.QUERY_CLOSE + ).mput( + Authz.InvokeKeys.QUERY_OPAQUE, + opaque + ) + ); } - } finally { - extension.invoke(new ExtMap().mput( - Base.InvokeKeys.COMMAND, - Authz.InvokeCommands.QUERY_CLOSE - ).mput( - Authz.InvokeKeys.QUERY_OPAQUE, - opaque - ) - ); + + // no conditional in for-in + if (result != null) { + break; + } } } diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/LoginBaseCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/LoginBaseCommand.java index 1634877..b71271a 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/LoginBaseCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/LoginBaseCommand.java @@ -345,7 +345,10 @@ password )); - SessionDataContainer.getInstance().setPrincipal(outputMap.<String> get(Authn.InvokeKeys.PRINCIPAL)); + String principal = outputMap.<String> get(Authn.InvokeKeys.PRINCIPAL); + if (principal != null) { + SessionDataContainer.getInstance().setPrincipal(principal); + } int authResult = outputMap.<Integer>get(Authn.InvokeKeys.RESULT); if (authResult != Authn.AuthResult.SUCCESS) { log.infoFormat( diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/LogoutUserCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/LogoutUserCommand.java index a1273d4..d0cfe59 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/LogoutUserCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/LogoutUserCommand.java @@ -32,20 +32,22 @@ protected void executeCommand() { ExtensionProxy authn = SessionDataContainer.getInstance().getAuthn(); - if ((authn.getContext().<Long> get(Authn.ContextKeys.CAPABILITIES) & Authn.Capabilities.LOGOUT) != 0) { - authn.invoke(new ExtMap().mput( - Base.InvokeKeys.COMMAND, - Authn.InvokeCommands.LOGOUT - ).mput( - Authn.InvokeKeys.PRINCIPAL, - SessionDataContainer.getInstance().getPrincipal() - )); - } + if (authn != null) { + if ((authn.getContext().<Long> get(Authn.ContextKeys.CAPABILITIES) & Authn.Capabilities.LOGOUT) != 0) { + authn.invoke(new ExtMap().mput( + Base.InvokeKeys.COMMAND, + Authn.InvokeCommands.LOGOUT + ).mput( + Authn.InvokeKeys.PRINCIPAL, + SessionDataContainer.getInstance().getPrincipal() + )); + } - if (!"".equals(getParameters().getSessionId())) { - SessionDataContainer.getInstance().removeSession(getParameters().getSessionId()); - } else { - SessionDataContainer.getInstance().removeSession(); + if (!"".equals(getParameters().getSessionId())) { + SessionDataContainer.getInstance().removeSession(getParameters().getSessionId()); + } else { + SessionDataContainer.getInstance().removeSession(); + } } setSucceeded(true); } -- To view, visit http://gerrit.ovirt.org/28194 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ifcd2c3c8dcc0989951d6274bb3d75d7f93c8c728 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Alon Bar-Lev <alo...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches