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: [email protected]
For additional commands, e-mail: [email protected]