Fix additional issue related to https://issues.apache.org/bugzilla/show_bug.cgi?id...
authormarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Wed, 9 Sep 2009 16:01:21 +0000 (16:01 +0000)
committermarkt <markt@13f79535-47bb-0310-9956-ffa450edef68>
Wed, 9 Sep 2009 16:01:21 +0000 (16:01 +0000)
Exclude directories named *.jar for the extension validator
Also simplify isDirectory() check as that includes exists()
Based on a patch by Rolf Wojtech

git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@813013 13f79535-47bb-0310-9956-ffa450edef68

java/org/apache/catalina/util/ExtensionValidator.java

index 3d88d89..88fcc9e 100644 (file)
@@ -91,7 +91,7 @@ public final class ExtensionValidator {
             String classpathItem = strTok.nextToken();
             if (classpathItem.toLowerCase().endsWith(".jar")) {
                 File item = new File(classpathItem);
-                if (item.exists()) {
+                if (item.isFile()) {
                     try {
                         addSystemResource(item);
                     } catch (IOException e) {
@@ -409,12 +409,13 @@ public final class ExtensionValidator {
                 = new StringTokenizer(extensionsDir, File.pathSeparator);
             while (extensionsTok.hasMoreTokens()) {
                 File targetDir = new File(extensionsTok.nextToken());
-                if (!targetDir.exists() || !targetDir.isDirectory()) {
+                if (!targetDir.isDirectory()) {
                     continue;
                 }
                 File[] files = targetDir.listFiles();
                 for (int i = 0; i < files.length; i++) {
-                    if (files[i].getName().toLowerCase().endsWith(".jar")) {
+                    if (files[i].getName().toLowerCase().endsWith(".jar") &&
+                            files[i].isFile()) {
                         try {
                             addSystemResource(files[i]);
                         } catch (IOException e) {