Author: markt
Date: Mon Dec 11 17:47:03 2017
New Revision: 1817800

URL: http://svn.apache.org/viewvc?rev=1817800&view=rev
Log:
Pre-load additional classes to prevent SecurityExceptions if the first request 
received when running under a security manager is an asynchronous servlet.

Modified:
    
tomcat/tc7.0.x/trunk/java/org/apache/catalina/security/SecurityClassLoad.java
    tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml

Modified: 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/security/SecurityClassLoad.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/java/org/apache/catalina/security/SecurityClassLoad.java?rev=1817800&r1=1817799&r2=1817800&view=diff
==============================================================================
--- 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/security/SecurityClassLoad.java 
(original)
+++ 
tomcat/tc7.0.x/trunk/java/org/apache/catalina/security/SecurityClassLoad.java 
Mon Dec 11 17:47:03 2017
@@ -163,6 +163,10 @@ public final class SecurityClassLoad {
     private static final void loadCoyotePackage(ClassLoader loader)
             throws Exception {
         final String basePackage = "org.apache.coyote.";
+        // Classes created by the Java 6 compiler because we use switch with 
an enum
+        loader.loadClass(basePackage + "http11.Http11Processor$1");
+        loader.loadClass(basePackage + "http11.Http11NioProcessor$1");
+        loader.loadClass(basePackage + "http11.Http11AprProcessor$1");
         loader.loadClass(basePackage + "http11.AbstractOutputBuffer$1");
         loader.loadClass(basePackage + "http11.Constants");
         // Make sure system property is read at this point
@@ -292,6 +296,7 @@ public final class SecurityClassLoad {
                 "util.net.NioBlockingSelector$BlockPoller$2");
         loader.loadClass(basePackage +
                 "util.net.NioBlockingSelector$BlockPoller$3");
+        loader.loadClass(basePackage + "util.net.SendfileState");
         loader.loadClass(basePackage + "util.net.SSLSupport$CipherData");
         // security
         loader.loadClass(basePackage + "util.security.PrivilegedGetTccl");

Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1817800&r1=1817799&r2=1817800&view=diff
==============================================================================
--- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Mon Dec 11 17:47:03 2017
@@ -58,6 +58,15 @@
   issues do not "pop up" wrt. others).
 -->
 <section name="Tomcat 7.0.84 (violetagg)">
+  <subsection name="Catalina">
+    <changelog>
+      <fix>
+        Pre-load additional classes to prevent <code>SecurityException</code>s
+        if the first request received when running under a
+        <code>SecurityManager</code> is an asynchronous Servlet. (markt)
+      </fix>
+    </changelog>
+  </subsection>
   <subsection name="Web applications">
     <changelog>
       <add>



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

Reply via email to