You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by "Martin Grigorov (JIRA)" <ji...@apache.org> on 2015/03/27 22:17:53 UTC
[jira] [Resolved] (WICKET-5843) CryptoMapper doesn't work with
context relative UrlResourceReferences
[ https://issues.apache.org/jira/browse/WICKET-5843?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Martin Grigorov resolved WICKET-5843.
-------------------------------------
Resolution: Fixed
Fix Version/s: 7.0.0-M6
6.20.0
Assignee: Martin Grigorov
Fixed by returning the original Url in case there was no encryption of any parameter.
Thanks!
> CryptoMapper doesn't work with context relative UrlResourceReferences
> ---------------------------------------------------------------------
>
> Key: WICKET-5843
> URL: https://issues.apache.org/jira/browse/WICKET-5843
> Project: Wicket
> Issue Type: Bug
> Components: wicket
> Affects Versions: 6.19.0
> Reporter: Tim Koopman
> Assignee: Martin Grigorov
> Fix For: 6.20.0, 7.0.0-M6
>
>
> Adding a CryptoMapper to the application causes context relative URL's to be rendered twice, causing them to stop working.
> For example a webjar resource is rendered as:
> ||page||rendered url||
> |/|./webjars/jquery/1.11.2/jquery.js|
> |/admin|./webjars/jquery/1.11.2/jquery.js|
> |/admin/configuration|../../webjars/jquery/1.11.2/jquery.js|
> |/admin/configuration/|../../../../webjars/jquery/1.11.2/jquery.js|
> The last two urls won't work as they point to urls outside the context root.
> The reason this happens is because UrlResourceReference#getUrl returns a UrlResourceReference$CalculatedUrl, which is normally skipped by UrlRenderer#renderRelativeUrl.
> But in the case of CryptoMapper, this CalculatedUrl is converted to a normal Url (in CryptoMapper#encryptRequestListenerParameter) which isn't skipped.
> So, when you have a CryptoMapper all context relative urls are converted twice: once by UrlRenderer#renderContextRelativeUrl and again by UrlRenderer#renderRelativeUrl.
> A quick fix would be to ignore all url's of type IUrlRenderer in CrytoMapper's mapHandler, but I don't know it this the wanted solution. It seems pretty weird to me that conversion is done twice at all.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)