Description
Setup a listener with SASL PLAIN authentication on dispatch and use a client to connect to the listener using the wrong PLAIN username/password.
Dispatch closes the connection without sending the SASL-OUTCOME frame.
Here is the trace from the client connecting to the router
Dispatch: 2016-05-09 03:08:00 [Protocol] debug tcp:localhost:5672 writing protocol header: 1-0 2016-05-09 03:08:00 [Protocol] debug tcp:localhost:5672 read protocol header: 1-0 2016-05-09 03:08:00 [Protocol] debug tcp:localhost:5672 Received SASL-MECHANISMS(PLAIN DIGEST-MD5 CRAM-MD5 ) 2016-05-09 03:08:00 [Protocol] debug tcp:localhost:5672 Sent SASL-INIT(PLAIN, \x00admin@QPID\x00adminxxx, localhost) qpid-receive: Connect failed to amqp:tcp:localhost:5672: Reconnect disabled
Here is the trace from the router with PN_TRACE_FRM=1. This router is acting as a client trying to connect to another router acting as a server.
[0x25bd9e0]: -> SASL [0x25bd9e0]: <- SASL [0x25bd9e0]:0 <- @sasl-mechanisms(64) [sasl-server-mechanisms=@PN_SYMBOL[:"DIGEST-MD5", :PLAIN]] [0x25bd9e0]:0 -> @sasl-init(65) [mechanism=:PLAIN, initial-response=b"\x00test@domain.com\x00password1"] [0x25bd9e0]: <- EOS [0x25bd9e0]: -> EOS Closed 127.0.0.1:24976
The above clearly shows that the router is not receiving a SASL-OUTCOME frame. It looks like the server prematurely closes the connection.