You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by pe...@apache.org on 2011/04/28 19:53:37 UTC
svn commit: r1097564 - in
/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket:
SharedResources.java settings/IResourceSettings.java
Author: pete
Date: Thu Apr 28 17:53:37 2011
New Revision: 1097564
URL: http://svn.apache.org/viewvc?rev=1097564&view=rev
Log:
WICKET-3650: parentFolderPlaceholder has inconsistent javadoc and is not disabled when set to null
Modified:
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/SharedResources.java
wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/settings/IResourceSettings.java
Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/SharedResources.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/SharedResources.java?rev=1097564&r1=1097563&r2=1097564&view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/SharedResources.java (original)
+++ wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/SharedResources.java Thu Apr 28 17:53:37 2011
@@ -67,15 +67,17 @@ public class SharedResources
public static String resourceKey(final String path, final Locale locale, final String style)
{
// escape sequence for '..' (prevents crippled urls in browser)
- final CharSequence parentEscape = Application.get()
+ final CharSequence parentEscapeSequence = Application.get()
.getResourceSettings()
.getParentFolderPlaceholder();
final String extension = Files.extension(path);
String basePath = Files.basePath(path, extension);
- if (Strings.isEmpty(parentEscape) &&
- (Application.get().getConfigurationType() == Application.DEVELOPMENT) &&
+ boolean parentEscape = Strings.isEmpty(parentEscapeSequence) == false;
+
+ if (parentEscape == false &&
+ (Application.DEVELOPMENT.equals(Application.get().getConfigurationType())) &&
basePath.contains("../"))
{
log.error("----------------------------------------------------------------------------------------");
@@ -84,9 +86,13 @@ public class SharedResources
log.error("IResourceSettings.getParentFolderPlaceholder() and PackageResourceGuard for more details");
log.error("----------------------------------------------------------------------------------------");
}
+ // replace parent folder sequence with escape sequence (if feature is enabled)
+ if (parentEscape)
+ {
+ // get relative path to resource, replace '..' with escape sequence
+ basePath = basePath.replace("../", parentEscapeSequence + "/");
+ }
- // get relative path to resource, replace '..' with escape sequence
- basePath = basePath.replace("../", parentEscape + "/");
final AppendingStringBuffer buffer = new AppendingStringBuffer(basePath.length() + 16);
buffer.append(basePath);
Modified: wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/settings/IResourceSettings.java
URL: http://svn.apache.org/viewvc/wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/settings/IResourceSettings.java?rev=1097564&r1=1097563&r2=1097564&view=diff
==============================================================================
--- wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/settings/IResourceSettings.java (original)
+++ wicket/branches/wicket-1.4.x/wicket/src/main/java/org/apache/wicket/settings/IResourceSettings.java Thu Apr 28 17:53:37 2011
@@ -357,13 +357,14 @@ public interface IResourceSettings
/**
* Placeholder string for '..' within resource urls (which will be crippled by the browser and
- * not work anymore). Note that by default the placeholder string is empty '' and thus will not
+ * not work anymore). Note that by default the placeholder string is <code>null</code> and thus will not
* allow to access parent folders. That is by purpose and for security reasons (see
* Wicket-1992). In case you really need it, a good value for placeholder would e.g. be "$up$".
* Resources additionally are protected by a
* {@link org.apache.wicket.markup.html.IPackageResourceGuard IPackageResourceGuard}
- * implementation such as {@link org.apache.wicket.resource.resourceGuard.PackageResourceGuard
- * PackageResourceGuard} which you may use or extend based on your needs.
+ * implementation such as
+ * {@link org.apache.wicket.markup.html.PackageResourceGuard PackageResourceGuard}
+ * which you may use or extend based on your needs.
*
* @return placeholder
*/
@@ -371,13 +372,14 @@ public interface IResourceSettings
/**
* Placeholder string for '..' within resource urls (which will be crippled by the browser and
- * not work anymore). Note that by default the placeholder string is empty '' and thus will not
+ * not work anymore). Note that by default the placeholder string is <code>null</code> and thus will not
* allow to access parent folders. That is by purpose and for security reasons (see
* Wicket-1992). In case you really need it, a good value for placeholder would e.g. be "$up$".
* Resources additionally are protected by a
* {@link org.apache.wicket.markup.html.IPackageResourceGuard IPackageResourceGuard}
- * implementation such as {@link org.apache.wicket.resource.resourceGuard.PackageResourceGuard
- * PackageResourceGuard} which you may use or extend based on your needs.
+ * implementation such as
+ * {@link org.apache.wicket.markup.html.PackageResourceGuard PackageResourceGuard}
+ * which you may use or extend based on your needs.
*
* @see #getParentFolderPlaceholder()
*