You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2013/08/07 11:16:31 UTC

svn commit: r1511217 - /tomcat/trunk/java/org/apache/catalina/core/ApplicationContextFacade.java

Author: markt
Date: Wed Aug  7 09:16:31 2013
New Revision: 1511217

URL: http://svn.apache.org/r1511217
Log:
When using a security manager always use the same method inside the doPrivileged call as triggered the call. This fixes an startup failure when running 8.0.x under a security manager as it uses a listener that does not have a zero arg constructor.

Modified:
    tomcat/trunk/java/org/apache/catalina/core/ApplicationContextFacade.java

Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationContextFacade.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationContextFacade.java?rev=1511217&r1=1511216&r2=1511217&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/ApplicationContextFacade.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/ApplicationContextFacade.java Wed Aug  7 09:16:31 2013
@@ -462,7 +462,8 @@ public class ApplicationContextFacade im
             Class<? extends Filter> filterClass) {
         if (SecurityUtil.isPackageProtectionEnabled()) {
             return (FilterRegistration.Dynamic) doPrivileged("addFilter",
-                    new Object[]{filterName, filterClass.getName()});
+                    new Class[]{String.class, Class.class},
+                    new Object[]{filterName, filterClass});
         } else {
             return context.addFilter(filterName, filterClass);
         }
@@ -530,7 +531,8 @@ public class ApplicationContextFacade im
             Class<? extends Servlet> servletClass) {
         if (SecurityUtil.isPackageProtectionEnabled()) {
             return (ServletRegistration.Dynamic) doPrivileged("addServlet",
-                    new Object[]{servletName, servletClass.getName()});
+                    new Class[]{String.class, Class.class},
+                    new Object[]{servletName, servletClass});
         } else {
             return context.addServlet(servletName, servletClass);
         }
@@ -630,7 +632,8 @@ public class ApplicationContextFacade im
     public void addListener(Class<? extends EventListener> listenerClass) {
         if (SecurityUtil.isPackageProtectionEnabled()) {
             doPrivileged("addListener",
-                    new Object[]{listenerClass.getName()});
+                    new Class[]{Class.class},
+                    new Object[]{listenerClass});
         } else {
             context.addListener(listenerClass);
         }
@@ -652,7 +655,8 @@ public class ApplicationContextFacade im
     public <T extends EventListener> void addListener(T t) {
         if (SecurityUtil.isPackageProtectionEnabled()) {
             doPrivileged("addListener",
-                    new Object[]{t.getClass().getName()});
+                    new Class[]{EventListener.class},
+                    new Object[]{t});
         } else {
             context.addListener(t);
         }
@@ -683,9 +687,7 @@ public class ApplicationContextFacade im
     @Override
     public void declareRoles(String... roleNames) {
         if (SecurityUtil.isPackageProtectionEnabled()) {
-//FIXME
-            doPrivileged("declareRoles",
-                    new Object[]{roleNames});
+            doPrivileged("declareRoles", new Object[]{roleNames});
         } else {
             context.declareRoles(roleNames);
         }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org