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

Reply via email to