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

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


The following commit(s) were added to refs/heads/9.0.x by this push:
     new 2e70b8090c Fix OpenSSL init
2e70b8090c is described below

commit 2e70b8090c1349a63ab9bf8b50a565841f755dca
Author: Mark Thomas <[email protected]>
AuthorDate: Fri May 15 12:55:09 2026 +0100

    Fix OpenSSL init
---
 test/org/apache/tomcat/util/net/TestPQC.java | 24 +++++++++++++++++++-----
 1 file changed, 19 insertions(+), 5 deletions(-)

diff --git a/test/org/apache/tomcat/util/net/TestPQC.java 
b/test/org/apache/tomcat/util/net/TestPQC.java
index e3d3e52f6d..f889a39c5e 100644
--- a/test/org/apache/tomcat/util/net/TestPQC.java
+++ b/test/org/apache/tomcat/util/net/TestPQC.java
@@ -37,10 +37,13 @@ import org.junit.runners.Parameterized;
 import org.junit.runners.Parameterized.Parameter;
 
 import org.apache.catalina.Context;
+import org.apache.catalina.Lifecycle;
+import org.apache.catalina.LifecycleEvent;
 import org.apache.catalina.connector.Connector;
 import org.apache.catalina.startup.TesterServlet;
 import org.apache.catalina.startup.Tomcat;
 import org.apache.catalina.startup.TomcatBaseTest;
+import org.apache.tomcat.jni.AprStatus;
 import org.apache.tomcat.util.buf.ByteChunk;
 import org.apache.tomcat.util.net.SSLHostConfigCertificate.Type;
 import org.apache.tomcat.util.net.openssl.OpenSSLStatus;
@@ -82,6 +85,11 @@ public class TestPQC extends TomcatBaseTest {
         connector.addSslHostConfig(sslHostConfig);
 
         TesterSupport.configureSSLImplementation(tomcat, 
sslImplementationName, useOpenSSL);
+        if ("OpenSSL".equals(connectorName)) {
+            // getOpenSSLVersion() requires that the listener has been 
initialised
+            tomcat.getServer().findLifecycleListeners()[0].lifecycleEvent(
+                    new LifecycleEvent(tomcat.getServer(), 
Lifecycle.BEFORE_INIT_EVENT, null));
+        }
 
         Context ctx = getProgrammaticRootContext();
         Tomcat.addServlet(ctx, "TesterServlet", new TesterServlet());
@@ -204,13 +212,19 @@ public class TestPQC extends TomcatBaseTest {
 
 
     private void assumePQCSupported() {
-        if (!useOpenSSL) {
+        if ("JSSE".equals(connectorName)) {
             Assume.assumeTrue("JSSE does not yet support PQC", false);
+        } else if ("OpenSSL".equals(connectorName)) {
+            Assume.assumeTrue(
+                    "PQC requires OpenSSL 3.5+, found version 0x" + 
Integer.toHexString(AprStatus.getOpenSSLVersion()),
+                    AprStatus.getOpenSSLVersion() >= 0x30500000);
+        } else if ("OpenSSL-FFM".equals(connectorName)) {
+            Assume.assumeTrue("PQC requires OpenSSL 3.5+, found version " + 
OpenSSLStatus.getVersion(),
+                    OpenSSLStatus.getMajorVersion() > 3 ||
+                        OpenSSLStatus.getMajorVersion() == 3 && 
OpenSSLStatus.getMinorVersion() >= 5);
+        } else {
+            Assert.fail("Unknown connector");
         }
-
-        Assume.assumeTrue("PQC requires OpenSSL 3.5+",
-                OpenSSLStatus.getMajorVersion() > 3 ||
-                    OpenSSLStatus.getMajorVersion() == 3 && 
OpenSSLStatus.getMinorVersion() >= 5);
     }
 
     private File[] configureHostMLDSA(String algorithm) throws Exception {


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

Reply via email to