You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by ra...@apache.org on 2022/08/03 14:41:04 UTC
[sling-org-apache-sling-scripting-sightly] branch master updated: SLING-11508 - Make dependency resolution use ResourceResolver#getResource instead of ResourceResolver#resolve (#18)
This is an automated email from the ASF dual-hosted git repository.
radu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-scripting-sightly.git
The following commit(s) were added to refs/heads/master by this push:
new af7c518 SLING-11508 - Make dependency resolution use ResourceResolver#getResource instead of ResourceResolver#resolve (#18)
af7c518 is described below
commit af7c5185c56b550fc764052bcc3bbaa534362531
Author: Radu Cotescu <17...@users.noreply.github.com>
AuthorDate: Wed Aug 3 16:40:59 2022 +0200
SLING-11508 - Make dependency resolution use ResourceResolver#getResource instead of ResourceResolver#resolve (#18)
* switched from resolve to getResource
---
.../sightly/engine/ResourceResolution.java | 25 +++++++++++-----------
.../scripting/sightly/impl/utils/ScriptUtils.java | 10 +++------
2 files changed, 16 insertions(+), 19 deletions(-)
diff --git a/src/main/java/org/apache/sling/scripting/sightly/engine/ResourceResolution.java b/src/main/java/org/apache/sling/scripting/sightly/engine/ResourceResolution.java
index 41f359c..ad92576 100644
--- a/src/main/java/org/apache/sling/scripting/sightly/engine/ResourceResolution.java
+++ b/src/main/java/org/apache/sling/scripting/sightly/engine/ResourceResolution.java
@@ -144,10 +144,12 @@ public final class ResourceResolution {
private static Resource locateInSearchPath(ResourceResolver resourceResolver, String path) {
for (String searchPath : resourceResolver.getSearchPath()) {
- String fullPath = searchPath + path;
- Resource resource = resourceResolver.getResource(fullPath);
- if (resource != null && resource.getPath().startsWith(searchPath)) { //prevent path traversal attack
- return resource;
+ String fullPath = ResourceUtil.normalize(searchPath + path);
+ if (fullPath != null) {
+ Resource resource = resourceResolver.getResource(fullPath);
+ if (resource != null && resource.getPath().startsWith(searchPath)) { //prevent path traversal attack
+ return resource;
+ }
}
}
return null;
@@ -183,16 +185,15 @@ public final class ResourceResolution {
private static Resource getScriptResource(@NotNull ResourceResolver resourceResolver, @NotNull String path) {
if (path.startsWith("/")) {
- Resource resource = resourceResolver.resolve(path);
- if (ResourceUtil.isNonExistingResource(resource)) {
- return null;
- }
- return resource;
+ return resourceResolver.getResource(path);
} else {
for (String searchPath : resourceResolver.getSearchPath()) {
- Resource resource = resourceResolver.resolve(searchPath + path);
- if (!ResourceUtil.isNonExistingResource(resource)) {
- return resource;
+ String resourcePath = ResourceUtil.normalize(searchPath + path);
+ if (resourcePath != null) {
+ Resource resource = resourceResolver.getResource(resourcePath);
+ if (resource != null) {
+ return resource;
+ }
}
}
}
diff --git a/src/main/java/org/apache/sling/scripting/sightly/impl/utils/ScriptUtils.java b/src/main/java/org/apache/sling/scripting/sightly/impl/utils/ScriptUtils.java
index 64ce4ff..d045624 100644
--- a/src/main/java/org/apache/sling/scripting/sightly/impl/utils/ScriptUtils.java
+++ b/src/main/java/org/apache/sling/scripting/sightly/impl/utils/ScriptUtils.java
@@ -46,17 +46,13 @@ public class ScriptUtils {
private static Resource getResource(@NotNull ResourceResolver resolver, @NotNull Resource resource) {
String path = resource.getPath();
if (path.startsWith("/")) {
- Resource resolved = resolver.resolve(path);
- if (ResourceUtil.isNonExistingResource(resolved)) {
- return null;
- }
- return resolved;
+ return resolver.getResource(path);
} else {
for (String sp : resolver.getSearchPath()) {
String absolutePath = ResourceUtil.normalize(sp + path);
if (absolutePath != null) {
- Resource resolved = resolver.resolve(absolutePath);
- if (!ResourceUtil.isNonExistingResource(resolved)) {
+ Resource resolved = resolver.getResource(absolutePath);
+ if (resolved != null) {
return resolved;
}
}