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

remm 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 9276b5e783 Add support for APR
9276b5e783 is described below

commit 9276b5e783c8cd5b3fe2bb716306b65004bdd940
Author: remm <[email protected]>
AuthorDate: Tue Dec 2 08:54:26 2025 +0100

    Add support for APR
---
 java/org/apache/tomcat/util/net/AprEndpoint.java | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/java/org/apache/tomcat/util/net/AprEndpoint.java 
b/java/org/apache/tomcat/util/net/AprEndpoint.java
index 000ae110d6..2cad59753a 100644
--- a/java/org/apache/tomcat/util/net/AprEndpoint.java
+++ b/java/org/apache/tomcat/util/net/AprEndpoint.java
@@ -89,6 +89,8 @@ public class AprEndpoint extends AbstractEndpoint<Long,Long> 
implements SNICallB
     private static final Log log = LogFactory.getLog(AprEndpoint.class);
     private static final Log logCertificate = 
LogFactory.getLog(AprEndpoint.class.getName() + ".certificate");
 
+    private static final ThreadLocal<SocketWrapperBase<Long>> localWrapper = 
new ThreadLocal<>();
+
     // ----------------------------------------------------------------- Fields
 
     /**
@@ -515,6 +517,10 @@ public class AprEndpoint extends 
AbstractEndpoint<Long,Long> implements SNICallB
 
     @Override
     public long getSslContext(String sniHostName) {
+        SocketWrapperBase<Long> socketWrapper = localWrapper.get();
+        if (socketWrapper != null) {
+            socketWrapper.setSniHostName(sniHostName);
+        }
         SSLHostConfig sslHostConfig = getSSLHostConfig(sniHostName);
         Long ctx = sslHostConfig.getOpenSslContext();
         if (ctx != null) {
@@ -763,6 +769,7 @@ public class AprEndpoint extends 
AbstractEndpoint<Long,Long> implements SNICallB
                 WriteLock wl = ((AprSocketWrapper) 
socketWrapper).getBlockingStatusWriteLock();
                 wl.lock();
                 try {
+                    localWrapper.set(socketWrapper);
                     if (SSLSocket.handshake(socket) != 0) {
                         if (log.isDebugEnabled()) {
                             log.debug(sm.getString("endpoint.err.handshake") + 
": " + SSL.getLastError());
@@ -770,6 +777,7 @@ public class AprEndpoint extends 
AbstractEndpoint<Long,Long> implements SNICallB
                         return false;
                     }
                 } finally {
+                    localWrapper.set(null);
                     wl.unlock();
                 }
 


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

Reply via email to