Skip to content

Commit 865396c

Browse files
authored
chore: bump parent v50 -> v51 and migrate commons-lang -> commons-lang3 (#111)
* chore: bump parent v50 -> v51 and migrate commons-lang -> commons-lang3 uportal-portlet-parent:51 closes CVE-2025-48924 by replacing commons-lang 2.6 (EOL, no upstream fix) with commons-lang3 3.20.0 + commons-text 1.15.0. Parent v51 dropped legacy commons-lang from dependencyManagement, so this repo's submodule poms and Java source must move to commons-lang3 to keep compilation working. Changes: - pom.xml (root): <parent><version>50</version></> -> 51. - courses-portlet-api/pom.xml, courses-portlet-webapp/pom.xml: swap commons-lang dep declarations for commons-lang3. - src: rename imports across the 4 files using lang APIs: org.apache.commons.lang.* -> org.apache.commons.lang3.* (StringUtils, RandomStringUtils, builder.ToStringBuilder, builder.ToStringStyle). lang3 is API-compatible for these. * chore: regenerate NOTICE for parent v51 + lang3 Problem: NOTICE was generated against the parent v50 dep tree (legacy commons-lang). After the parent v50 -> v51 bump and the commons-lang -> commons-lang3 swap, `mvn notice:check` flagged drift. Goal: align NOTICE with the actual deployed dep tree so notice:check passes during release:prepare. Changes: - regenerate NOTICE via `mvn notice:generate` against current deps; picks up Apache Commons Lang (lang3), Apache Commons Compress, Esbuild wrapper, Hibernate Core (was missing), Java Servlet API, Java Transaction API, AntLR, dom4j; drops Commons Logging shim that was removed transitively.
1 parent 96c26b4 commit 865396c

8 files changed

Lines changed: 31 additions & 24 deletions

File tree

NOTICE

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,12 @@ specific language governing permissions and limitations
1616
under the License.
1717

1818
This project includes:
19+
AntLR under BSD License
1920
AOP alliance under Public Domain
20-
Apache Commons Codec under Apache License, Version 2.0
21-
Apache Commons Collections under Apache License, Version 2.0
21+
Apache Commons Codec under Apache-2.0
22+
Apache Commons Compress under Apache-2.0
23+
Apache Commons FileUpload under Apache License, Version 2.0
24+
Apache Commons Lang under Apache-2.0
2225
Apache HttpClient under Apache License, Version 2.0
2326
Apache HttpCore under Apache License, Version 2.0
2427
Apache WSS4J under The Apache Software License, Version 2.0
@@ -28,20 +31,22 @@ This project includes:
2831
Bouncy Castle Provider under Bouncy Castle Licence
2932
Byte Buddy (without dependencies) under Apache License, Version 2.0
3033
Byte Buddy agent under Apache License, Version 2.0
31-
Commons FileUpload under The Apache Software License, Version 2.0
3234
Commons IO under The Apache Software License, Version 2.0
3335
Commons Lang under The Apache Software License, Version 2.0
34-
Commons Logging under The Apache Software License, Version 2.0
36+
commons-collections under Apache License, Version 2.0
3537
CoursePortlet under Apache License Version 2.0
3638
CoursePortlet - API under Apache License Version 2.0
3739
CoursePortlet - Data Access Objects for SIS/LMS integration under Apache License Version 2.0
3840
CoursePortlet - Webapp under Apache License Version 2.0
3941
Cryptacular Library under Apache 2 or GNU Lesser General Public License
42+
dom4j under BSD License
4043
ehcache under The Apache Software License, Version 2.0
4144
Ehcache Core under The Apache Software License, Version 2.0
4245
Ehcache Web Filters under The Apache Software License, Version 2.0
46+
Esbuild wrapper for Java bundled with original binaries under MIT License
4347
Guava: Google Core Libraries for Java under The Apache Software License, Version 2.0
4448
Hamcrest Core under New BSD License
49+
Hibernate Core under GNU Lesser General Public License
4550
Jackson module: Old JAXB Annotations (javax.xml.bind) under The Apache Software License, Version 2.0
4651
Jackson-annotations under The Apache Software License, Version 2.0
4752
Jackson-core under The Apache Software License, Version 2.0
@@ -51,21 +56,23 @@ This project includes:
5156
Jakarta XML Binding API under Eclipse Distribution License - v 1.0
5257
JASYPT: Java Simplified Encryption under The Apache Software License, Version 2.0
5358
Java Portlet Specification V2.0 under Commons Development and Distribution License, Version 1.0
59+
Java Servlet API under CDDL + GPLv2 with classpath exception
60+
Java Transaction API under Commons Development and Distribution License, Version 1.0
5461
java-support under The Apache Software License, Version 2.0
5562
JavaBeans Activation Framework API jar under CDDL/GPLv2+CE
5663
JavaMail 1.4 under The Apache Software License, Version 2.0
5764
javax.annotation API under CDDL + GPLv2 with classpath exception
5865
jaxb-api under CDDL 1.1 or GPL2 w/ CPE
5966
JAXB2 Basics - Runtime under BSD-Style License
60-
JCL 1.2 implemented over SLF4J under Apache License, Version 2.0
61-
Joda time under Apache 2
67+
JCL 1.2 implemented over SLF4J under Apache-2.0
68+
Joda-Time under Apache License, Version 2.0
6269
Joda-Time JSP tags support under Apache 2
6370
jstl under Commons Development and Distribution License, Version 1.0
64-
JUL to SLF4J bridge under MIT License
71+
JUL to SLF4J bridge under MIT
6572
JUnit under Eclipse Public License 1.0
66-
Log4j Implemented Over SLF4J under Apache Software Licenses
67-
Logback Classic Module under Eclipse Public License - v 1.0 or GNU Lesser General Public License
68-
Logback Core Module under Eclipse Public License - v 1.0 or GNU Lesser General Public License
73+
Log4j Implemented Over SLF4J under Apache-2.0
74+
Logback Classic Module under Eclipse Public License - v 2.0 or GNU Lesser General Public License
75+
Logback Core Module under Eclipse Public License - v 2.0 or GNU Lesser General Public License
6976
mockito-core under The MIT License
7077
Objenesis under Apache License, Version 2.0
7178
Old JAXB Runtime under Eclipse Distribution License - v 1.0
@@ -90,23 +97,22 @@ This project includes:
9097
Resource Server Content under Apache License Version 2.0
9198
Resource Server Core under Apache License Version 2.0
9299
Resource Server Utilities under Apache License Version 2.0
93-
servlet-api under Commons Development and Distribution License, Version 1.0
94-
SLF4J API Module under MIT License
100+
SLF4J API Module under MIT
95101
Spring AOP under The Apache Software License, Version 2.0
96102
Spring Beans under The Apache Software License, Version 2.0
97103
Spring Context under The Apache Software License, Version 2.0
98104
Spring Context Support under The Apache Software License, Version 2.0
99105
Spring Core under The Apache Software License, Version 2.0
100106
Spring Expression Language (SpEL) under The Apache Software License, Version 2.0
101107
Spring JDBC under The Apache Software License, Version 2.0
102-
Spring Portlet WebMVC Contributions under Apache License Version 2.0
108+
Spring Object/XML Marshalling under The Apache Software License, Version 2.0
109+
Spring Portlet WebMVC Contributions under Apache License, Version 2.0
103110
Spring TestContext Framework under The Apache Software License, Version 2.0
104111
Spring Transaction under The Apache Software License, Version 2.0
105112
Spring Web under The Apache Software License, Version 2.0
106113
Spring Web MVC under The Apache Software License, Version 2.0
107114
Spring Web Portlet under The Apache Software License, Version 2.0
108115
Spring WS Core under The Apache Software License, Version 2.0
109-
spring-oxm under The Apache Software License, Version 2.0
110116
spring-security-core under The Apache Software License, Version 2.0
111117
spring-ws-security under Apache License, Version 2.0
112118
spring-xml under Apache License, Version 2.0
@@ -115,5 +121,6 @@ This project includes:
115121
Streaming API for XML under Sun Binary Code License
116122
Woodstox under The Apache Software License, Version 2.0
117123
WSDL4J under CPL
124+
XML Commons External Components XML APIs under The Apache Software License, Version 2.0
118125
XMLTooling-J under Apache 2
119126

courses-portlet-api/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333

3434
<dependencies>
3535
<dependency>
36-
<groupId>commons-lang</groupId>
37-
<artifactId>commons-lang</artifactId>
36+
<groupId>org.apache.commons</groupId>
37+
<artifactId>commons-lang3</artifactId>
3838
</dependency>
3939
<dependency>
4040
<groupId>joda-time</groupId>

courses-portlet-api/src/main/java/org/jasig/portlet/degreeprogress/model/StudentCourseRegistration.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
*/
1919
package org.jasig.portlet.degreeprogress.model;
2020

21-
import org.apache.commons.lang.builder.ToStringBuilder;
22-
import org.apache.commons.lang.builder.ToStringStyle;
21+
import org.apache.commons.lang3.builder.ToStringBuilder;
22+
import org.apache.commons.lang3.builder.ToStringStyle;
2323
import org.jasig.portlet.degreeprogress.model.xml.Course;
2424
import org.jasig.portlet.degreeprogress.model.xml.Grade;
2525
import org.jasig.portlet.degreeprogress.model.xml.Semester;

courses-portlet-dao/src/main/java/org/jasig/portlet/courses/dao/xml/SecureRequestCredentials.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
import javax.crypto.spec.PBEKeySpec;
3737
import javax.crypto.spec.PBEParameterSpec;
3838

39-
import org.apache.commons.lang.RandomStringUtils;
39+
import org.apache.commons.lang3.RandomStringUtils;
4040

4141
/**
4242
* Holds a username and password in a secure manner. The intent is not to protect from in memory attacks as calling {@link #getPassword()}

courses-portlet-webapp/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,8 +37,8 @@
3737
<version>${project.version}</version>
3838
</dependency>
3939
<dependency>
40-
<groupId>commons-lang</groupId>
41-
<artifactId>commons-lang</artifactId>
40+
<groupId>org.apache.commons</groupId>
41+
<artifactId>commons-lang3</artifactId>
4242
</dependency>
4343
<dependency>
4444
<groupId>javax.servlet</groupId>

courses-portlet-webapp/src/main/java/org/jasig/portlet/courses/mvc/wrapper/CourseSectionMeetingWrapper.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
*/
1919
package org.jasig.portlet.courses.mvc.wrapper;
2020

21-
import org.apache.commons.lang.StringUtils;
21+
import org.apache.commons.lang3.StringUtils;
2222
import org.jasig.portlet.courses.model.xml.CourseMeeting;
2323
import org.jasig.portlet.courses.model.xml.CourseSection;
2424
import org.jasig.portlet.courses.service.IURLService;

courses-portlet-webapp/src/main/java/org/jasig/portlet/degreeprogress/mvc/portlet/DegreeProgressController.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
import javax.portlet.PortletPreferences;
2626
import javax.portlet.PortletRequest;
2727

28-
import org.apache.commons.lang.StringUtils;
28+
import org.apache.commons.lang3.StringUtils;
2929
import org.jasig.portlet.courses.dao.ICoursesDao;
3030
import org.jasig.portlet.degreeprogress.dao.IDegreeProgramDao;
3131
import org.jasig.portlet.degreeprogress.dao.IDegreeProgressDao;

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
<parent>
2424
<groupId>org.jasig.portlet</groupId>
2525
<artifactId>uportal-portlet-parent</artifactId>
26-
<version>50</version>
26+
<version>51</version>
2727
</parent>
2828

2929
<modelVersion>4.0.0</modelVersion>

0 commit comments

Comments
 (0)