When broker is running with non-TLS acceptor (sslEnabled=False) and client connects with TLSĀ (ssl) enabled, socket will be opened for a very long time. By long time I mean until client is alive/connected to the broker.
Broker should immediately, after client connects, refuse any non-TLS communication and not behave as described above.
Steps to reproduce:
- Start the broker with default configuration, all logging set to DEBUG
- keep an eye on number of open sockets:
watch -n1 'netstat -np | egrep -c "ESTABLISHED.*java"'
- connect TLS/SSL configured client to the broker
python aac5_sender.py -b amqps://<IP>:5671/ssl_test --msg-content "ABC"
- Wait for some "random" time, and watch sockets being still open. (step 2)
- Client produces following error approximately once per minute :
ERROR {'cause' :'Transport error: amqp:connection:framing-error - SSL Failure: error:140780E5:SSL routines:SSL23_READ:ssl handshake failure'}
- Kill/Close client.
- Broker log
12:29:55,399 DEBUG [org.apache.activemq.artemis.core.remoting.server.impl.RemotingServiceImpl] RemotingServiceImpl::removing connection ID -1842194997
Expected:
Qpid dispatch closes socket immediately, so broker should close socket as well.
Client connected to qpid dispatch immediately produces
ERROR {'cause' :'Transport error: proton:io - recv: Connection refused'}