[jira] Assigned: (TAP5-758) Move TapestryTestConstants from tapestry-test into tapestry-core, so that non-selenium test code does not need to use tapestry-test
[ https://issues.apache.org/jira/browse/TAP5-758?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Igor Drobiazko reassigned TAP5-758: --- Assignee: Igor Drobiazko > Move TapestryTestConstants from tapestry-test into tapestry-core, so that > non-selenium test code does not need to use tapestry-test > --- > > Key: TAP5-758 > URL: https://issues.apache.org/jira/browse/TAP5-758 > Project: Tapestry 5 > Issue Type: Improvement > Components: tapestry-core, tapestry-test >Affects Versions: 5.1.0.5 >Reporter: Paul Field >Assignee: Igor Drobiazko > > The tapestry-test module is meant to be "just a couple of base classes to > make it easier to build integration test suites around Selenium.". > However, org.apache.tapestry5.internal.test.PageTesterContext for > tapestry-core uses TapestryTestConstants from tapestry-test. So it seems that > anyone doing any kind of tests requires the tapestry-test module and so also > imports all the selenium dependencies. > That dependency problem could be resolved by moving TapestryTestConstants > into tapestry-core. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Assigned: (TAP5-952) Make tapestry-core independent from test dependencies
[ https://issues.apache.org/jira/browse/TAP5-952?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Igor Drobiazko reassigned TAP5-952: --- Assignee: Igor Drobiazko > Make tapestry-core independent from test dependencies > - > > Key: TAP5-952 > URL: https://issues.apache.org/jira/browse/TAP5-952 > Project: Tapestry 5 > Issue Type: Improvement > Components: tapestry-core, tapestry-test >Affects Versions: 5.1.0.5 >Reporter: Igor Drobiazko >Assignee: Igor Drobiazko > > In tapestry-core we provide a few classes which depenend on EasyMock and > TestNG. This is very annoying when creating a Tapestry OSGi bundle with the > BND tool. > Following is needed: > - Move package org.apache.tapestry5.test from tapestry-core into tapestry-test > - Set scope of tapestry-test to test > This issue is conflicting with TAP5-758 -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (TAP5-952) Make tapestry-core independent from test dependencies
[ https://issues.apache.org/jira/browse/TAP5-952?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790601#action_12790601 ] Igor Drobiazko commented on TAP5-952: - Sure, I'll wait. What do you think about splitting tapestry-test into tapestry-test and tapestry-integration-test as suggested in TAP5-758 ? > Make tapestry-core independent from test dependencies > - > > Key: TAP5-952 > URL: https://issues.apache.org/jira/browse/TAP5-952 > Project: Tapestry 5 > Issue Type: Improvement > Components: tapestry-core, tapestry-test >Affects Versions: 5.1.0.5 >Reporter: Igor Drobiazko > > In tapestry-core we provide a few classes which depenend on EasyMock and > TestNG. This is very annoying when creating a Tapestry OSGi bundle with the > BND tool. > Following is needed: > - Move package org.apache.tapestry5.test from tapestry-core into tapestry-test > - Set scope of tapestry-test to test > This issue is conflicting with TAP5-758 -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (TAP5-940) Zone should fire a heart beat event
[ https://issues.apache.org/jira/browse/TAP5-940?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790542#action_12790542 ] mindhawk commented on TAP5-940: --- I have tried this, but I found that if I return zone from a event handler, everything is ok except there is another dive inside the previous one. But if I return zone.getBody(), the heartbeat mixin the zone sames does not work. So, I have write another Zone component myself: http://tapestry.apache.org/schema/tapestry_5_0_0.xsd";> It is works fine. The "heartbeat" component is a non-rendering component which only fire a heartbeat event > Zone should fire a heart beat event > --- > > Key: TAP5-940 > URL: https://issues.apache.org/jira/browse/TAP5-940 > Project: Tapestry 5 > Issue Type: Bug >Affects Versions: 5.1.0.5 >Reporter: mindhawk >Priority: Minor > > If there is not a component in Zone fire a heart beat event, the forced > attributes would not return to the client, although the page would fire this > event at the end. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Issue Comment Edited: (TAP5-733) AjaxFormLoop occasionally fails with "The rendered content did not include any elements that allow for the positioning of the hidden form field's element"
[ https://issues.apache.org/jira/browse/TAP5-733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790490#action_12790490 ] Dariusz Majewski edited comment on TAP5-733 at 12/15/09 12:36 AM: -- In my case Blackbird console shows following error: # Communication with the server failed: The rendered content did not include any elements that allow for the positioning of the hidden form field's element. # Ajax failure: Status 500 for /portal/material/page1.photos.rowinjector:inject/2135486824?t:formcomponentid=material/Page1:photosform&t:formid=photosForm: The rendered content did not include any elements that allow for the positioning of the hidden form field's element. But after analysing server response with firebug, server returns tapestry exception page with following stacktrace: * org.apache.tapestry5.corelib.internal.HiddenFieldPositioner.getElement(HiddenFieldPositioner.java:74) * org.apache.tapestry5.corelib.components.FormInjector$1.renderMarkup(FormInjector.java:236) * org.apache.tapestry5.internal.services.PageRenderQueueImpl$Bridge.renderMarkup(PageRenderQueueImpl.java:62) * org.apache.tapestry5.corelib.components.AjaxFormLoop$10.renderMarkup(AjaxFormLoop.java:416) * org.apache.tapestry5.internal.services.PageRenderQueueImpl$Bridge.renderMarkup(PageRenderQueueImpl.java:62) * org.apache.tapestry5.internal.services.PageRenderQueueImpl.renderPartial(PageRenderQueueImpl.java:159) * $PageRenderQueue_1258fac3ab5.renderPartial($PageRenderQueue_1258fac3ab5.java) * $PageRenderQueue_1258fac3aad.renderPartial($PageRenderQueue_1258fac3aad.java) * org.apache.tapestry5.internal.services.PartialMarkupRendererTerminator.renderMarkup(PartialMarkupRendererTerminator.java:39) * org.apache.tapestry5.services.TapestryModule$32.renderMarkup(TapestryModule.java:1868) * $PartialMarkupRenderer_1258fac3b4e.renderMarkup($PartialMarkupRenderer_1258fac3b4e.java) * org.apache.tapestry5.services.TapestryModule$31.renderMarkup(TapestryModule.java:1852) * $PartialMarkupRenderer_1258fac3b4e.renderMarkup($PartialMarkupRenderer_1258fac3b4e.java) * org.apache.tapestry5.services.TapestryModule$30.renderMarkup(TapestryModule.java:1834) * $PartialMarkupRenderer_1258fac3b4e.renderMarkup($PartialMarkupRenderer_1258fac3b4e.java) * org.apache.tapestry5.services.TapestryModule$29.renderMarkup(TapestryModule.java:1816) * $PartialMarkupRenderer_1258fac3b4e.renderMarkup($PartialMarkupRenderer_1258fac3b4e.java) * org.apache.tapestry5.services.TapestryModule$28.renderMarkup(TapestryModule.java:1790) * $PartialMarkupRenderer_1258fac3b4e.renderMarkup($PartialMarkupRenderer_1258fac3b4e.java) * $PartialMarkupRenderer_1258fac3b4d.renderMarkup($PartialMarkupRenderer_1258fac3b4d.java) * org.apache.tapestry5.internal.services.AjaxPartialResponseRendererImpl.renderPartialPageMarkup(AjaxPartialResponseRendererImpl.java:79) * $AjaxPartialResponseRenderer_1258fac3b4b.renderPartialPageMarkup($AjaxPartialResponseRenderer_1258fac3b4b.java) * org.apache.tapestry5.internal.services.AjaxComponentEventRequestHandler.handle(AjaxComponentEventRequestHandler.java:118) * $ComponentEventRequestHandler_1258fac3b06.handle($ComponentEventRequestHandler_1258fac3b06.java) * org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42) * $ComponentEventRequestHandler_1258fac3b08.handle($ComponentEventRequestHandler_1258fac3b08.java) * org.apache.tapestry5.upload.internal.services.UploadExceptionFilter.handle(UploadExceptionFilter.java:75) * $ComponentEventRequestHandler_1258fac3b08.handle($ComponentEventRequestHandler_1258fac3b08.java) * org.apache.tapestry5.services.TapestryModule$36.handle(TapestryModule.java:2164) * $ComponentEventRequestHandler_1258fac3b08.handle($ComponentEventRequestHandler_1258fac3b08.java) * $ComponentEventRequestHandler_1258fac3a4d.handle($ComponentEventRequestHandler_1258fac3a4d.java) * org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handleComponentEvent(ComponentRequestHandlerTerminator.java:43) * $ComponentRequestHandler_1258fac3a40.handleComponentEvent($ComponentRequestHandler_1258fac3a40.java) * org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:46) * $Dispatcher_1258fac3a43.dispatch($Dispatcher_1258fac3a43.java) * $Dispatcher_1258fac3a39.dispatch($Dispatcher_1258fac3a39.java) * org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:245) * com.test.portal.services.AppModule$1.service(AppModule.java:176) * $RequestFilter_1258fac3a38.service($RequestFilter_12
[jira] Commented: (TAP5-733) AjaxFormLoop occasionally fails with "The rendered content did not include any elements that allow for the positioning of the hidden form field's element"
[ https://issues.apache.org/jira/browse/TAP5-733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790490#action_12790490 ] Dariusz Majewski commented on TAP5-733: --- In my case Blackbird console shows following error: # Communication with the server failed: The rendered content did not include any elements that allow for the positioning of the hidden form field's element. # Ajax failure: Status 500 for /portal/material/page1.photos.rowinjector:inject/2135486824?t:formcomponentid=material/Page1:photosform&t:formid=photosForm: The rendered content did not include any elements that allow for the positioning of the hidden form field's element. But after analysing server response with firebug, server returns tapestry exception page with following stacktrace: * org.apache.tapestry5.corelib.internal.HiddenFieldPositioner.getElement(HiddenFieldPositioner.java:74) * org.apache.tapestry5.corelib.components.FormInjector$1.renderMarkup(FormInjector.java:236) * org.apache.tapestry5.internal.services.PageRenderQueueImpl$Bridge.renderMarkup(PageRenderQueueImpl.java:62) * org.apache.tapestry5.corelib.components.AjaxFormLoop$10.renderMarkup(AjaxFormLoop.java:416) * org.apache.tapestry5.internal.services.PageRenderQueueImpl$Bridge.renderMarkup(PageRenderQueueImpl.java:62) * org.apache.tapestry5.internal.services.PageRenderQueueImpl.renderPartial(PageRenderQueueImpl.java:159) * $PageRenderQueue_1258fac3ab5.renderPartial($PageRenderQueue_1258fac3ab5.java) * $PageRenderQueue_1258fac3aad.renderPartial($PageRenderQueue_1258fac3aad.java) * org.apache.tapestry5.internal.services.PartialMarkupRendererTerminator.renderMarkup(PartialMarkupRendererTerminator.java:39) * org.apache.tapestry5.services.TapestryModule$32.renderMarkup(TapestryModule.java:1868) * $PartialMarkupRenderer_1258fac3b4e.renderMarkup($PartialMarkupRenderer_1258fac3b4e.java) * org.apache.tapestry5.services.TapestryModule$31.renderMarkup(TapestryModule.java:1852) * $PartialMarkupRenderer_1258fac3b4e.renderMarkup($PartialMarkupRenderer_1258fac3b4e.java) * org.apache.tapestry5.services.TapestryModule$30.renderMarkup(TapestryModule.java:1834) * $PartialMarkupRenderer_1258fac3b4e.renderMarkup($PartialMarkupRenderer_1258fac3b4e.java) * org.apache.tapestry5.services.TapestryModule$29.renderMarkup(TapestryModule.java:1816) * $PartialMarkupRenderer_1258fac3b4e.renderMarkup($PartialMarkupRenderer_1258fac3b4e.java) * org.apache.tapestry5.services.TapestryModule$28.renderMarkup(TapestryModule.java:1790) * $PartialMarkupRenderer_1258fac3b4e.renderMarkup($PartialMarkupRenderer_1258fac3b4e.java) * $PartialMarkupRenderer_1258fac3b4d.renderMarkup($PartialMarkupRenderer_1258fac3b4d.java) * org.apache.tapestry5.internal.services.AjaxPartialResponseRendererImpl.renderPartialPageMarkup(AjaxPartialResponseRendererImpl.java:79) * $AjaxPartialResponseRenderer_1258fac3b4b.renderPartialPageMarkup($AjaxPartialResponseRenderer_1258fac3b4b.java) * org.apache.tapestry5.internal.services.AjaxComponentEventRequestHandler.handle(AjaxComponentEventRequestHandler.java:118) * $ComponentEventRequestHandler_1258fac3b06.handle($ComponentEventRequestHandler_1258fac3b06.java) * org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42) * $ComponentEventRequestHandler_1258fac3b08.handle($ComponentEventRequestHandler_1258fac3b08.java) * org.apache.tapestry5.upload.internal.services.UploadExceptionFilter.handle(UploadExceptionFilter.java:75) * $ComponentEventRequestHandler_1258fac3b08.handle($ComponentEventRequestHandler_1258fac3b08.java) * org.apache.tapestry5.services.TapestryModule$36.handle(TapestryModule.java:2164) * $ComponentEventRequestHandler_1258fac3b08.handle($ComponentEventRequestHandler_1258fac3b08.java) * $ComponentEventRequestHandler_1258fac3a4d.handle($ComponentEventRequestHandler_1258fac3a4d.java) * org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handleComponentEvent(ComponentRequestHandlerTerminator.java:43) * $ComponentRequestHandler_1258fac3a40.handleComponentEvent($ComponentRequestHandler_1258fac3a40.java) * org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:46) * $Dispatcher_1258fac3a43.dispatch($Dispatcher_1258fac3a43.java) * $Dispatcher_1258fac3a39.dispatch($Dispatcher_1258fac3a39.java) * org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:245) * com.freereporters.portal.services.AppModule$1.service(AppModule.java:176) * $RequestFilter_1258fac3a38.service($RequestFilter_1258fac3a38.java) * $RequestHandler_1
[jira] Commented: (TAP5-940) Zone should fire a heart beat event
[ https://issues.apache.org/jira/browse/TAP5-940?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790425#action_12790425 ] Seth Call commented on TAP5-940: /** The following is a workaround for this issue */ import org.apache.tapestry5.annotations.*; import org.apache.tapestry5.corelib.components.Zone; import org.apache.tapestry5.ioc.annotations.Inject; import org.apache.tapestry5.services.Heartbeat; import org.apache.tapestry5.services.Request; /** Place on zones sent back in Ajax to fix https://issues.apache.org/jira/browse/TAP5-940 */ public class BmBm { @Environmental private Heartbeat heartbeat; @InjectContainer private Zone zone; @Inject private Request request; @BeginRender public void beginRender() { if (request.isXHR()) { heartbeat.begin(); } } @AfterRender public void afterRender() { if (request.isXHR()) { heartbeat.end(); } } > Zone should fire a heart beat event > --- > > Key: TAP5-940 > URL: https://issues.apache.org/jira/browse/TAP5-940 > Project: Tapestry 5 > Issue Type: Bug >Affects Versions: 5.1.0.5 >Reporter: mindhawk >Priority: Minor > > If there is not a component in Zone fire a heart beat event, the forced > attributes would not return to the client, although the page would fire this > event at the end. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (TAP5-940) Zone should fire a heart beat event
[ https://issues.apache.org/jira/browse/TAP5-940?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790401#action_12790401 ] Seth Call commented on TAP5-940: Just spent a few hours debugging this one. A mixin that one could add to a Zone would work too, no? > Zone should fire a heart beat event > --- > > Key: TAP5-940 > URL: https://issues.apache.org/jira/browse/TAP5-940 > Project: Tapestry 5 > Issue Type: Bug >Affects Versions: 5.1.0.5 >Reporter: mindhawk >Priority: Minor > > If there is not a component in Zone fire a heart beat event, the forced > attributes would not return to the client, although the page would fire this > event at the end. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (TAP5-952) Make tapestry-core independent from test dependencies
[ https://issues.apache.org/jira/browse/TAP5-952?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790397#action_12790397 ] Howard M. Lewis Ship commented on TAP5-952: --- I've been doing some major refactoring of tapestry-test, adding some significant enhancements to the Selenium support ... would you mind waiting till I get these commit to trunk before going forward on this bug? I think it'll be easier for everyone. > Make tapestry-core independent from test dependencies > - > > Key: TAP5-952 > URL: https://issues.apache.org/jira/browse/TAP5-952 > Project: Tapestry 5 > Issue Type: Improvement > Components: tapestry-core, tapestry-test >Affects Versions: 5.1.0.5 >Reporter: Igor Drobiazko > > In tapestry-core we provide a few classes which depenend on EasyMock and > TestNG. This is very annoying when creating a Tapestry OSGi bundle with the > BND tool. > Following is needed: > - Move package org.apache.tapestry5.test from tapestry-core into tapestry-test > - Set scope of tapestry-test to test > This issue is conflicting with TAP5-758 -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (TAP5-758) Move TapestryTestConstants from tapestry-test into tapestry-core, so that non-selenium test code does not need to use tapestry-test
[ https://issues.apache.org/jira/browse/TAP5-758?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790278#action_12790278 ] Paul Field commented on TAP5-758: - It's possible that you need several modules to manage the dependencies properly. For example: tapestry-test contains EasyMock/TestNG code and general test code such as TapestryTestConstants tapestry-selenium includes the selenium code (and depends on tapestry-test) If you want to be really serious about dependencies and what you force clients to include (which is more important in the OSGi world), you could break the modules down further: tapestry-test - generic test-related code for Tapestry tapestry-easymock - adds easymock specific extensions for working with Tapestry tapestry-testng - enhancements to TestNG to simplify testing Tapestry tapestry-selenium - enhancements to Selenium to simplify testing in Tapestry I'm not saying that module breakdown is correct, but I'm suggesting that having more modules at finer granularity is something to consider - remember some people prefer Mockito to EasyMock; some people prefer JUnit4 to TestNG; and finer-grain modules give more flexibility and choice. > Move TapestryTestConstants from tapestry-test into tapestry-core, so that > non-selenium test code does not need to use tapestry-test > --- > > Key: TAP5-758 > URL: https://issues.apache.org/jira/browse/TAP5-758 > Project: Tapestry 5 > Issue Type: Improvement > Components: tapestry-core, tapestry-test >Affects Versions: 5.1.0.5 >Reporter: Paul Field > > The tapestry-test module is meant to be "just a couple of base classes to > make it easier to build integration test suites around Selenium.". > However, org.apache.tapestry5.internal.test.PageTesterContext for > tapestry-core uses TapestryTestConstants from tapestry-test. So it seems that > anyone doing any kind of tests requires the tapestry-test module and so also > imports all the selenium dependencies. > That dependency problem could be resolved by moving TapestryTestConstants > into tapestry-core. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (TAP5-758) Move TapestryTestConstants from tapestry-test into tapestry-core, so that non-selenium test code does not need to use tapestry-test
[ https://issues.apache.org/jira/browse/TAP5-758?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790248#action_12790248 ] Igor Drobiazko commented on TAP5-758: - This issue conflicts with TAP5-952 > Move TapestryTestConstants from tapestry-test into tapestry-core, so that > non-selenium test code does not need to use tapestry-test > --- > > Key: TAP5-758 > URL: https://issues.apache.org/jira/browse/TAP5-758 > Project: Tapestry 5 > Issue Type: Improvement > Components: tapestry-core, tapestry-test >Affects Versions: 5.1.0.5 >Reporter: Paul Field > > The tapestry-test module is meant to be "just a couple of base classes to > make it easier to build integration test suites around Selenium.". > However, org.apache.tapestry5.internal.test.PageTesterContext for > tapestry-core uses TapestryTestConstants from tapestry-test. So it seems that > anyone doing any kind of tests requires the tapestry-test module and so also > imports all the selenium dependencies. > That dependency problem could be resolved by moving TapestryTestConstants > into tapestry-core. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Created: (TAP5-952) Make tapestry-core independent from test dependencies
Make tapestry-core independent from test dependencies - Key: TAP5-952 URL: https://issues.apache.org/jira/browse/TAP5-952 Project: Tapestry 5 Issue Type: Improvement Components: tapestry-core, tapestry-test Affects Versions: 5.1.0.5 Reporter: Igor Drobiazko In tapestry-core we provide a few classes which depenend on EasyMock and TestNG. This is very annoying when creating a Tapestry OSGi bundle with the BND tool. Following is needed: - Move package org.apache.tapestry5.test from tapestry-core into tapestry-test - Set scope of tapestry-test to test This issue is conflicting with TAP5-758 -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Resolved: (TAP5-815) Asset dispatcher allows any file inside the webapp visible and downloadable
[ https://issues.apache.org/jira/browse/TAP5-815?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robert Zeigler resolved TAP5-815. - Resolution: Fixed :Fixed for real this time. META-INF and WEB-INF protected, .tml files protected, other context assets available, non-whitelisted classpath assets protected, > Asset dispatcher allows any file inside the webapp visible and downloadable > --- > > Key: TAP5-815 > URL: https://issues.apache.org/jira/browse/TAP5-815 > Project: Tapestry 5 > Issue Type: Bug >Affects Versions: 5.1.0.5 >Reporter: Thiago H. de Paula Figueiredo >Assignee: Robert Zeigler >Priority: Blocker > Fix For: 5.2.0, 5.1.0.6, 5.0.19 > > > Take any asset and you have an URL like > domain.com/assets/ctx/f10407a6c1753e39/css/main.css. If you request > domain.com/assets/ctx/f10407a6c1753e39/, a list containing all the files > inside the webapp root is shown. It gives you the hint at downloading any > file you want, including anyting inside WEB-INF and assets that should be > protected by ResourceDigestGenerator. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (TAP5-815) Asset dispatcher allows any file inside the webapp visible and downloadable
[ https://issues.apache.org/jira/browse/TAP5-815?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790116#action_12790116 ] Robert Zeigler commented on TAP5-815: - Geoff: 1) Yes. 2) yes. 3) yes. > Asset dispatcher allows any file inside the webapp visible and downloadable > --- > > Key: TAP5-815 > URL: https://issues.apache.org/jira/browse/TAP5-815 > Project: Tapestry 5 > Issue Type: Bug >Affects Versions: 5.1.0.5 >Reporter: Thiago H. de Paula Figueiredo >Assignee: Robert Zeigler >Priority: Blocker > Fix For: 5.2.0, 5.1.0.6, 5.0.19 > > > Take any asset and you have an URL like > domain.com/assets/ctx/f10407a6c1753e39/css/main.css. If you request > domain.com/assets/ctx/f10407a6c1753e39/, a list containing all the files > inside the webapp root is shown. It gives you the hint at downloading any > file you want, including anyting inside WEB-INF and assets that should be > protected by ResourceDigestGenerator. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
svn commit: r890285 - in /tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src: main/java/org/apache/tapestry5/services/ test/app1/ test/app1/META-INF/ test/java/org/apache/tapestry5/integration/
Author: robertdzeigler Date: Mon Dec 14 12:03:55 2009 New Revision: 890285 URL: http://svn.apache.org/viewvc?rev=890285&view=rev Log: TAP5-815: Asset dispatcher allows any file inside the webapp visible and downloadable. Port context asset regex changes from trunk to 5.1 branch. Added: tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/app1/META-INF/ tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/app1/META-INF/unavailable2.txt Modified: tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/app1/AssetProtectionDemo.tml tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/apache/tapestry5/integration/IntegrationTests.java tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/apache/tapestry5/integration/app1/services/AppModule.java Modified: tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java?rev=890285&r1=890284&r2=890285&view=diff == --- tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java (original) +++ tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/main/java/org/apache/tapestry5/services/TapestryModule.java Mon Dec 14 12:03:55 2009 @@ -2462,7 +2462,7 @@ //at or below WEB-INF. //necessary since context assets are now handled via AssetDispatcher so that //they can be compressed, combined, etc. -String contextPathPattern = "/(?!WEB-INF)([^/.]+/)*[^/]+$"; +String contextPathPattern = "/(?!(WEB-INF)|(META-INF))([^/.]+/)*[^/]+(?http://svn.apache.org/viewvc/tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/app1/AssetProtectionDemo.tml?rev=890285&r1=890284&r2=890285&view=diff == --- tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/app1/AssetProtectionDemo.tml (original) +++ tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/app1/AssetProtectionDemo.tml Mon Dec 14 12:03:55 2009 @@ -5,4 +5,9 @@ WEB-INF/ Unavailable File Available File2 - \ No newline at end of file +META-INF +META-INF/ +unavailable2.txt +tml file +nested tml file + Added: tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/app1/META-INF/unavailable2.txt URL: http://svn.apache.org/viewvc/tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/app1/META-INF/unavailable2.txt?rev=890285&view=auto == --- tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/app1/META-INF/unavailable2.txt (added) +++ tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/app1/META-INF/unavailable2.txt Mon Dec 14 12:03:55 2009 @@ -0,0 +1 @@ +This file is in META-INF so it should not be available. Modified: tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/apache/tapestry5/integration/IntegrationTests.java URL: http://svn.apache.org/viewvc/tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/apache/tapestry5/integration/IntegrationTests.java?rev=890285&r1=890284&r2=890285&view=diff == --- tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/apache/tapestry5/integration/IntegrationTests.java (original) +++ tapestry/tapestry5/branches/5.1.0.x-dev/tapestry-core/src/test/java/org/apache/tapestry5/integration/IntegrationTests.java Mon Dec 14 12:03:55 2009 @@ -3032,7 +3032,7 @@ /** TAP5-815 */ @Test -public void testAssetProtection() throws InterruptedException +public void asset_protection() { //context resourcs should be available by default. @@ -3059,6 +3059,28 @@ start("Asset Protection Demo"); clickAndWait("link=Available File2"); assertTextPresent("This file should be available to clients."); + +start("Asset Protection Demo"); +clickAndWait("link=META-INF"); +assertTextPresent("HTTP ERROR: 404"); + +start("Asset Protection Demo"); +clickAndWait("link=META-INF/"); +assertTextPresent("HTTP ERROR: 404"); + +start("Asset Protection Demo"); +clickAndWait("link=unavailable2.txt"); +assertTextPresent("HTTP ERROR: 404"); + +//tml files... +start("Asset Protection Demo"); +clickAndWait("link=tml file"); +assertTextPresent("HTTP ERROR: 404"); + +/
svn commit: r890218 - /tapestry/tapestry5/branches/5.0/pom.xml
Author: andyhot Date: Mon Dec 14 08:22:11 2009 New Revision: 890218 URL: http://svn.apache.org/viewvc?rev=890218&view=rev Log: custom tagBase for releases Modified: tapestry/tapestry5/branches/5.0/pom.xml Modified: tapestry/tapestry5/branches/5.0/pom.xml URL: http://svn.apache.org/viewvc/tapestry/tapestry5/branches/5.0/pom.xml?rev=890218&r1=890217&r2=890218&view=diff == --- tapestry/tapestry5/branches/5.0/pom.xml (original) +++ tapestry/tapestry5/branches/5.0/pom.xml Mon Dec 14 08:22:11 2009 @@ -203,7 +203,6 @@ - @@ -291,6 +290,12 @@ ${update-release-info} + +maven-release-plugin + + https://svn.apache.org/repos/asf/tapestry/tapestry5/tags/releases/ + +
svn commit: r890217 - /tapestry/tapestry5/branches/5.1.0.x-dev/pom.xml
Author: andyhot Date: Mon Dec 14 08:21:10 2009 New Revision: 890217 URL: http://svn.apache.org/viewvc?rev=890217&view=rev Log: custom tagBase for releases Modified: tapestry/tapestry5/branches/5.1.0.x-dev/pom.xml Modified: tapestry/tapestry5/branches/5.1.0.x-dev/pom.xml URL: http://svn.apache.org/viewvc/tapestry/tapestry5/branches/5.1.0.x-dev/pom.xml?rev=890217&r1=890216&r2=890217&view=diff == --- tapestry/tapestry5/branches/5.1.0.x-dev/pom.xml (original) +++ tapestry/tapestry5/branches/5.1.0.x-dev/pom.xml Mon Dec 14 08:21:10 2009 @@ -322,6 +322,12 @@ + +maven-release-plugin + + https://svn.apache.org/repos/asf/tapestry/tapestry5/tags/releases/ + +
svn commit: r890216 - /tapestry/tapestry5/trunk/pom.xml
Author: andyhot Date: Mon Dec 14 08:20:38 2009 New Revision: 890216 URL: http://svn.apache.org/viewvc?rev=890216&view=rev Log: custom tagBase for releases Modified: tapestry/tapestry5/trunk/pom.xml Modified: tapestry/tapestry5/trunk/pom.xml URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/pom.xml?rev=890216&r1=890215&r2=890216&view=diff == --- tapestry/tapestry5/trunk/pom.xml (original) +++ tapestry/tapestry5/trunk/pom.xml Mon Dec 14 08:20:38 2009 @@ -332,6 +332,12 @@ + +maven-release-plugin + + https://svn.apache.org/repos/asf/tapestry/tapestry5/tags/releases/ + +