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 <r...@apache.org> 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: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org