You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2014/08/23 08:23:08 UTC

[2/2] git commit: [KARAF-3114] Fix whitelist configadmin issue in the KarafMBeanServerGuard which prevented to use ManagementFactory.getPlatformMBeanServer() code

[KARAF-3114] Fix whitelist configadmin issue in the KarafMBeanServerGuard which prevented to use ManagementFactory.getPlatformMBeanServer() code


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/a2881fe1
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/a2881fe1
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/a2881fe1

Branch: refs/heads/karaf-3.0.x
Commit: a2881fe114f64ea11085521683fa2587c88727b1
Parents: cd4732b
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Sat Aug 23 08:22:00 2014 +0200
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Sat Aug 23 08:22:00 2014 +0200

----------------------------------------------------------------------
 .../apache/karaf/management/KarafMBeanServerGuard.java | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/a2881fe1/management/server/src/main/java/org/apache/karaf/management/KarafMBeanServerGuard.java
----------------------------------------------------------------------
diff --git a/management/server/src/main/java/org/apache/karaf/management/KarafMBeanServerGuard.java b/management/server/src/main/java/org/apache/karaf/management/KarafMBeanServerGuard.java
index 198c665..f129025 100644
--- a/management/server/src/main/java/org/apache/karaf/management/KarafMBeanServerGuard.java
+++ b/management/server/src/main/java/org/apache/karaf/management/KarafMBeanServerGuard.java
@@ -233,11 +233,14 @@ public class KarafMBeanServerGuard implements InvocationHandler {
     private boolean canBypassRBAC(ObjectName objectName) {
         List<String> allBypassObjectName = new ArrayList<String>();
         try {
-            for (Configuration config : configAdmin.listConfigurations("(service.pid=" + JMX_ACL_WHITELIST + ")")) {
-                Enumeration<String> keys = config.getProperties().keys();
-                while (keys.hasMoreElements()) {
-                    String element = keys.nextElement();
-                    allBypassObjectName.add(element);
+            Configuration[] configs = configAdmin.listConfigurations("(service.pid=" + JMX_ACL_WHITELIST + ")");
+            if (configs != null) {
+                for (Configuration config : configs) {
+                    Enumeration<String> keys = config.getProperties().keys();
+                    while (keys.hasMoreElements()) {
+                        String element = keys.nextElement();
+                        allBypassObjectName.add(element);
+                    }
                 }
             }
         } catch (InvalidSyntaxException ise) {