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:20:48 UTC

[activemq] branch activemq-5.16.x 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 activemq-5.16.x
in repository https://gitbox.apache.org/repos/asf/activemq.git


The following commit(s) were added to refs/heads/activemq-5.16.x by this push:
     new 8d34120  AMQ-8169: Synchronize on serviceRead inside NIOSSLTransport
8d34120 is described below

commit 8d34120d9310d93c83e9dfcd644331dc42dddd0c
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.
    
    (cherry picked from commit 1654e6c79cfbc1ced5a8fa3f726a9f651560be9d)
---
 .../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();