You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Stefan Seifert (Jira)" <ji...@apache.org> on 2023/05/16 15:54:00 UTC
[jira] [Commented] (SLING-11882) XSS Protection API: Apply shading/package relocation to embedded Guava+Co Libraries
[ https://issues.apache.org/jira/browse/SLING-11882?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17723174#comment-17723174 ]
Stefan Seifert commented on SLING-11882:
----------------------------------------
if you run into this problem in unit test context, add a dependency definition like this on the last position in your POM as a workaround:
{code:xml}
<dependency>
<groupId>org.apache.sling</groupId>
<artifactId>org.apache.sling.xss</artifactId>
<scope>test</scope>
</dependency>
{code}
this will ensure that the guava classes defined in other dependencies are loaded first, and the embedded classes from this bundle do not take precedence.
> XSS Protection API: Apply shading/package relocation to embedded Guava+Co Libraries
> -----------------------------------------------------------------------------------
>
> Key: SLING-11882
> URL: https://issues.apache.org/jira/browse/SLING-11882
> Project: Sling
> Issue Type: Improvement
> Components: XSS Protection API
> Affects Versions: XSS Protection API 2.3.0
> Reporter: Stefan Seifert
> Priority: Major
> Fix For: XSS Protection API 2.3.8
>
>
> with version 2.3.0 of the XSS Protection API the internal implementation was switched to OWASP sanitizer library (esapi) in SLING-7231.
> with this new implementation comes a load of 3rdparty libraries including a guava version, which is embedded as private packages in the OSGi bundle. this is completely fine from an OSGi bundle perspective and works.
> however, in unit test contexts this can lead to problems, because depending on the dependency order the embedded guava classes may overlay other guava classes references in the same POM with a different version, leading to problems running code in the unit test context. to prevent problems like this, we usually apply a shading and relocation of the package names to ensure such clashes in classpath does no happen.
> the same problem may affect other libraries embedded in the bundle.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)