You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by jb...@apache.org on 2021/03/09 20:19:35 UTC

[activemq] branch master updated: AMQ-8169: Synchronize on serviceRead inside NIOSSLTransport

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

jbonofre pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/activemq.git


The following commit(s) were added to refs/heads/master by this push:
     new 1654e6c  AMQ-8169: Synchronize on serviceRead inside NIOSSLTransport
     new f2a3fbd  Merge pull request #620 from cshannon/AMQ-8169
1654e6c is described below

commit 1654e6c79cfbc1ced5a8fa3f726a9f651560be9d
Author: Christopher L. Shannon (cshannon) <ch...@gmail.com>
AuthorDate: Mon Mar 8 11:27:54 2021 -0500

    AMQ-8169: Synchronize on serviceRead inside NIOSSLTransport
    
    This is needed to prevent concurrent access to the SSLEngine during
    initialization. This is a regression from when auto+nio+ssl was added.
---
 .../org/apache/activemq/transport/nio/AutoInitNioSSLTransport.java     | 3 ++-
 .../main/java/org/apache/activemq/transport/nio/NIOSSLTransport.java   | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/activemq-broker/src/main/java/org/apache/activemq/transport/nio/AutoInitNioSSLTransport.java b/activemq-broker/src/main/java/org/apache/activemq/transport/nio/AutoInitNioSSLTransport.java
index 9301b65..c0d9df2 100644
--- a/activemq-broker/src/main/java/org/apache/activemq/transport/nio/AutoInitNioSSLTransport.java
+++ b/activemq-broker/src/main/java/org/apache/activemq/transport/nio/AutoInitNioSSLTransport.java
@@ -158,8 +158,9 @@ public class AutoInitNioSSLTransport extends NIOSSLTransport {
         return readSize;
     }
 
+    //Prevent concurrent access to SSLEngine
     @Override
-    public void serviceRead() {
+    public synchronized void serviceRead() {
         try {
             if (handshakeInProgress) {
                 doHandshake();
diff --git a/activemq-client/src/main/java/org/apache/activemq/transport/nio/NIOSSLTransport.java b/activemq-client/src/main/java/org/apache/activemq/transport/nio/NIOSSLTransport.java
index 9f5e65d..3bcb0e4 100644
--- a/activemq-client/src/main/java/org/apache/activemq/transport/nio/NIOSSLTransport.java
+++ b/activemq-client/src/main/java/org/apache/activemq/transport/nio/NIOSSLTransport.java
@@ -243,8 +243,9 @@ public class NIOSSLTransport extends NIOTransport {
         }
     }
 
+    //Prevent concurrent access to SSLEngine
     @Override
-    public void serviceRead() {
+    public synchronized void serviceRead() {
         try {
             if (handshakeInProgress) {
                 doHandshake();