Author: markt Date: Fri Jan 4 17:06:12 2019 New Revision: 1850403 URL: http://svn.apache.org/viewvc?rev=1850403&view=rev Log: Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=63056 Correct a regression in the fix for bug 53737 that did not correctly scan the web application directory structure for JSPs.
Modified: tomcat/trunk/java/org/apache/jasper/JspC.java tomcat/trunk/java/org/apache/jasper/servlet/JspCServletContext.java tomcat/trunk/test/org/apache/jasper/servlet/TestJspCServletContext.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/jasper/JspC.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/JspC.java?rev=1850403&r1=1850402&r2=1850403&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/JspC.java (original) +++ tomcat/trunk/java/org/apache/jasper/JspC.java Fri Jan 4 17:06:12 2019 @@ -1426,13 +1426,13 @@ public class JspC extends Task implement Set<String> paths = context.getResourcePaths(input); for (String path : paths) { if (path.endsWith("/")) { - scanFilesInternal(input.substring(0, input.length() -1) + path); - } else if (jspConfig.isJspPage(input + path)) { + scanFilesInternal(path); + } else if (jspConfig.isJspPage(path)) { pages.add(path); } else { String ext = path.substring(path.lastIndexOf('.') + 1); if (extensions.contains(ext)) { - pages.add(input + path.substring(1)); + pages.add(path); } } } Modified: tomcat/trunk/java/org/apache/jasper/servlet/JspCServletContext.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/servlet/JspCServletContext.java?rev=1850403&r1=1850402&r2=1850403&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/servlet/JspCServletContext.java (original) +++ tomcat/trunk/java/org/apache/jasper/servlet/JspCServletContext.java Fri Jan 4 17:06:12 2019 @@ -475,11 +475,11 @@ public class JspCServletContext implemen // Let the Set implementation handle duplicates int sep = entryName.indexOf("/", jarPath.length()); if (sep < 0) { - // This is a file - thePaths.add(entryName.substring(jarPath.length() - 1)); + // This is a file - strip leading "META-INF/resources" + thePaths.add(entryName.substring(18)); } else { - // This is a directory - thePaths.add(entryName.substring(jarPath.length() - 1, sep + 1)); + // This is a directory - strip leading "META-INF/resources" + thePaths.add(entryName.substring(18, sep + 1)); } } } Modified: tomcat/trunk/test/org/apache/jasper/servlet/TestJspCServletContext.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/jasper/servlet/TestJspCServletContext.java?rev=1850403&r1=1850402&r2=1850403&view=diff ============================================================================== --- tomcat/trunk/test/org/apache/jasper/servlet/TestJspCServletContext.java (original) +++ tomcat/trunk/test/org/apache/jasper/servlet/TestJspCServletContext.java Fri Jan 4 17:06:12 2019 @@ -141,7 +141,7 @@ public class TestJspCServletContext { null, appDir.toURI().toURL(), null, false, false); Set<String> paths = context.getResourcePaths("/"); - Assert.assertEquals(paths.size(), 10); + Assert.assertEquals(10, paths.size()); Assert.assertTrue(paths.contains("/WEB-INF/")); Assert.assertTrue(paths.contains("/folder/")); Assert.assertTrue(paths.contains("/'singlequote.jsp")); @@ -152,5 +152,11 @@ public class TestJspCServletContext { Assert.assertTrue(paths.contains("/resourceB.jsp")); Assert.assertTrue(paths.contains("/resourceF.jsp")); Assert.assertTrue(paths.contains("/warDirContext.jsp")); + + paths = context.getResourcePaths("/folder/"); + Assert.assertEquals(3, paths.size()); + Assert.assertTrue(paths.contains("/folder/resourceC.jsp")); + Assert.assertTrue(paths.contains("/folder/resourceD.jsp")); + Assert.assertTrue(paths.contains("/folder/resourceE.jsp")); } } Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1850403&r1=1850402&r2=1850403&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Fri Jan 4 17:06:12 2019 @@ -104,6 +104,15 @@ </fix> </changelog> </subsection> + <subsection name="Jasper"> + <changelog> + <fix> + <bug>63056</bug>: Correct a regression in the fix for <bug>53737</bug> + that did not correctly scan the web application directory structure for + JSPs. (markt) + </fix> + </changelog> + </subsection> <subsection name="WebSocket"> <changelog> <fix> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org