[Bug 64127] mod_webapp errors in Win2k

2020-02-09 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=64127

Ebarg  changed:

   What|Removed |Added

 Blocks||64129


Referenced Bugs:

https://bz.apache.org/bugzilla/show_bug.cgi?id=64129
[Bug 64129] mod_webapp errors in Win2k
-- 
You are receiving this mail because:
You are on the CC list for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 1788] mod_webapp errors in Win2k

2020-02-09 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=1788

Ebarg  changed:

   What|Removed |Added

 Blocks||64129


Referenced Bugs:

https://bz.apache.org/bugzilla/show_bug.cgi?id=64129
[Bug 64129] mod_webapp errors in Win2k
-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 64129] New: mod_webapp errors in Win2k

2020-02-09 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=64129

Bug ID: 64129
   Summary: mod_webapp errors in Win2k
   Product: Apache httpd-2
   Version: 2.5-HEAD
  Hardware: Macintosh
OS: All
Status: NEW
  Severity: critical
  Priority: P1
 Component: mod_authn_default
  Assignee: b...@httpd.apache.org
  Reporter: e.barg0...@icloud.com
CC: b...@httpd.apache.org, dev@tomcat.apache.org,
e...@21cn.com
Depends on: 64127, 1788
  Target Milestone: ---

+++ This bug was initially created as a clone of Bug #64127 +++

+++ This bug was initially created as a clone of Bug #1788 +++

Hi,
When I use mod_webapp.dll connectors(20010516) in Win2K with Apache
1.3.19 and Tomcat-4.0-20010516, no error reports by Tomcat or Apache,
but the browser is frozen,can you help me ?


Referenced Bugs:

https://bz.apache.org/bugzilla/show_bug.cgi?id=1788
[Bug 1788] mod_webapp errors in Win2k
https://bz.apache.org/bugzilla/show_bug.cgi?id=64127
[Bug 64127] mod_webapp errors in Win2k
-- 
You are receiving this mail because:
You are on the CC list for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 1788] mod_webapp errors in Win2k

2020-02-09 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=1788

Ebarg  changed:

   What|Removed |Added

 Blocks||64127


Referenced Bugs:

https://bz.apache.org/bugzilla/show_bug.cgi?id=64127
[Bug 64127] mod_webapp errors in Win2k
-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 64127] New: mod_webapp errors in Win2k

2020-02-09 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=64127

Bug ID: 64127
   Summary: mod_webapp errors in Win2k
   Product: Apache httpd-2
   Version: 2.5-HEAD
  Hardware: Macintosh
Status: NEW
  Severity: critical
  Priority: P1
 Component: mod_authn_default
  Assignee: b...@httpd.apache.org
  Reporter: e.barg0...@icloud.com
CC: dev@tomcat.apache.org, e...@21cn.com
Depends on: 1788
  Target Milestone: ---

+++ This bug was initially created as a clone of Bug #1788 +++

Hi,
When I use mod_webapp.dll connectors(20010516) in Win2K with Apache
1.3.19 and Tomcat-4.0-20010516, no error reports by Tomcat or Apache,
but the browser is frozen,can you help me ?


Referenced Bugs:

https://bz.apache.org/bugzilla/show_bug.cgi?id=1788
[Bug 1788] mod_webapp errors in Win2k
-- 
You are receiving this mail because:
You are on the CC list for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[Bug 56890] getRealPath returns null

2020-02-09 Thread bugzilla
https://bz.apache.org/bugzilla/show_bug.cgi?id=56890

Ebarg  changed:

   What|Removed |Added

 CC||e.barg0...@icloud.com
 Status|NEEDINFO|NEW

-- 
You are receiving this mail because:
You are the assignee for the bug.
-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[GitHub] [tomcat] bohmber opened a new pull request #238: Improved DNSMembershipProvider configuration option 2

2020-02-09 Thread GitBox
bohmber opened a new pull request #238: Improved DNSMembershipProvider 
configuration option 2
URL: https://github.com/apache/tomcat/pull/238
 
 
   DNSMembershipProvider configuration is little bit limited/broken with the 
KUBERNETES_NAMESPACE 
   and OPENSHIFT_KUBE_PING_NAMESPACE environment variables. 
   In Openshift the KUBERNETES_NAMESPACE is the Openshift project name. 
   If you want override it with the OPENSHIFT_KUBE_PING_NAMESPACE variable this 
is not possible because the order of the resolution is KUBERNETES_NAMESPACE and 
then OPENSHIFT_KUBE_PING_NAMESPACE. 
   Nobody will override the KUBERNETES_NAMESPACE with a different value because 
this is weired. 
   Second KUBE_PING is a name for the kubernetes ping discovery for jgroups. 
   I see two options to improve the configuration of the DNSMembershiftProvide. 
   - Change the order of the resolution first look at 
OPENSHIFT_KUBE_PING_NAMESPACE and then KUBERNETES_NAMESPACE(this is not 
backwards compatible) 
   - Add a new env variables like DNS_MEMBERSHIP_SERVICE_NAME 


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[GitHub] [tomcat] bohmber opened a new pull request #237: Improved DNSMembershipProvider configuration

2020-02-09 Thread GitBox
bohmber opened a new pull request #237: Improved DNSMembershipProvider 
configuration
URL: https://github.com/apache/tomcat/pull/237
 
 
   DNSMembershipProvider configuration is little bit limited/broken with the 
KUBERNETES_NAMESPACE 
   and OPENSHIFT_KUBE_PING_NAMESPACE environment variables. 
   In Openshift the KUBERNETES_NAMESPACE is the Openshift project name. 
   If you want override it with the OPENSHIFT_KUBE_PING_NAMESPACE variable this 
is not possible because the order of the resolution is KUBERNETES_NAMESPACE and 
then OPENSHIFT_KUBE_PING_NAMESPACE. 
   Nobody will override the KUBERNETES_NAMESPACE with a different value because 
this is weired. 
   Second KUBE_PING is a name for the kubernetes ping discovery for jgroups. 
   I see two options to improve the configuration of the DNSMembershiftProvide. 
   - Change the order of the resolution first look at 
OPENSHIFT_KUBE_PING_NAMESPACE and then KUBERNETES_NAMESPACE(this is not 
backwards compatible) 
   - Add a new env variables like DNS_MEMBERSHIP_SERVICE_NAME 


This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


With regards,
Apache Git Services

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: [tomcat-jakartaee-migration] branch master updated: Drop cryptographic signatures from converted JAR files

2020-02-09 Thread Felix Schumacher


Am 09.02.20 um 12:49 schrieb Mark Thomas:
> On 09/02/2020 11:00, fschumac...@apache.org wrote:
>
> 
>
>> All dropped signatures and signature files will be logged at leve FINE.
>> Maybe we should log a warning at the end of the conversion, if signatures
>> where dropped, to raise more awareness for these kind of modification.
> +1 for a warning.

Implemented the warnings as log entries.

I think it would be nicer to show them at the end of the run, but that
would mean a lot of changes, as I  don't want to use global variables to
convey those warnings and the current return values are booleans
(indicating success/error, only).

Felix

>
> Mark
>
> P.S. It is great to see this tool evolving as other start to use it.
>
> -
> To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
> For additional commands, e-mail: dev-h...@tomcat.apache.org
>

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat-jakartaee-migration] 01/02: Markup changes

2020-02-09 Thread fschumacher
This is an automated email from the ASF dual-hosted git repository.

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

commit 85d6dec49a8b00fa39c552fbd6ab325cdc5de31d
Author: Felix Schumacher 
AuthorDate: Sun Feb 9 15:19:51 2020 +0100

Markup changes
---
 README.md | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/README.md b/README.md
index 9f6717e..637c529 100644
--- a/README.md
+++ b/README.md
@@ -27,10 +27,13 @@ The source should be a path to a compressed archive, a 
folder or an individual f
 Jakarta EE 9 is still under development and there are some details that remain 
to be worked out.
 
 The differences currently supported by this tool are:
-* Renaming packages for Jakarta EE 9 APIs from javax.* to jakarta.*
+
+* Renaming packages for Jakarta EE 9 APIs from `javax.*` to `jakarta.*`
 
 The differences yet to be implemented by this tool are:
+
 * Remaining issues once resolved
 
 The issues still to be resolved by the Jakarta EE projects that will impact 
this tool are:
+
 * XML schemas


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat-jakartaee-migration] branch master updated (8207a5d -> 1418dfd)

2020-02-09 Thread fschumacher
This is an automated email from the ASF dual-hosted git repository.

fschumacher pushed a change to branch master
in repository 
https://gitbox.apache.org/repos/asf/tomcat-jakartaee-migration.git.


from 8207a5d  Simplify code
 new 85d6dec  Markup changes
 new 1418dfd  Add warnings in the log for each removed signature

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 README.md  | 10 +-
 src/main/java/org/apache/tomcat/jakartaee/Migration.java   | 10 +++---
 .../org/apache/tomcat/jakartaee/LocalStrings.properties|  3 ++-
 3 files changed, 18 insertions(+), 5 deletions(-)


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat-jakartaee-migration] 02/02: Add warnings in the log for each removed signature

2020-02-09 Thread fschumacher
This is an automated email from the ASF dual-hosted git repository.

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

commit 1418dfd906bb4bbe405a1ce835617231e8ac1177
Author: Felix Schumacher 
AuthorDate: Sun Feb 9 15:19:15 2020 +0100

Add warnings in the log for each removed signature
---
 README.md  |  5 +
 src/main/java/org/apache/tomcat/jakartaee/Migration.java   | 10 +++---
 .../org/apache/tomcat/jakartaee/LocalStrings.properties|  3 ++-
 3 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/README.md b/README.md
index 637c529..990718e 100644
--- a/README.md
+++ b/README.md
@@ -22,6 +22,11 @@ Migrate your Servlet application with:
 
 The source should be a path to a compressed archive, a folder or an individual 
file. The destination will be created at the specified path as a resource of 
the same type as the source.
 
+> **INFO**
+> This tool will remove cryptographic signatures from JAR files contained in 
the *source*, as the changed resources would not match them anymore.
+>
+> A warning will be logged for each JAR file where the signature has been 
removed.
+
 ## Differences between Java EE 8 and Jakarta EE 9
 
 Jakarta EE 9 is still under development and there are some details that remain 
to be worked out.
diff --git a/src/main/java/org/apache/tomcat/jakartaee/Migration.java 
b/src/main/java/org/apache/tomcat/jakartaee/Migration.java
index f2eed3f..1140f26 100644
--- a/src/main/java/org/apache/tomcat/jakartaee/Migration.java
+++ b/src/main/java/org/apache/tomcat/jakartaee/Migration.java
@@ -139,7 +139,9 @@ public class Migration {
 // Otherwise messing with signatures will fail
 manifest = new Manifest(manifest);
 updateVersion(manifest);
-removeSignatures(manifest);
+if (removeSignatures(manifest)) {
+logger.log(Level.WARNING, 
sm.getString("migration.warnSignatureRemoval"));
+}
 JarEntry manifestEntry = new JarEntry(JarFile.MANIFEST_NAME);
 jarOs.putNextEntry(manifestEntry);
 manifest.write(jarOs);
@@ -185,8 +187,8 @@ public class Migration {
 }
 
 
-private void removeSignatures(Manifest manifest) {
-manifest.getMainAttributes().remove(Attributes.Name.SIGNATURE_VERSION);
+private boolean removeSignatures(Manifest manifest) {
+boolean removedSignatures = 
manifest.getMainAttributes().remove(Attributes.Name.SIGNATURE_VERSION) != null;
 List signatureEntries = new ArrayList<>();
 Map manifestAttributeEntries = 
manifest.getEntries();
 for (Entry entry : 
manifestAttributeEntries.entrySet()) {
@@ -194,10 +196,12 @@ public class Migration {
 String entryName = entry.getKey();
 signatureEntries.add(entryName);
 logger.log(Level.FINE, 
sm.getString("migration.removeSignature", entryName));
+removedSignatures = true;
 }
 }
 signatureEntries.stream()
 .forEach(manifestAttributeEntries::remove);
+return removedSignatures;
 }
 
 
diff --git 
a/src/main/resources/org/apache/tomcat/jakartaee/LocalStrings.properties 
b/src/main/resources/org/apache/tomcat/jakartaee/LocalStrings.properties
index 2f9560d..d13091f 100644
--- a/src/main/resources/org/apache/tomcat/jakartaee/LocalStrings.properties
+++ b/src/main/resources/org/apache/tomcat/jakartaee/LocalStrings.properties
@@ -23,4 +23,5 @@ migration.mkdirError=Error creating destination directory 
[{0}]
 migration.removeSignature=Remove cryptographic signature for [{0}]
 migration.skipSignatureFile=Drop cryptographic signature file [{0}]
 migration.stream=Migrating stream [{0}]
-migration.usage=Usage: Migration  
\ No newline at end of file
+migration.usage=Usage: Migration  
+migration.warnSignatureRemoval=Removed cryptographic signature from JAR file
\ No newline at end of file


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



Re: [tomcat-jakartaee-migration] branch master updated: Drop cryptographic signatures from converted JAR files

2020-02-09 Thread Mark Thomas
On 09/02/2020 11:00, fschumac...@apache.org wrote:



> All dropped signatures and signature files will be logged at leve FINE.
> Maybe we should log a warning at the end of the conversion, if signatures
> where dropped, to raise more awareness for these kind of modification.

+1 for a warning.

Mark

P.S. It is great to see this tool evolving as other start to use it.

-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat-jakartaee-migration] branch master updated: Simplify code

2020-02-09 Thread fschumacher
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
 new 8207a5d  Simplify code
8207a5d is described below

commit 8207a5d74e2b22f0d5e2e58dd37ee3d9ae9bd74e
Author: Felix Schumacher 
AuthorDate: Sun Feb 9 12:12:15 2020 +0100

Simplify code

No need for if clause. The return values are the result of the 
if-expression.
With the last commit, we are sure that we don't get null values, so we 
don't have
to guard or code against it.
---
 src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java | 10 +-
 src/main/java/org/apache/tomcat/jakartaee/TextConverter.java  |  9 +
 2 files changed, 2 insertions(+), 17 deletions(-)

diff --git a/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java 
b/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java
index 303b066..4bb 100644
--- a/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java
+++ b/src/main/java/org/apache/tomcat/jakartaee/ClassConverter.java
@@ -30,15 +30,7 @@ public class ClassConverter implements Converter {
 @Override
 public boolean accepts(String filename) {
 String extension = Util.getExtension(filename);
-if (extension == null || extension.length() == 0) {
-return false;
-}
-
-if ("class".equals(extension)) {
-return true;
-}
-
-return false;
+return "class".equals(extension);
 }
 
 
diff --git a/src/main/java/org/apache/tomcat/jakartaee/TextConverter.java 
b/src/main/java/org/apache/tomcat/jakartaee/TextConverter.java
index 7cf2530..d0a0db2 100644
--- a/src/main/java/org/apache/tomcat/jakartaee/TextConverter.java
+++ b/src/main/java/org/apache/tomcat/jakartaee/TextConverter.java
@@ -45,15 +45,8 @@ public class TextConverter implements Converter {
 @Override
 public boolean accepts(String filename) {
 String extension = Util.getExtension(filename);
-if (extension == null || extension.length() == 0) {
-return false;
-}
-
-if (supportedExtensions.contains(extension)) {
-return true;
-}
 
-return false;
+return supportedExtensions.contains(extension);
 }
 
 


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat-jakartaee-migration] branch master updated: Don't return null on empty extensions

2020-02-09 Thread fschumacher
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
 new 86b8370  Don't return null on empty extensions
86b8370 is described below

commit 86b8370a714167d86c3fe72be721331658586862
Author: Felix Schumacher 
AuthorDate: Sun Feb 9 12:09:46 2020 +0100

Don't return null on empty extensions

Make it easier for the consumer to handle our answers.
---
 src/main/java/org/apache/tomcat/jakartaee/Util.java | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/apache/tomcat/jakartaee/Util.java 
b/src/main/java/org/apache/tomcat/jakartaee/Util.java
index 25f063f..21e0fbf 100644
--- a/src/main/java/org/apache/tomcat/jakartaee/Util.java
+++ b/src/main/java/org/apache/tomcat/jakartaee/Util.java
@@ -25,11 +25,18 @@ public class Util {
 private static Pattern PATTERN = Pattern.compile(
 
"javax([/\\.](annotation|ejb|el|mail|persistence|security[/\\.]auth[/\\.]message|servlet|transaction|websocket))");
 
+/**
+ * Get the extension of a filename
+ * 
+ * The extension is the string after the last '{@code .}' in the filename.
+ * @param filename the name of the file
+ * @return the extension or an empty string, if no dot is found in the 
filename
+ */
 public static String getExtension(String filename) {
 // Extract the extension
 int lastPeriod = filename.lastIndexOf('.');
 if (lastPeriod == -1) {
-return null;
+return "";
 }
 return filename.substring(lastPeriod + 1).toLowerCase(Locale.ENGLISH);
 }


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat-jakartaee-migration] branch master updated: Use char instead of single char string

2020-02-09 Thread fschumacher
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
 new d5e2d09  Use char instead of single char string
d5e2d09 is described below

commit d5e2d090c0b6152ef6d245817e390a46913b6d79
Author: Felix Schumacher 
AuthorDate: Sun Feb 9 12:03:41 2020 +0100

Use char instead of single char string

The version of String#indexOf is faster for char.
---
 src/main/java/org/apache/tomcat/jakartaee/Util.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/main/java/org/apache/tomcat/jakartaee/Util.java 
b/src/main/java/org/apache/tomcat/jakartaee/Util.java
index 6834ad8..25f063f 100644
--- a/src/main/java/org/apache/tomcat/jakartaee/Util.java
+++ b/src/main/java/org/apache/tomcat/jakartaee/Util.java
@@ -27,7 +27,7 @@ public class Util {
 
 public static String getExtension(String filename) {
 // Extract the extension
-int lastPeriod = filename.lastIndexOf(".");
+int lastPeriod = filename.lastIndexOf('.');
 if (lastPeriod == -1) {
 return null;
 }


-
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org



[tomcat-jakartaee-migration] branch master updated: Drop cryptographic signatures from converted JAR files

2020-02-09 Thread fschumacher
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
 new b379249  Drop cryptographic signatures from converted JAR files
b379249 is described below

commit b379249200d71272fa5a726181f9a979321dd73c
Author: Felix Schumacher 
AuthorDate: Sun Feb 9 11:55:38 2020 +0100

Drop cryptographic signatures from converted JAR files

When we change the classes in the JAR files, the cryptographic
signatures will no longer be valid. Deployment of WAR files that
contain those JAR files will fail.

Therefore drop the signatures of any JAR file that is contained
in the WAR.

All dropped signatures and signature files will be logged at leve FINE.
Maybe we should log a warning at the end of the conversion, if signatures
where dropped, to raise more awareness for these kind of modification.
---
 .../org/apache/tomcat/jakartaee/Migration.java | 42 ++
 .../tomcat/jakartaee/LocalStrings.properties   |  2 ++
 2 files changed, 44 insertions(+)

diff --git a/src/main/java/org/apache/tomcat/jakartaee/Migration.java 
b/src/main/java/org/apache/tomcat/jakartaee/Migration.java
index 04e073a..f2eed3f 100644
--- a/src/main/java/org/apache/tomcat/jakartaee/Migration.java
+++ b/src/main/java/org/apache/tomcat/jakartaee/Migration.java
@@ -24,6 +24,8 @@ import java.io.InputStream;
 import java.io.OutputStream;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
 import java.util.concurrent.TimeUnit;
 import java.util.jar.Attributes;
 import java.util.jar.JarEntry;
@@ -133,7 +135,11 @@ public class Migration {
 JarOutputStream jarOs = new JarOutputStream(new 
NonClosingOutputStream(dest))) {
 Manifest manifest = jarIs.getManifest();
 if (manifest != null) {
+// Make a safe copy to leave original manifest untouched.
+// Otherwise messing with signatures will fail
+manifest = new Manifest(manifest);
 updateVersion(manifest);
+removeSignatures(manifest);
 JarEntry manifestEntry = new JarEntry(JarFile.MANIFEST_NAME);
 jarOs.putNextEntry(manifestEntry);
 manifest.write(jarOs);
@@ -142,6 +148,10 @@ public class Migration {
 while ((jarEntry = jarIs.getNextJarEntry()) != null) {
 String sourceName = jarEntry.getName();
 logger.log(Level.FINE, sm.getString("migration.entry", 
sourceName));
+if (isSignatureFile(sourceName)) {
+logger.log(Level.FINE, 
sm.getString("migration.skipSignatureFile", sourceName));
+continue;
+}
 String destName = Util.convert(sourceName);
 JarEntry destEntry = new JarEntry(destName);
 jarOs.putNextEntry(destEntry);
@@ -152,6 +162,12 @@ public class Migration {
 }
 
 
+private boolean isSignatureFile(String sourceName) {
+return sourceName.startsWith("META-INF/")
+&& (sourceName.endsWith(".SF") || sourceName.endsWith(".RSA") 
|| sourceName.endsWith(".DSA"));
+}
+
+
 private boolean migrateStream(String name, InputStream src, OutputStream 
dest) throws IOException {
 if (isArchive(name)) {
 logger.log(Level.INFO, sm.getString("migration.archive", name));
@@ -169,6 +185,32 @@ public class Migration {
 }
 
 
+private void removeSignatures(Manifest manifest) {
+manifest.getMainAttributes().remove(Attributes.Name.SIGNATURE_VERSION);
+List signatureEntries = new ArrayList<>();
+Map manifestAttributeEntries = 
manifest.getEntries();
+for (Entry entry : 
manifestAttributeEntries.entrySet()) {
+if (isCryptoSignatureEntry(entry.getValue())) {
+String entryName = entry.getKey();
+signatureEntries.add(entryName);
+logger.log(Level.FINE, 
sm.getString("migration.removeSignature", entryName));
+}
+}
+signatureEntries.stream()
+.forEach(manifestAttributeEntries::remove);
+}
+
+
+private boolean isCryptoSignatureEntry(Attributes attributes) {
+for (Object attributeKey : attributes.keySet()) {
+if (attributeKey.toString().endsWith("-Digest")) {
+return true;
+}
+}
+return false;
+}
+
+
 private void updateVersion(Manifest manifest) {
 updateVersion(manifest.getMainAttributes());
 for (Attributes attributes : manifest.getEntries().values()) {
diff --git 
a/src/main/resources/org/apache/tomcat/jakartaee/LocalStrings.properties 
b/src/main/resources/org/apache/tomcat/jakartaee/LocalStrings.