Author: rjung
Date: Mon Jan 25 15:02:32 2016
New Revision: 1726637

URL: http://svn.apache.org/viewvc?rev=1726637&view=rev
Log:
Make class loader filter patterns a bit more
efficient.

Combine common "javax" prefix.

Dot and slash can be handled as character
classes, no need for alterantive captures.

In addition make all alternatives
non-capturing using "?:".

Modified:
    tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java

Modified: 
tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java?rev=1726637&r1=1726636&r2=1726637&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java 
(original)
+++ tomcat/trunk/java/org/apache/catalina/loader/WebappClassLoaderBase.java Mon 
Jan 25 15:02:32 2016
@@ -195,11 +195,8 @@ public abstract class WebappClassLoaderB
      * from a webapp class loader without delegating first.
      */
     protected final Matcher packageTriggersDeny = Pattern.compile(
-            "^javax(\\.|/)el(\\.|/)|" +
-            "^javax(\\.|/)security(\\.|/)auth(\\.|/)message(\\.|/)|" +
-            "^javax(\\.|/)servlet(\\.|/)|" +
-            "^javax(\\.|/)websocket(\\.|/)|" +
-            
"^org(\\.|/)apache(\\.|/)(catalina|coyote|el|jasper|juli|naming|tomcat)(\\.|/)"
+            
"^(?:javax[./](?:el|security[./]auth[./]message|servlet|websocket)|" +
+            
"org[./]apache[./](?:catalina|coyote|el|jasper|juli|naming|tomcat))[./]"
             ).matcher("");
 
 
@@ -209,8 +206,8 @@ public abstract class WebappClassLoaderB
      * {@link #packageTriggersDeny}.
      */
     protected final Matcher packageTriggersPermit =
-            
Pattern.compile("^javax(\\.|/)servlet(\\.|/)jsp(\\.|/)jstl(\\.|/)|" +
-                    
"^org(\\.|/)apache(\\.|/)tomcat(\\.|/)jdbc(\\.|/)").matcher("");
+            Pattern.compile("^(?:javax[./]servlet[./]jsp[./]jstl|" +
+                    "org[./]apache[./]tomcat[./]jdbc)[./]").matcher("");
 
 
     /**



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

Reply via email to