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 ef6ace188b Add the OpenSSL version number on the APR and OpenSSL status classes ef6ace188b is described below commit ef6ace188baca0b560efb310f043964951d5a8fd Author: remm <r...@apache.org> AuthorDate: Wed Jun 26 11:43:12 2024 +0200 Add the OpenSSL version number on the APR and OpenSSL status classes --- java/org/apache/catalina/core/AprLifecycleListener.java | 1 + java/org/apache/catalina/core/AprStatus.java | 17 ++++++++++++++++- .../apache/tomcat/util/net/openssl/OpenSSLStatus.java | 16 ++++++++++++++++ .../tomcat/util/net/openssl/panama/OpenSSLLibrary.java | 1 + webapps/docs/changelog.xml | 4 ++++ 5 files changed, 38 insertions(+), 1 deletion(-) diff --git a/java/org/apache/catalina/core/AprLifecycleListener.java b/java/org/apache/catalina/core/AprLifecycleListener.java index 1db75895b9..e7f65cfb02 100644 --- a/java/org/apache/catalina/core/AprLifecycleListener.java +++ b/java/org/apache/catalina/core/AprLifecycleListener.java @@ -288,6 +288,7 @@ public class AprLifecycleListener implements LifecycleListener { method = clazz.getMethod(methodName, paramTypes); method.invoke(null, paramValues); + AprStatus.setOpenSSLVersion(SSL.version()); // OpenSSL 3 onwards uses providers boolean usingProviders = tcnMajor > 1 || (tcnVersion > 1233 && (SSL.version() & 0xF0000000L) > 0x20000000); diff --git a/java/org/apache/catalina/core/AprStatus.java b/java/org/apache/catalina/core/AprStatus.java index 5374d07735..bbc4f0a90e 100644 --- a/java/org/apache/catalina/core/AprStatus.java +++ b/java/org/apache/catalina/core/AprStatus.java @@ -24,7 +24,7 @@ public class AprStatus { private static volatile boolean aprAvailable = false; private static volatile boolean useOpenSSL = true; private static volatile boolean instanceCreated = false; - + private static volatile int openSSLVersion = 0; public static boolean isAprInitialized() { return aprInitialized; @@ -57,4 +57,19 @@ public class AprStatus { public static void setInstanceCreated(boolean instanceCreated) { AprStatus.instanceCreated = instanceCreated; } + + /** + * @return the openSSLVersion + */ + public static int getOpenSSLVersion() { + return openSSLVersion; + } + + /** + * @param openSSLVersion the openSSLVersion to set + */ + public static void setOpenSSLVersion(int openSSLVersion) { + AprStatus.openSSLVersion = openSSLVersion; + } + } diff --git a/java/org/apache/tomcat/util/net/openssl/OpenSSLStatus.java b/java/org/apache/tomcat/util/net/openssl/OpenSSLStatus.java index 682e878de1..ae190beff0 100644 --- a/java/org/apache/tomcat/util/net/openssl/OpenSSLStatus.java +++ b/java/org/apache/tomcat/util/net/openssl/OpenSSLStatus.java @@ -25,6 +25,7 @@ public class OpenSSLStatus { private static volatile boolean available = false; private static volatile boolean useOpenSSL = true; private static volatile boolean instanceCreated = false; + private static volatile long version = 0; public static boolean isLibraryInitialized() { @@ -66,4 +67,19 @@ public class OpenSSLStatus { public static void setInstanceCreated(boolean instanceCreated) { OpenSSLStatus.instanceCreated = instanceCreated; } + + /** + * @return the version + */ + public static long getVersion() { + return version; + } + + /** + * @param version the version to set + */ + public static void setVersion(long version) { + OpenSSLStatus.version = version; + } + } diff --git a/java/org/apache/tomcat/util/net/openssl/panama/OpenSSLLibrary.java b/java/org/apache/tomcat/util/net/openssl/panama/OpenSSLLibrary.java index 2ce3a201dd..8ca86e68e2 100644 --- a/java/org/apache/tomcat/util/net/openssl/panama/OpenSSLLibrary.java +++ b/java/org/apache/tomcat/util/net/openssl/panama/OpenSSLLibrary.java @@ -180,6 +180,7 @@ public class OpenSSLLibrary { // Main library init initLibrary(); + OpenSSLStatus.setVersion(OpenSSL_version_num()); // OpenSSL 3 onwards uses providers boolean isOpenSSL3 = (OpenSSL_version_num() >= 0x3000000fL); diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 158fccd9bb..5c6b0c3ba8 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -121,6 +121,10 @@ Add missing algorithm callback to the <code>JAASCallbackHandler</code>. (remm) </fix> + <fix> + Add the OpenSSL version number on the APR and OpenSSL status classes. + (remm) + </fix> </changelog> </subsection> <subsection name="Coyote"> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org