Lukasz Lenart created WW-5735:
---------------------------------
Summary: 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
Fix For: 7.4.0
{{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)