tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ma...@apache.org
Subject svn commit: r701358 - /tomcat/trunk/java/org/apache/naming/resources/FileDirContext.java
Date Fri, 03 Oct 2008 12:09:17 GMT
Author: markt
Date: Fri Oct  3 05:09:16 2008
New Revision: 701358

URL: http://svn.apache.org/viewvc?rev=701358&view=rev
Log:
Better fix for https://issues.apache.org/bugzilla/show_bug.cgi?id=45403
With this patch, the allowLinking flag applies to all web application resources. It is very
slightly slower. On my machine with allowLinking=false, the change to line 899 increases the
time from ~7 microseconds to create the file to ~70 microseconds to create and validate the
file. As far as I can tell, this change is only going to affect context start times. If directory
listings are enabled in the default servlet, they will also be slightly slower but they were
horribly slow to start with.

Modified:
    tomcat/trunk/java/org/apache/naming/resources/FileDirContext.java

Modified: tomcat/trunk/java/org/apache/naming/resources/FileDirContext.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/naming/resources/FileDirContext.java?rev=701358&r1=701357&r2=701358&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/naming/resources/FileDirContext.java (original)
+++ tomcat/trunk/java/org/apache/naming/resources/FileDirContext.java Fri Oct  3 05:09:16
2008
@@ -819,6 +819,15 @@
     protected File file(String name) {
 
         File file = new File(base, name);
+        return validate(file);
+
+    }
+
+
+    /*
+     * Check that the file is valid for this context
+     */
+    private File validate(File file) {
         if (file.exists() && file.canRead()) {
 
         	if (allowLinking)
@@ -896,7 +905,9 @@
 
         for (int i = 0; i < names.length; i++) {
 
-            File currentFile = new File(file, names[i]);
+            File currentFile = validate(new File(file, names[i]));
+            if (currentFile == null) continue;
+            
             Object object = null;
             if (currentFile.isDirectory()) {
                 FileDirContext tempContext = new FileDirContext(env);



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


Mime
View raw message