This is an automated email from the ASF dual-hosted git repository.

markt-asf pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat-jakartaee-migration.git


The following commit(s) were added to refs/heads/main by this push:
     new af2d900  Further case-insensitivity improvements
af2d900 is described below

commit af2d900baaa99bc774bdf06be8915424415e8d25
Author: Mark Thomas <[email protected]>
AuthorDate: Tue Sep 8 12:11:31 2026 +0100

    Further case-insensitivity improvements
---
 .../org/apache/tomcat/jakartaee/ManifestConverter.java  | 11 +++++++----
 .../java/org/apache/tomcat/jakartaee/Migration.java     | 17 ++++++++++-------
 2 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/src/main/java/org/apache/tomcat/jakartaee/ManifestConverter.java 
b/src/main/java/org/apache/tomcat/jakartaee/ManifestConverter.java
index d3ebfa5..4801841 100644
--- a/src/main/java/org/apache/tomcat/jakartaee/ManifestConverter.java
+++ b/src/main/java/org/apache/tomcat/jakartaee/ManifestConverter.java
@@ -23,6 +23,7 @@ import java.io.InputStream;
 import java.io.OutputStream;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.jar.Attributes;
@@ -93,9 +94,11 @@ public class ManifestConverter implements Converter {
         // migrating a directory tree use the platform separator ('\' on
         // Windows), so both forms must be matched or manifests in an
         // exploded directory would never be converted.
-        if (path.equals(JarFile.MANIFEST_NAME) ||
-                path.endsWith(MANIFEST_NAME_PATH) ||
-                path.endsWith(MANIFEST_NAME_PATH_PLATFORM)) {
+        // JarFile is case-insensitive for these files
+        String ucPath = path.toUpperCase(Locale.ENGLISH);
+        if (ucPath.equals(JarFile.MANIFEST_NAME) ||
+                ucPath.endsWith(MANIFEST_NAME_PATH) ||
+                ucPath.endsWith(MANIFEST_NAME_PATH_PLATFORM)) {
             return true;
         }
 
@@ -166,7 +169,7 @@ public class ManifestConverter implements Converter {
 
     private boolean isCryptoSignatureEntry(Attributes attributes) {
         for (Object attributeKey : attributes.keySet()) {
-            if (attributeKey.toString().endsWith("-Digest")) {
+            if 
(attributeKey.toString().toLowerCase(Locale.ENGLISH).endsWith("-digest")) {
                 return true;
             }
         }
diff --git a/src/main/java/org/apache/tomcat/jakartaee/Migration.java 
b/src/main/java/org/apache/tomcat/jakartaee/Migration.java
index 3ff780b..5f00ab4 100644
--- a/src/main/java/org/apache/tomcat/jakartaee/Migration.java
+++ b/src/main/java/org/apache/tomcat/jakartaee/Migration.java
@@ -32,6 +32,7 @@ import java.util.ArrayList;
 import java.util.Enumeration;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Locale;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
 import java.util.logging.Level;
@@ -487,11 +488,12 @@ public class Migration {
 
 
     private boolean isSignatureFile(String sourceName) {
-        return sourceName.startsWith("META-INF/") && (
-                sourceName.endsWith(".SF") ||
-                sourceName.endsWith(".RSA") ||
-                sourceName.endsWith(".DSA") ||
-                sourceName.endsWith(".EC")
+        String ucSourceName = sourceName.toUpperCase(Locale.ENGLISH);
+        return ucSourceName.startsWith("META-INF/") && (
+                ucSourceName.endsWith(".SF") ||
+                ucSourceName.endsWith(".RSA") ||
+                ucSourceName.endsWith(".DSA") ||
+                ucSourceName.endsWith(".EC")
                 );
     }
 
@@ -586,8 +588,9 @@ public class Migration {
     }
 
     private boolean isArchive(String fileName) {
-        return fileName.endsWith(".jar") || fileName.endsWith(".war") || 
fileName.endsWith(".ear") ||
-                fileName.endsWith(".zip");
+        String lcFileName = fileName.toLowerCase(Locale.ENGLISH);
+        return lcFileName.endsWith(".jar") || lcFileName.endsWith(".war") || 
lcFileName.endsWith(".ear") ||
+                lcFileName.endsWith(".zip");
     }
 
 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to