Author: remm
Date: Mon Mar 14 09:27:48 2016
New Revision: 1734903
URL: http://svn.apache.org/viewvc?rev=1734903&view=rev
Log:
Improve OpenSSL robustness if SSL (or BIO) creation fails so that it doesn't
crash when trying to destroy it later.
Modified:
tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLEngine.java
tomcat/trunk/webapps/docs/changelog.xml
Modified:
tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLEngine.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLEngine.java?rev=1734903&r1=1734902&r2=1734903&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLEngine.java
(original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/openssl/OpenSSLEngine.java Mon
Mar 14 09:27:48 2016
@@ -199,6 +199,7 @@ public final class OpenSSLEngine extends
session = new OpenSSLSession();
ssl = SSL.newSSL(sslCtx, !clientMode);
networkBIO = SSL.makeNetworkBIO(ssl);
+ DESTROYED_UPDATER.compareAndSet(this, 0, 1);
this.fallbackApplicationProtocol = fallbackApplicationProtocol;
this.clientMode = clientMode;
this.sessionContext = sessionContext;
@@ -214,7 +215,7 @@ public final class OpenSSLEngine extends
* Destroys this engine.
*/
public synchronized void shutdown() {
- if (DESTROYED_UPDATER.compareAndSet(this, 0, 1)) {
+ if (DESTROYED_UPDATER.compareAndSet(this, 1, 2)) {
SSL.freeSSL(ssl);
SSL.freeBIO(networkBIO);
ssl = networkBIO = 0;
Modified: tomcat/trunk/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1734903&r1=1734902&r2=1734903&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Mon Mar 14 09:27:48 2016
@@ -45,6 +45,14 @@
issues do not "pop up" wrt. others).
-->
<section name="Tomcat 9.0.0.M5" rtext="In development">
+ <subsection name="Coyote">
+ <changelog>
+ <fix>
+ Improves OpenSSL engine robustness when SSL allocation fails for
+ some reason. (remm)
+ </fix>
+ </changelog>
+ </subsection>
</section>
<section name="Tomcat 9.0.0.M4" rtext="Release In Progress">
<subsection name="Catalina">
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]