You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by is...@apache.org on 2019/12/25 04:43:26 UTC
[tomcat] 01/02: BZ-63691 Skip all jar scanning if wildcard pattern
is used
This is an automated email from the ASF dual-hosted git repository.
isapir pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit d9d502d3ec0d47ae0db8917a833c4300aa0a3925
Author: Igal Sapir <is...@apache.org>
AuthorDate: Tue Dec 24 20:40:16 2019 -0800
BZ-63691 Skip all jar scanning if wildcard pattern is used
---
java/org/apache/tomcat/util/scan/StandardJarScanFilter.java | 7 +++++++
java/org/apache/tomcat/util/scan/StandardJarScanner.java | 11 +++++++++++
2 files changed, 18 insertions(+)
diff --git a/java/org/apache/tomcat/util/scan/StandardJarScanFilter.java b/java/org/apache/tomcat/util/scan/StandardJarScanFilter.java
index 84d3725..65389d9 100644
--- a/java/org/apache/tomcat/util/scan/StandardJarScanFilter.java
+++ b/java/org/apache/tomcat/util/scan/StandardJarScanFilter.java
@@ -36,11 +36,13 @@ public class StandardJarScanFilter implements JarScanFilter {
private static final String defaultScan;
private static final Set<String> defaultSkipSet = new HashSet<>();
private static final Set<String> defaultScanSet = new HashSet<>();
+ private static final boolean defaultSkipAll;
static {
// Initialize defaults. There are no setter methods for them.
defaultSkip = System.getProperty(Constants.SKIP_JARS_PROPERTY);
populateSetFromAttribute(defaultSkip, defaultSkipSet);
+ defaultSkipAll = defaultSkipSet.contains("*") || defaultSkipSet.contains("*.jar");
defaultScan = System.getProperty(Constants.SCAN_JARS_PROPERTY);
populateSetFromAttribute(defaultScan, defaultScanSet);
}
@@ -132,6 +134,11 @@ public class StandardJarScanFilter implements JarScanFilter {
}
+ public boolean isSkipAll() {
+ return defaultSkipAll;
+ }
+
+
public boolean isDefaultTldScan() {
return defaultTldScan;
}
diff --git a/java/org/apache/tomcat/util/scan/StandardJarScanner.java b/java/org/apache/tomcat/util/scan/StandardJarScanner.java
index 9b12ce9..402870d 100644
--- a/java/org/apache/tomcat/util/scan/StandardJarScanner.java
+++ b/java/org/apache/tomcat/util/scan/StandardJarScanner.java
@@ -171,6 +171,11 @@ public class StandardJarScanner implements JarScanner {
log.trace(sm.getString("jarScan.webinflibStart"));
}
+ if (jarScanFilter instanceof StandardJarScanFilter) {
+ if (((StandardJarScanFilter) jarScanFilter).isSkipAll())
+ return;
+ }
+
Set<URL> processedURLs = new HashSet<>();
// Scan WEB-INF/lib
@@ -282,6 +287,12 @@ public class StandardJarScanner implements JarScanner {
protected void processURLs(JarScanType scanType, JarScannerCallback callback,
Set<URL> processedURLs, boolean isWebapp, Deque<URL> classPathUrlsToProcess) {
+
+ if (jarScanFilter instanceof StandardJarScanFilter) {
+ if (((StandardJarScanFilter) jarScanFilter).isSkipAll())
+ return;
+ }
+
while (!classPathUrlsToProcess.isEmpty()) {
URL url = classPathUrlsToProcess.pop();
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org