You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Sagar Miglani (Jira)" <ji...@apache.org> on 2023/05/10 05:37:00 UTC

[jira] [Updated] (SLING-11861) ResourceMapper.getAllMappings returns empty mapping "" when a vanity paths is pathless url

     [ https://issues.apache.org/jira/browse/SLING-11861?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sagar Miglani updated SLING-11861:
----------------------------------
    Description: 
When a resource has a path less url as vanity path (eg: "http://www.example.com") ResourceMapper.getAllMappings returns mappings consisting of an empty path "".

This "" mapping can make {{AuthenticationRequirementsManager}} stop listening to further authentication requirements [0]:
{code:xml}
Exception in thread "pool-14-thread-1" java.lang.IllegalArgumentException: Configuration must not be null or empty
	at org.apache.sling.auth.core.impl.AuthenticationRequirementHolder.fromConfig(AuthenticationRequirementHolder.java:30)
	at org.apache.sling.auth.core.impl.AuthenticationRequirementsManager.addService(AuthenticationRequirementsManager.java:374)
	at org.apache.sling.auth.core.impl.AuthenticationRequirementsManager.process(AuthenticationRequirementsManager.java:300)
	at org.apache.sling.auth.core.impl.AuthenticationRequirementsManager.processQueue(AuthenticationRequirementsManager.java:281)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)
{code}

Clarification required:
- Is "" mapping/path a valid path? Should we store and return vanity path as "/" in case of pathless url as vanity path?

cc: [~cziegeler] [~rombert] [~reschke]


[0]: https://github.com/apache/sling-org-apache-sling-auth-core/blob/org.apache.sling.auth.core-1.5.0/src/main/java/org/apache/sling/auth/core/impl/SlingAuthenticatorServiceListener.java#L345-L351

  was:
When a resource has a path less url as vanity path (eg: "http://www.example.com") ResourceMapper.getAllMappings returns mappings consisting of an empty path "".

This "" mapping can make {{SlingAuthenticatorServiceListener}} stop listening to further  authentication requirements [0]:
{code:xml}
Exception in thread "pool-14-thread-1" java.lang.IllegalArgumentException: Configuration must not be null or empty
	at org.apache.sling.auth.core.impl.AuthenticationRequirementHolder.fromConfig(AuthenticationRequirementHolder.java:30)
	at org.apache.sling.auth.core.impl.AuthenticationRequirementsManager.addService(AuthenticationRequirementsManager.java:374)
	at org.apache.sling.auth.core.impl.AuthenticationRequirementsManager.process(AuthenticationRequirementsManager.java:300)
	at org.apache.sling.auth.core.impl.AuthenticationRequirementsManager.processQueue(AuthenticationRequirementsManager.java:281)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base/java.lang.Thread.run(Thread.java:834)
{code}

Clarification required:
- Is "" mapping/path a valid path? Should we store and return vanity path as "/" in case of pathless url as vanity path?

cc: [~cziegeler] [~rombert] [~reschke]


[0]: https://github.com/apache/sling-org-apache-sling-auth-core/blob/org.apache.sling.auth.core-1.5.0/src/main/java/org/apache/sling/auth/core/impl/SlingAuthenticatorServiceListener.java#L345-L351


>  ResourceMapper.getAllMappings returns empty mapping "" when a vanity paths is pathless url
> -------------------------------------------------------------------------------------------
>
>                 Key: SLING-11861
>                 URL: https://issues.apache.org/jira/browse/SLING-11861
>             Project: Sling
>          Issue Type: Bug
>          Components: ResourceResolver
>    Affects Versions: Resource Resolver 1.10.0
>            Reporter: Sagar Miglani
>            Priority: Major
>
> When a resource has a path less url as vanity path (eg: "http://www.example.com") ResourceMapper.getAllMappings returns mappings consisting of an empty path "".
> This "" mapping can make {{AuthenticationRequirementsManager}} stop listening to further authentication requirements [0]:
> {code:xml}
> Exception in thread "pool-14-thread-1" java.lang.IllegalArgumentException: Configuration must not be null or empty
> 	at org.apache.sling.auth.core.impl.AuthenticationRequirementHolder.fromConfig(AuthenticationRequirementHolder.java:30)
> 	at org.apache.sling.auth.core.impl.AuthenticationRequirementsManager.addService(AuthenticationRequirementsManager.java:374)
> 	at org.apache.sling.auth.core.impl.AuthenticationRequirementsManager.process(AuthenticationRequirementsManager.java:300)
> 	at org.apache.sling.auth.core.impl.AuthenticationRequirementsManager.processQueue(AuthenticationRequirementsManager.java:281)
> 	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> 	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> 	at java.base/java.lang.Thread.run(Thread.java:834)
> {code}
> Clarification required:
> - Is "" mapping/path a valid path? Should we store and return vanity path as "/" in case of pathless url as vanity path?
> cc: [~cziegeler] [~rombert] [~reschke]
> [0]: https://github.com/apache/sling-org-apache-sling-auth-core/blob/org.apache.sling.auth.core-1.5.0/src/main/java/org/apache/sling/auth/core/impl/SlingAuthenticatorServiceListener.java#L345-L351



--
This message was sent by Atlassian Jira
(v8.20.10#820010)