From bbd6b996058239a40fc82c901b1755d14591db30 Mon Sep 17 00:00:00 2001
From: Ryan Kurtz <ryanmkurtz@users.noreply.github.com>
Date: Mon, 5 May 2025 07:24:22 -0400
Subject: [PATCH] GP-5631: Upgrading some jars

---
 Ghidra/Features/Base/build.gradle                 |  2 +-
 .../demangler/gnu/GnuDemanglerNativeProcess.java  |  2 +-
 Ghidra/Framework/Docking/build.gradle             |  6 +++---
 Ghidra/Framework/Generic/Module.manifest          | 13 +++++++------
 Ghidra/Framework/Generic/build.gradle             | 15 ++++++++-------
 Ghidra/Framework/Gui/build.gradle                 |  2 +-
 gradle/javaProject.gradle                         |  8 ++++----
 7 files changed, 25 insertions(+), 23 deletions(-)

diff --git a/Ghidra/Features/Base/build.gradle b/Ghidra/Features/Base/build.gradle
index 43d646d8cd..3361951924 100644
--- a/Ghidra/Features/Base/build.gradle
+++ b/Ghidra/Features/Base/build.gradle
@@ -53,7 +53,7 @@ dependencies {
 	// use this if you want slf4j log messages sent to log4j
 	//	runtimeOnly "org.apache.logging.log4j:log4j-slf4j-impl:2.17.1" 
 	
-   	compileOnly "junit:junit:4.12"
+   	compileOnly "junit:junit:4.13.2"
 	
 	// These have abstract test classes and stubs needed by this module	
 	testImplementation project(path: ':Docking', configuration: 'testArtifacts')
diff --git a/Ghidra/Features/GnuDemangler/src/main/java/ghidra/app/util/demangler/gnu/GnuDemanglerNativeProcess.java b/Ghidra/Features/GnuDemangler/src/main/java/ghidra/app/util/demangler/gnu/GnuDemanglerNativeProcess.java
index eb36b03b5a..8453d87ffd 100644
--- a/Ghidra/Features/GnuDemangler/src/main/java/ghidra/app/util/demangler/gnu/GnuDemanglerNativeProcess.java
+++ b/Ghidra/Features/GnuDemangler/src/main/java/ghidra/app/util/demangler/gnu/GnuDemanglerNativeProcess.java
@@ -238,7 +238,7 @@ public class GnuDemanglerNativeProcess {
 			List<String> errorLines = IOUtils.readLines(err, Charset.defaultCharset());
 			error = StringUtils.join(errorLines, '\n');
 		}
-		catch (IOException e) {
+		catch (UncheckedIOException e) {
 			throw new IOException("Unable to read process error stream: ", e);
 		}
 
diff --git a/Ghidra/Framework/Docking/build.gradle b/Ghidra/Framework/Docking/build.gradle
index 279b119dcd..0c447e5d45 100644
--- a/Ghidra/Framework/Docking/build.gradle
+++ b/Ghidra/Framework/Docking/build.gradle
@@ -4,9 +4,9 @@
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -28,7 +28,7 @@ dependencies {
 	
 	// include code from src/test in Generic
 	testImplementation project(path: ':Generic', configuration: 'testArtifacts')
-	compileOnly "junit:junit:4.12"
+	compileOnly "junit:junit:4.13.2"
 }
 
 ext.addExports([
diff --git a/Ghidra/Framework/Generic/Module.manifest b/Ghidra/Framework/Generic/Module.manifest
index d42b2be056..98d75d9ed7 100644
--- a/Ghidra/Framework/Generic/Module.manifest
+++ b/Ghidra/Framework/Generic/Module.manifest
@@ -1,14 +1,15 @@
-MODULE FILE LICENSE: lib/commons-compress-1.21.jar Apache License 2.0
+MODULE FILE LICENSE: lib/commons-compress-1.27.1.jar Apache License 2.0
+MODULE FILE LICENSE: lib/commons-codec-1.18.0.jar Apache License 2.0
 MODULE FILE LICENSE: lib/guava-32.1.3-jre.jar Apache License 2.0
 MODULE FILE LICENSE: lib/failureaccess-1.0.1.jar Apache License 2.0
 MODULE FILE LICENSE: lib/jdom-legacy-1.1.3.jar JDOM License
 MODULE FILE LICENSE: lib/log4j-api-2.17.1.jar Apache License 2.0
 MODULE FILE LICENSE: lib/log4j-core-2.17.1.jar Apache License 2.0
 MODULE FILE LICENSE: lib/commons-collections4-4.1.jar Apache License 2.0
-MODULE FILE LICENSE: lib/commons-lang3-3.12.0.jar Apache License 2.0
-MODULE FILE LICENSE: lib/commons-io-2.11.0.jar Apache License 2.0
+MODULE FILE LICENSE: lib/commons-lang3-3.17.0.jar Apache License 2.0
+MODULE FILE LICENSE: lib/commons-io-2.19.0.jar Apache License 2.0
 MODULE FILE LICENSE: lib/commons-text-1.10.0.jar Apache License 2.0
 MODULE FILE LICENSE: lib/gson-2.9.0.jar Apache License 2.0
-MODULE FILE LICENSE: lib/bcpkix-jdk15on-1.69.jar Bouncy Castle License
-MODULE FILE LICENSE: lib/bcprov-jdk15on-1.69.jar Bouncy Castle License
-MODULE FILE LICENSE: lib/bcutil-jdk15on-1.69.jar Bouncy Castle License
+MODULE FILE LICENSE: lib/bcpkix-jdk18on-1.80.jar Bouncy Castle License
+MODULE FILE LICENSE: lib/bcprov-jdk18on-1.80.jar Bouncy Castle License
+MODULE FILE LICENSE: lib/bcutil-jdk18on-1.80.jar Bouncy Castle License
diff --git a/Ghidra/Framework/Generic/build.gradle b/Ghidra/Framework/Generic/build.gradle
index 105095fa02..1ff6a60f87 100644
--- a/Ghidra/Framework/Generic/build.gradle
+++ b/Ghidra/Framework/Generic/build.gradle
@@ -37,16 +37,17 @@ dependencies {
 	api "org.apache.logging.log4j:log4j-api:2.17.1"
 	api "org.apache.logging.log4j:log4j-core:2.17.1"
 	api "org.apache.commons:commons-collections4:4.1"
-	api "org.apache.commons:commons-compress:1.21"
-	api "org.apache.commons:commons-lang3:3.12.0"
+	api "org.apache.commons:commons-compress:1.27.1" // requires commons-codec
+	api "commons-codec:commons-codec:1.18.0"
+	api "org.apache.commons:commons-lang3:3.17.0"
 	api "org.apache.commons:commons-text:1.10.0"
-	api "commons-io:commons-io:2.11.0"	
+	api "commons-io:commons-io:2.19.0"	
 	api "com.google.code.gson:gson:2.9.0"
-	api "org.bouncycastle:bcpkix-jdk15on:1.69" // requires bcutil and bcprov
-	api "org.bouncycastle:bcprov-jdk15on:1.69"
-	api "org.bouncycastle:bcutil-jdk15on:1.69"
+	api "org.bouncycastle:bcpkix-jdk18on:1.80" // requires bcutil and bcprov
+	api "org.bouncycastle:bcprov-jdk18on:1.80"
+	api "org.bouncycastle:bcutil-jdk18on:1.80"
 
-	compileOnly "junit:junit:4.12"
+	compileOnly "junit:junit:4.13.2"
 	compileOnly "org.hamcrest:hamcrest:2.2"
 
 	constraints {
diff --git a/Ghidra/Framework/Gui/build.gradle b/Ghidra/Framework/Gui/build.gradle
index 4413521031..e9ea535086 100644
--- a/Ghidra/Framework/Gui/build.gradle
+++ b/Ghidra/Framework/Gui/build.gradle
@@ -28,7 +28,7 @@ dependencies {
 	api project(':Generic')
 	api 'com.formdev:flatlaf:3.5.4'
 	
-	compileOnly "junit:junit:4.12"
+	compileOnly "junit:junit:4.13.2"
 	
 	testImplementation project(path: ':Generic', configuration: 'testArtifacts')
 }
diff --git a/gradle/javaProject.gradle b/gradle/javaProject.gradle
index 69531fc63c..b9d9ea3bcf 100644
--- a/gradle/javaProject.gradle
+++ b/gradle/javaProject.gradle
@@ -4,9 +4,9 @@
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
- * 
+ *
  *      http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -161,8 +161,8 @@ dependencies {
 
 	testImplementation "org.hamcrest:hamcrest:2.2"
 
-	testImplementation "junit:junit:4.12"
-	pcodeTestImplementation "junit:junit:4.12"
+	testImplementation "junit:junit:4.13.2"
+	pcodeTestImplementation "junit:junit:4.13.2"
 }
 
 // For Java 9, we must explicitly export references to the internal classes we are using.