[Carbon-commits] [Carbon] svn commit r116138 - trunk/carbon/core/org.wso2.carbon.bootstrap/src/main/java/org/wso2/carbon/bootstrap

pradeeban at wso2.com pradeeban at wso2.com
Fri Nov 25 01:09:53 EST 2011


Author: pradeeban
Date: Thu Nov 24 22:09:53 2011
New Revision: 116138
URL: http://wso2.org/svn/browse/wso2?view=rev&revision=116138

Log:
Fixes CARBON-11626.


Modified:
   trunk/carbon/core/org.wso2.carbon.bootstrap/src/main/java/org/wso2/carbon/bootstrap/CarbonSecurityManager.java

Modified: trunk/carbon/core/org.wso2.carbon.bootstrap/src/main/java/org/wso2/carbon/bootstrap/CarbonSecurityManager.java
URL: http://wso2.org/svn/browse/wso2/trunk/carbon/core/org.wso2.carbon.bootstrap/src/main/java/org/wso2/carbon/bootstrap/CarbonSecurityManager.java?rev=116138&r1=116137&r2=116138&view=diff
==============================================================================
--- trunk/carbon/core/org.wso2.carbon.bootstrap/src/main/java/org/wso2/carbon/bootstrap/CarbonSecurityManager.java	(original)
+++ trunk/carbon/core/org.wso2.carbon.bootstrap/src/main/java/org/wso2/carbon/bootstrap/CarbonSecurityManager.java	Thu Nov 24 22:09:53 2011
@@ -76,6 +76,32 @@
         super.checkPropertyAccess(key);
     }
 
+    public void checkPackageAccess(String pkg) {
+        super.checkPackageAccess(pkg);
+        if (isLog4jLoadedByAWebapp(pkg)) {
+            throw new AccessControlException("Web Application is trying to load log4j which " +
+                    "is not allowed..");
+        }
+    }
+ 
+    private boolean isLog4jLoadedByAWebapp(String pkg) {
+        boolean log4jLoaded = false;
+
+        if (pkg.startsWith("org.apache.log4j")) {
+            StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
+            boolean isCatalina = false;
 
+            for (StackTraceElement stackTraceElement : stackTraceElements) {
+                String caller = stackTraceElement.getClassName();
+                if (caller.contains("org.apache.catalina.core")) {
+                    isCatalina = true;
+                }
+            }
+            if (isCatalina) {
+                log4jLoaded = true;
+            }
+        }
+        return log4jLoaded;
+    }
 
 }


More information about the Carbon-commits mailing list