You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org> on 2007/09/29 17:56:51 UTC
[jira] Resolved: (TAPESTRY-1655) StaticFilesFilter dot (".")
heuristic also matches sub-component event URLs
[ https://issues.apache.org/jira/browse/TAPESTRY-1655?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Howard M. Lewis Ship resolved TAPESTRY-1655.
--------------------------------------------
Resolution: Duplicate
Assignee: Howard M. Lewis Ship
> StaticFilesFilter dot (".") heuristic also matches sub-component event URLs
> ---------------------------------------------------------------------------
>
> Key: TAPESTRY-1655
> URL: https://issues.apache.org/jira/browse/TAPESTRY-1655
> Project: Tapestry
> Issue Type: Bug
> Components: tapestry-core
> Affects Versions: 5.0.5
> Reporter: Nick Westgate
> Assignee: Howard M. Lewis Ship
>
> From the source of StaticFilesFilter:
> "
> // We are making the questionable assumption that all files to be vended out will contain
> // an extension (with a dot seperator). Without this, the filter tends to match against
> // folder names when we don't want it to (especially for the root context path).
> if (path.contains("."))
> "
> This unfortunately also matches sub-component event URLs such as:
> http://localhost:8080/kzoku/mypage.chart_0:CHART/1
> It is mainly an annoyance in terms of performance and verbose error logging, since such a resource will not be found, and Jetty will log:
> 2007/07/19 16:45:14,500 WARN (util.Credential) - EXCEPTION
> java.io.IOException: The filename, directory name, or volume label syntax is incorrect
> at java.io.WinNTFileSystem.canonicalize0(Native Method)
> at java.io.Win32FileSystem.canonicalize(Win32FileSystem.java:395)
> at java.io.File.getCanonicalPath(File.java:531)
> at org.mortbay.util.FileResource.getAlias(FileResource.java:176)
> at org.mortbay.http.ResourceCache.getResource(ResourceCache.java:252)
> at org.mortbay.http.HttpContext.getResource(HttpContext.java:2118)
> at org.mortbay.jetty.servlet.WebApplicationContext.getResource(WebApplicationContext.java:785)
> at org.mortbay.jetty.servlet.ServletHandler.getResource(ServletHandler.java:735)
> at org.mortbay.jetty.servlet.ServletHandler$Context.getResource(ServletHandler.java:1082)
> at org.apache.tapestry.internal.services.ContextImpl.getResource(ContextImpl.java:44)
> at $Context_113dd6f0f1b.getResource($Context_113dd6f0f1b.java)
> at $Context_113dd6f0f14.getResource($Context_113dd6f0f14.java)
> at org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:57)
> at $RequestHandler_113dd6f0f1a.service($RequestHandler_113dd6f0f1a.java)
> at org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:97)
> at org.apache.tapestry.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:88)
> at org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
> at org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:110)
> at $RequestHandler_113dd6f0f1a.service($RequestHandler_113dd6f0f1a.java)
> at $RequestHandler_113dd6f0f11.service($RequestHandler_113dd6f0f11.java)
> at org.apache.tapestry.services.TapestryModule$11.service(TapestryModule.java:1044)
> at $HttpServletRequestHandler_113dd6f0f10.service($HttpServletRequestHandler_113dd6f0f10.java)
> at org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:135)
> at org.mortbay.jetty.servlet.WebApplicationHandler$CachedChain.doFilter(WebApplicationHandler.java:821)
> at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:471)
> at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:568)
> at org.mortbay.http.HttpContext.handle(HttpContext.java:1530)
> at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:633)
> at org.mortbay.http.HttpContext.handle(HttpContext.java:1482)
> at org.mortbay.http.HttpServer.service(HttpServer.java:909)
> at org.mortbay.http.HttpConnection.service(HttpConnection.java:820)
> at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:986)
> at org.mortbay.http.HttpConnection.handle(HttpConnection.java:837)
> at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:245)
> at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:357)
> at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:534)
> 2007/07/19 16:45:14,531 WARN (http.ResourceCache) - Alias request of
> 'file:/D:/Nick/Dev/Eclipse%203.2/kzoku/src/main/webapp/mypage.chart_0:CHART/1' for
> 'file:/D:/Nick/Dev/Eclipse%203.2/kzoku/src/main/webapp/mypage.chart_0:CHART/1'
> Cheers,
> Nick.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org