[jboss-cvs] JBossAS SVN: r85564 - in projects/aop/trunk/asintegration-mc/src: test/java/org/jboss/test/aop/classpool/jbosscl/test and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Mar 6 12:47:23 EST 2009


Author: kabir.khan at jboss.com
Date: 2009-03-06 12:47:23 -0500 (Fri, 06 Mar 2009)
New Revision: 85564

Modified:
   projects/aop/trunk/asintegration-mc/src/main/java/org/jboss/aop/classpool/jbosscl/JBossClClassPoolDomain.java
   projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/test/JBossClClassPoolTestDelegate.java
Log:
[JBAOP-709] Security

Modified: projects/aop/trunk/asintegration-mc/src/main/java/org/jboss/aop/classpool/jbosscl/JBossClClassPoolDomain.java
===================================================================
--- projects/aop/trunk/asintegration-mc/src/main/java/org/jboss/aop/classpool/jbosscl/JBossClClassPoolDomain.java	2009-03-06 17:43:48 UTC (rev 85563)
+++ projects/aop/trunk/asintegration-mc/src/main/java/org/jboss/aop/classpool/jbosscl/JBossClClassPoolDomain.java	2009-03-06 17:47:23 UTC (rev 85564)
@@ -21,6 +21,9 @@
 */ 
 package org.jboss.aop.classpool.jbosscl;
 
+import java.security.AccessController;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
@@ -203,16 +206,26 @@
       return new ArrayList<DelegatingClassPool>(poolSet);
    }
 
-   private CtClass getCtClassFromModule(Module module, String classname, boolean trace)
+   private CtClass getCtClassFromModule(final Module module, final String classname, boolean trace)
    {
-      Module found;
+      Module found = null;
       try
       {
-         found = module.getModuleForClass(ClassLoaderUtils.stripArrayFromClassName(classname));
+         found = AccessController.doPrivileged(new PrivilegedExceptionAction<Module>()
+         {
+         
+            public Module run() throws Exception
+            {
+               return module.getModuleForClass(ClassLoaderUtils.stripArrayFromClassName(classname));
+            }
+         });
       }
-      catch (ClassNotFoundException e1)
+      catch (PrivilegedActionException e)
       {
-         throw new RuntimeException(e1);
+         if (e.getCause() instanceof ClassNotFoundException == false)
+         {
+            throw new RuntimeException(e);
+         }
       }
 
       if (trace) logger.trace(this + " module for " + classname + " " + found);

Modified: projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/test/JBossClClassPoolTestDelegate.java
===================================================================
--- projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/test/JBossClClassPoolTestDelegate.java	2009-03-06 17:43:48 UTC (rev 85563)
+++ projects/aop/trunk/asintegration-mc/src/test/java/org/jboss/test/aop/classpool/jbosscl/test/JBossClClassPoolTestDelegate.java	2009-03-06 17:47:23 UTC (rev 85564)
@@ -34,8 +34,8 @@
    public JBossClClassPoolTestDelegate(Class<?> clazz) throws Exception
    {
       super(clazz);
-      String property = System.getProperty("jboss.aop.secure", "true");
-      boolean enableSecurity = Boolean.valueOf(property).booleanValue();
-      this.enableSecurity = enableSecurity;
+//      String property = System.getProperty("jboss.aop.secure", "true");
+//      boolean enableSecurity = Boolean.valueOf(property).booleanValue();
+//      this.enableSecurity = enableSecurity;
    }
 }




More information about the jboss-cvs-commits mailing list