[ 
https://issues.apache.org/jira/browse/WW-5735?focusedWorklogId=1041124&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-1041124
 ]

ASF GitHub Bot logged work on WW-5735:
--------------------------------------

                Author: ASF GitHub Bot
            Created on: 12/Sep/26 13:39
            Start Date: 12/Sep/26 13:39
    Worklog Time Spent: 10m 
      Work Description: lukaszlenart opened a new pull request, #1926:
URL: https://github.com/apache/struts/pull/1926

   Fixes [WW-5735](https://issues.apache.org/jira/browse/WW-5735)
   
   ## What
   
   `struts2-jasperreports7-plugin` declared 
`net.sf.jasperreports:jasperreports` at compile scope, so the assembly's 
runtime dependency set has shipped `jasperreports-7.0.7.jar` in 
`struts-*-lib.zip` and `struts-*-all.zip` since 7.1.0 (verified in 
`struts-7.3.0-lib.zip`: `struts-7.3.0/lib/jasperreports-7.0.7.jar`), and every 
Maven consumer of the plugin pulled it transitively. JasperReports is LGPL, 
which may not be included in an Apache product. The 6.x plugin has always 
declared the same dependency as `provided` for exactly this reason.
   
   The dependency is now `provided`, matching the 6.x plugin. 
`jasperreports-pdf` was already `optional` and never propagated.
   
   Before / after, from `mvn -pl assembly dependency:list 
-DincludeScope=runtime`:
   
   ```
   -  net.sf.jasperreports:jasperreports:jar:7.0.7:compile
   ```
   
   The plugin's own build and tests are unaffected (`provided` stays on the 
compile and test classpaths; the embedded-Tomcat test from WW-5734 still 
passes).
   
   The second commit drops the OWASP suppression for `jasperreports-*.jar` / 
CVE-2025-10492: the `dependency-check` profile skips provided scope, so the 
entry no longer matches anything.
   
   ## Migration note (for the Version Notes / Migration Guide)
   
   Applications using the jasperreports7 plugin must declare 
`net.sf.jasperreports:jasperreports` (and `jasperreports-pdf` for PDF output) 
themselves, as they already do with the 6.x plugin. The plugin page being added 
in WW-5728 should state this.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)




Issue Time Tracking
-------------------

            Worklog Id:     (was: 1041124)
    Remaining Estimate: 0h
            Time Spent: 10m

> JasperReports 7 plugin bundles the LGPL jasperreports jar into the release 
> distribution
> ---------------------------------------------------------------------------------------
>
>                 Key: WW-5735
>                 URL: https://issues.apache.org/jira/browse/WW-5735
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Plugin - JasperReports
>            Reporter: Lukasz Lenart
>            Priority: Major
>             Fix For: 7.4.0
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> {{plugins/jasperreports7/pom.xml}} declares 
> {{net.sf.jasperreports:jasperreports}} as a plain compile-scope, non-optional 
> dependency. The 6.x {{struts2-jasperreports-plugin}} has always declared it 
> {{provided}}, precisely so that the LGPL library is never part of an Apache 
> Struts distribution — users add it to their own application.
> Because the assembly collects the runtime dependency set of every plugin, the 
> jar is now shipped: {{struts-7.3.0-lib.zip}} on {{archive.apache.org}} 
> contains {{struts-7.3.0/lib/jasperreports-7.0.7.jar}} (3.8 MB), and 
> {{LICENSE.txt}} / {{NOTICE.txt}} do not mention it. The same applies to 
> {{struts-7.3.0-all.zip}} and to every release since the plugin was introduced 
> in 7.1.0. Users depending on {{struts2-jasperreports7-plugin}} from Maven 
> also pull the LGPL jar transitively by default.
> JasperReports is LGPL, which is ASF Category X and may not be included in an 
> Apache product.
> Fix: declare {{jasperreports}} with {{<scope>provided</scope>}}, matching the 
> 6.x plugin. Applications using the plugin must then add 
> {{net.sf.jasperreports:jasperreports}} (and {{jasperreports-pdf}} for PDF 
> output, which is already optional) themselves; the plugin documentation page 
> should say so. Verify afterwards that the assembly's {{lib/}} no longer 
> contains any {{net.sf.jasperreports}} artifact.
> This is a licensing and distribution issue, not a security vulnerability.



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

Reply via email to