You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2010/11/30 17:33:20 UTC
svn commit: r1040620 -
/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/PackageResource.java
Author: mgrigorov
Date: Tue Nov 30 16:33:20 2010
New Revision: 1040620
URL: http://svn.apache.org/viewvc?rev=1040620&view=rev
Log:
Check the package resource's path for '../' and replace it with the configured placeholder.
If there is no configured placeholder then the resource guard will refuse to accept it.
Modified:
wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/PackageResource.java
Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/PackageResource.java
URL: http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/PackageResource.java?rev=1040620&r1=1040619&r2=1040620&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/PackageResource.java (original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/request/resource/PackageResource.java Tue Nov 30 16:33:20 2010
@@ -30,6 +30,7 @@ import org.apache.wicket.util.lang.Packa
import org.apache.wicket.util.lang.WicketObjects;
import org.apache.wicket.util.resource.IResourceStream;
import org.apache.wicket.util.resource.ResourceStreamNotFoundException;
+import org.apache.wicket.util.string.Strings;
import org.apache.wicket.util.time.Time;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -132,17 +133,27 @@ public class PackageResource extends Abs
// Convert resource path to absolute path relative to base package
absolutePath = Packages.absolutePath(scope, name);
- if (!accept(scope, name))
+ final String parentEscape = Application.get()
+ .getResourceSettings()
+ .getParentFolderPlaceholder();
+
+ if (Strings.isEmpty(parentEscape) == false)
+ {
+ path = Strings.replaceAll(name, "../", parentEscape + "/").toString();
+ }
+ else
+ {
+ path = name;
+ }
+
+ if (!accept(scope, path))
{
throw new PackageResourceBlockedException(
"Access denied to (static) package resource " + absolutePath +
". See IPackageResourceGuard");
}
- // TODO WICKET-NG: Check path for ../
-
scopeName = scope.getName();
- path = name;
this.locale = locale;
this.style = style;
this.variation = variation;