This is an automated email from the ASF dual-hosted git repository.
remm pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/main by this push:
new 835173dd6c Add useOpenSSL flag to the OpenSSL listener
835173dd6c is described below
commit 835173dd6cbb16304e0c470aca94de470ec8e3e3
Author: remm <[email protected]>
AuthorDate: Fri Dec 22 10:51:50 2023 +0100
Add useOpenSSL flag to the OpenSSL listener
Also fix strings.
---
java/org/apache/catalina/connector/Connector.java | 2 +-
java/org/apache/catalina/core/LocalStrings.properties | 8 ++++----
java/org/apache/catalina/core/OpenSSLLifecycleListener.java | 10 ++++++++++
java/org/apache/tomcat/util/net/openssl/OpenSSLStatus.java | 9 +++++++++
4 files changed, 24 insertions(+), 5 deletions(-)
diff --git a/java/org/apache/catalina/connector/Connector.java
b/java/org/apache/catalina/connector/Connector.java
index 5ef50ca140..f2d68763cb 100644
--- a/java/org/apache/catalina/connector/Connector.java
+++ b/java/org/apache/catalina/connector/Connector.java
@@ -1008,7 +1008,7 @@ public class Connector extends LifecycleMBeanBase {
setParseBodyMethods(getParseBodyMethods());
}
- if (JreCompat.isJre22Available() && OpenSSLStatus.isAvailable()
+ if (JreCompat.isJre22Available() && OpenSSLStatus.getUseOpenSSL() &&
OpenSSLStatus.isAvailable()
&& protocolHandler instanceof AbstractHttp11Protocol) {
AbstractHttp11Protocol<?> jsseProtocolHandler =
(AbstractHttp11Protocol<?>) protocolHandler;
if (jsseProtocolHandler.isSSLEnabled() &&
jsseProtocolHandler.getSslImplementationName() == null) {
diff --git a/java/org/apache/catalina/core/LocalStrings.properties
b/java/org/apache/catalina/core/LocalStrings.properties
index d4c6acb2e7..d65120a9fa 100644
--- a/java/org/apache/catalina/core/LocalStrings.properties
+++ b/java/org/apache/catalina/core/LocalStrings.properties
@@ -160,10 +160,10 @@ naming.wsdlFailed=Failed to find wsdl file: [{0}]
noPluggabilityServletContext.notAllowed=Section 4.4 of the Servlet 3.0
specification does not permit this method to be called from a
ServletContextListener that was not defined in web.xml, a web-fragment.xml file
nor annotated with @WebListener
-openssllistener.destroy=Failed shutdown of OpenSSL
-openssllistener.initializeFIPSFailed=Failed to enter FIPS mode
-openssllistener.java22=Tomcat OpenSSL support requires the FFM API which is
available in Java 22 and newer, tomcat-native should be used instead
-openssllistener.sslInit=Failed to initialize the SSLEngine.
+openssllistener.destroy=OpenSSL shutdown failed
+openssllistener.initializeFIPSFailed=Failed entering FIPS mode
+openssllistener.java22=The FFM API from Java 22 is not available, using
OpenSSL requires Apache Tomcat Native
+openssllistener.sslInit=OpenSSL initialization failed
propertiesRoleMappingListener.roleMappingFileNull=Role mapping file cannot be
null
propertiesRoleMappingListener.roleMappingFileEmpty=Role mapping file cannot be
empty
diff --git a/java/org/apache/catalina/core/OpenSSLLifecycleListener.java
b/java/org/apache/catalina/core/OpenSSLLifecycleListener.java
index 98d7d7d6b0..477ca41317 100644
--- a/java/org/apache/catalina/core/OpenSSLLifecycleListener.java
+++ b/java/org/apache/catalina/core/OpenSSLLifecycleListener.java
@@ -220,4 +220,14 @@ public class OpenSSLLifecycleListener implements
LifecycleListener {
return false;
}
+ public void setUseOpenSSL(boolean useOpenSSL) {
+ if (useOpenSSL != OpenSSLStatus.getUseOpenSSL()) {
+ OpenSSLStatus.setUseOpenSSL(useOpenSSL);
+ }
+ }
+
+ public static boolean getUseOpenSSL() {
+ return OpenSSLStatus.getUseOpenSSL();
+ }
+
}
diff --git a/java/org/apache/tomcat/util/net/openssl/OpenSSLStatus.java
b/java/org/apache/tomcat/util/net/openssl/OpenSSLStatus.java
index c6beb712bb..682e878de1 100644
--- a/java/org/apache/tomcat/util/net/openssl/OpenSSLStatus.java
+++ b/java/org/apache/tomcat/util/net/openssl/OpenSSLStatus.java
@@ -23,6 +23,7 @@ public class OpenSSLStatus {
private static volatile boolean libraryInitialized = false;
private static volatile boolean initialized = false;
private static volatile boolean available = false;
+ private static volatile boolean useOpenSSL = true;
private static volatile boolean instanceCreated = false;
@@ -38,6 +39,10 @@ public class OpenSSLStatus {
return available;
}
+ public static boolean getUseOpenSSL() {
+ return useOpenSSL;
+ }
+
public static boolean isInstanceCreated() {
return instanceCreated;
}
@@ -54,6 +59,10 @@ public class OpenSSLStatus {
OpenSSLStatus.available = available;
}
+ public static void setUseOpenSSL(boolean useOpenSSL) {
+ OpenSSLStatus.useOpenSSL = useOpenSSL;
+ }
+
public static void setInstanceCreated(boolean instanceCreated) {
OpenSSLStatus.instanceCreated = instanceCreated;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]