Author: remm Date: Fri Dec 11 11:02:55 2015 New Revision: 1719343 URL: http://svn.apache.org/viewvc?rev=1719343&view=rev Log: Add code to properly destroy SSL contexts.
Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AbstractJsseEndpoint.java tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AbstractJsseEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AbstractJsseEndpoint.java?rev=1719343&r1=1719342&r2=1719343&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/AbstractJsseEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/AbstractJsseEndpoint.java Fri Dec 11 11:02:55 2015 @@ -37,7 +37,6 @@ public abstract class AbstractJsseEndpoi private SSLImplementation sslImplementation = null; - public String getSslImplementationName() { return sslImplementationName; } @@ -99,6 +98,21 @@ public abstract class AbstractJsseEndpoi } + protected void destroySsl() throws Exception { + if (isSSLEnabled()) { + for (SSLHostConfig sslHostConfig : sslHostConfigs.values()) { + for (SSLHostConfigCertificate certificate : sslHostConfig.getCertificates(true)) { + if (certificate.getSslContextWrapper() != null) { + SSLContext sslContext = certificate.getSslContextWrapper().getSSLContext(); + if (sslContext != null) { + sslContext.destroy(); + } + } + } + } + } + } + protected SSLEngine createSSLEngine(String sniHostName, List<Cipher> clientRequestedCiphers) { SSLHostConfig sslHostConfig = getSSLHostConfig(sniHostName); Modified: tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java?rev=1719343&r1=1719342&r2=1719343&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/Nio2Endpoint.java Fri Dec 11 11:02:55 2015 @@ -275,6 +275,7 @@ public class Nio2Endpoint extends Abstra // Close server socket serverSock.close(); serverSock = null; + destroySsl(); super.unbind(); // Unlike other connectors, the thread pool is tied to the server socket shutdownExecutor(); Modified: tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?rev=1719343&r1=1719342&r2=1719343&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Fri Dec 11 11:02:55 2015 @@ -348,6 +348,7 @@ public class NioEndpoint extends Abstrac serverSock.socket().close(); serverSock.close(); serverSock = null; + destroySsl(); super.unbind(); releaseCaches(); selectorPool.close(); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org