remm 02/03/16 16:03:13 Modified: catalina/src/share/org/apache/naming/resources FileDirContext.java Log: - Fix an off-by-one bug in the canonicalization code. Somehow it was failing only on JDK 1.3, but not on 1.4.0, and somehow 4.0.x works fine (so I don't plan to fix it). Revision Changes Path 1.13 +8 -16 jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/FileDirContext.java Index: FileDirContext.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/FileDirContext.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- FileDirContext.java 14 Mar 2002 20:55:47 -0000 1.12 +++ FileDirContext.java 17 Mar 2002 00:03:13 -0000 1.13 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/FileDirContext.java,v 1.12 2002/03/14 20:55:47 remm Exp $ - * $Revision: 1.12 $ - * $Date: 2002/03/14 20:55:47 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/naming/resources/FileDirContext.java,v 1.13 2002/03/17 00:03:13 remm Exp $ + * $Revision: 1.13 $ + * $Date: 2002/03/17 00:03:13 $ * * ==================================================================== * @@ -99,7 +99,7 @@ * Filesystem Directory Context implementation helper class. * * @author Remy Maucherat - * @version $Revision: 1.12 $ $Date: 2002/03/14 20:55:47 $ + * @version $Revision: 1.13 $ $Date: 2002/03/17 00:03:13 $ */ public class FileDirContext extends BaseDirContext { @@ -854,15 +854,6 @@ */ protected File file(String name) { -/* - name = normalize(name); - if (name == null) - return (null); - - if (File.separatorChar == '\\') - name = name.replace('/', File.separatorChar); -*/ - File file = new File(base, name); if (file.exists() && file.canRead()) { @@ -875,8 +866,9 @@ if (canPath == null) return null; - if (!canPath.startsWith(absoluteBase)) + if (!canPath.startsWith(absoluteBase)) { return null; + } // Windows only check if ((caseSensitive) && (File.separatorChar == '\\')) { @@ -888,12 +880,12 @@ canPath = normalize(canPath); if ((absoluteBase.length() < absPath.length()) && (absoluteBase.length() < canPath.length())) { - absPath = absPath.substring(absoluteBase.length()); + absPath = absPath.substring(absoluteBase.length() + 1); if ((canPath == null) || (absPath == null)) return null; if (absPath.equals("")) absPath = "/"; - canPath = canPath.substring(absoluteBase.length()); + canPath = canPath.substring(absoluteBase.length() + 1); if (canPath.equals("")) canPath = "/"; if (!canPath.equals(absPath))
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>