qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rob Godfrey <rob.j.godf...@gmail.com>
Subject Re: MQLight with Apache Qpid JMS AMQP 1.0
Date Sun, 26 Oct 2014 09:48:42 GMT
Ok - that's really weird...  Looking at the first two lines:

SEND[localhost/127.0.0.1:5672] : AMQP\x03\x01\x00\x00
10/26 10:53:19 DEBUG [QpidConnectionInputThread-0] RAW - RECV
[localhost/127.0.0.1:5672] :
AMQP\x03\x01\x00\x00\x00\x00\x00\x18\x02\x01\x00\x00\x00S@\
xc0\x0b\x01\xe0\x08\x01\xa3\x05PLAIN\x00\x00\x00\x10\x02\
x01\x00\x00\x00SD\xc0\x03\x01P\x01AMQP\x00\x01\x00\x00\
x00\x00\x00(\x02\x00\x00\x00\x00S\x10\xc0\x1b\x05\xa1\
x09PlainText\xa1\x00p\xff\xff\xff\xff`\xff\xffp\x00\x00u0\
x00\x00\x00_\x02\x00\x00\x00\x00S\x18\xc0R\x01\x00S\x1d\
xc0L\x02\xa3\x0bMQException\xa1<AMQXR0029E:
sasl mechanisms of client and server must match.

The client sends the AMQP sasl header, and then receives from the server a
whole bunch of frames up to and including the exception about the
mechanisms not matching... but the client hasn't yet actually sent the
mechanisms.  This looks very much like a bug in MQ Light... it seems to be
expecting that the client connecting to it pipelines every part of the SASL
exchange without even waiting for the server to send the list of
mechanisms, etc.  Since this is how Proton currently works, I can see that
it will work if you connect with a Proton client... however the JMS client
doesn't work like that... it waits to see the set of mechanisms available
so that it can choose the appropriate one.  The ActiveMQ server is acting
more sensibly, and thus works correctly.

Hope this helps,
Rob



On 26 October 2014 10:07, dorinc <dorin.cobzac@gmail.com> wrote:

> Hi Rob,
>
> I used both PLAIN (user/pass) and ANONYMOUS auth mechanisms
> *This is the output for PLAIN*:
> /10/26 10:53:19 DEBUG [QpidConnectionOutputThread-0] RAW -
> SEND[localhost/127.0.0.1:5672] : AMQP\x03\x01\x00\x00
> 10/26 10:53:19 DEBUG [QpidConnectionInputThread-0] RAW - RECV
> [localhost/127.0.0.1:5672] :
> AMQP\x03\x01\x00\x00\x00\x00\x00\x18\x02\x01\x00\x00\x00S@
> \xc0\x0b\x01\xe0\x08\x01\xa3\x05PLAIN\x00\x00\x00\x10\x02\x01\x00\x00\x00SD\xc0\x03\x01P\x01AMQP\x00\x01\x00\x00\x00\x00\x00(\x02\x00\x00\x00\x00S\x10\xc0\x1b\x05\xa1\x09PlainText\xa1\x00p\xff\xff\xff\xff`\xff\xffp\x00\x00u0\x00\x00\x00_\x02\x00\x00\x00\x00S\x18\xc0R\x01\x00S\x1d\xc0L\x02\xa3\x0bMQException\xa1<AMQXR0029E:
> sasl mechanisms of client and server must match.
> 10/26 10:53:19 DEBUG [QpidConnectionInputThread-0] FRM -
> RECV[localhost/127.0.0.1:5672|0] :
> SaslMechanisms{saslServerMechanisms=[PLAIN]}
> 10/26 10:53:19 DEBUG [QpidConnectionOutputThread-0] FRM -
> SEND[localhost/127.0.0.1:5672|0] :
> SaslInit{mechanism=PLAIN,initialResponse=\x00guest\x00guest}
> 10/26 10:53:19 DEBUG [QpidConnectionInputThread-0] FRM -
> RECV[localhost/127.0.0.1:5672|0] : SaslOutcome{code=auth}
> 10/26 10:53:19 DEBUG [QpidConnectionOutputThread-0] RAW -
> SEND[localhost/127.0.0.1:5672] :
>
> \x00\x00\x00#\x02\x01\x00\x00\x00SA\xc0\x16\x02\xa3\x05PLAIN\xa0\x0c\x00guest\x00guest
> 10/26 10:53:19 DEBUG [QpidConnectionInputThread-0] FRM -
> RECV[localhost/127.0.0.1:5672|0] :
>
> Open{containerId=PlainText,hostname=,maxFrameSize=4294967295,channelMax=65535,idleTimeOut=30000}
> 10/26 10:53:19 DEBUG [QpidConnectionInputThread-0] FRM -
> RECV[localhost/127.0.0.1:5672|0] :
> Close{error=Error{condition=MQException,description=AMQXR0029E: sasl
> mechanisms of client and server must match.}}
> Exception in thread &quot;main&quot; javax.jms.JMSException: AMQXR0029E:
> sasl mechanisms of client and server must match.&lt;/i>
>
> *The output for ANONYMOUS:*
> /10/26 11:50:14 DEBUG [QpidConnectionOutputThread-0] RAW -
> SEND[localhost/127.0.0.1:5672] : AMQP\x03\x01\x00\x00
> 10/26 11:50:14 DEBUG [QpidConnectionInputThread-0] RAW - RECV
> [localhost/127.0.0.1:5672] :
> AMQP\x03\x01\x00\x00\x00\x00\x00\x1c\x02\x01\x00\x00\x00S@
> \xc0\x0f\x01\xe0\x0c\x01\xa3\x09ANONYMOUS\x00\x00\x00\x10\x02\x01\x00\x00\x00SD\xc0\x03\x01P\x01AMQP\x00\x01\x00\x00\x00\x00\x00(\x02\x00\x00\x00\x00S\x10\xc0\x1b\x05\xa1\x09PlainText\xa1\x00p\xff\xff\xff\xff`\xff\xffp\x00\x00u0\x00\x00\x00_\x02\x00\x00\x00\x00S\x18\xc0R\x01\x00S\x1d\xc0L\x02\xa3\x0bMQException\xa1<AMQXR0029E:
> sasl mechanisms of client and server must match.
> 10/26 11:50:14 DEBUG [QpidConnectionInputThread-0] FRM -
> RECV[localhost/127.0.0.1:5672|0] :
> SaslMechanisms{saslServerMechanisms=[ANONYMOUS]}
> 10/26 11:50:14 DEBUG [QpidConnectionOutputThread-0] FRM -
> SEND[localhost/127.0.0.1:5672|0] : SaslInit{mechanism=ANONYMOUS}
> 10/26 11:50:14 DEBUG [QpidConnectionInputThread-0] FRM -
> RECV[localhost/127.0.0.1:5672|0] : SaslOutcome{code=auth}
> 10/26 11:50:14 DEBUG [QpidConnectionOutputThread-0] RAW -
> SEND[localhost/127.0.0.1:5672] :
> \x00\x00\x00\x19\x02\x01\x00\x00\x00SA\xc0\x0c\x01\xa3\x09ANONYMOUS
> 10/26 11:50:14 DEBUG [QpidConnectionInputThread-0] FRM -
> RECV[localhost/127.0.0.1:5672|0] :
>
> Open{containerId=PlainText,hostname=,maxFrameSize=4294967295,channelMax=65535,idleTimeOut=30000}
> 10/26 11:50:14 DEBUG [QpidConnectionInputThread-0] FRM -
> RECV[localhost/127.0.0.1:5672|0] :
> Close{error=Error{condition=MQException,description=AMQXR0029E: sasl
> mechanisms of client and server must match.}}
> &lt;/i>
>
> *I also did the same with Apache MQ without any problems*
> /10/26 10:55:48 DEBUG [QpidConnectionOutputThread-0] RAW -
> SEND[localhost/127.0.0.1:5672] : AMQP\x03\x01\x00\x00
> 10/26 10:55:48 DEBUG [QpidConnectionInputThread-0] RAW - RECV
> [localhost/127.0.0.1:5672] :
> AMQP\x03\x01\x00\x00\x00\x00\x00"\x02\x01\x00\x00\x00S@
> \xc0\x15\x01\xe0\x12\x02\xa3\x09ANONYMOUS\x05PLAIN
> 10/26 10:55:48 DEBUG [QpidConnectionInputThread-0] FRM -
> RECV[localhost/127.0.0.1:5672|0] :
> SaslMechanisms{saslServerMechanisms=[ANONYMOUS, PLAIN]}
> 10/26 10:55:48 DEBUG [QpidConnectionOutputThread-0] FRM -
> SEND[localhost/127.0.0.1:5672|0] :
> SaslInit{mechanism=PLAIN,initialResponse=\x00admin\x00admin}
> 10/26 10:55:48 DEBUG [QpidConnectionOutputThread-0] RAW -
> SEND[localhost/127.0.0.1:5672] :
>
> \x00\x00\x00#\x02\x01\x00\x00\x00SA\xc0\x16\x02\xa3\x05PLAIN\xa0\x0c\x00admin\x00admin
> 10/26 10:55:48 DEBUG [QpidConnectionInputThread-0] RAW - RECV
> [localhost/127.0.0.1:5672] :
> \x00\x00\x00\x10\x02\x01\x00\x00\x00SD\xc0\x03\x01P\x00
> 10/26 10:55:48 DEBUG [QpidConnectionInputThread-0] FRM -
> RECV[localhost/127.0.0.1:5672|0] : SaslOutcome{code=ok}
> 10/26 10:55:48 DEBUG [QpidConnectionOutputThread-0] RAW -
> SEND[localhost/127.0.0.1:5672] : AMQP\x00\x01\x00\x00
> 10/26 10:55:48 DEBUG [QpidConnectionInputThread-0] RAW - RECV
> [localhost/127.0.0.1:5672] : AMQP\x00\x01\x00\x00
> 10/26 10:55:48 DEBUG [QpidConnectionOutputThread-0] FRM -
> SEND[localhost/127.0.0.1:5672|0] :
> Open{containerId=test-client,maxFrameSize=65536,channelMax=255}
> 10/26 10:55:48 DEBUG [QpidConnectionOutputThread-0] RAW -
> SEND[localhost/127.0.0.1:5672] :
> \x00\x00\x00$\x02\x00\x00\x00\x00S\x10\xc0\x17\x04\xa1\x0btest-client@p
> \x00\x01\x00\x00`\x00\xff
> 10/26 10:55:48 DEBUG [QpidConnectionInputThread-0] RAW - RECV
> [localhost/127.0.0.1:5672] :
>
> \x00\x00\x00\x17\x02\x00\x00\x00\x00S\x10\xc0\x0a\x03\xa1\x00\xa1\x00p\x00\x10\x00\x00
> 10/26 10:55:48 DEBUG [QpidConnectionInputThread-0] FRM -
> RECV[localhost/127.0.0.1:5672|0] :
> Open{containerId=,hostname=,maxFrameSize=1048576}
> 10/26 10:55:48 DEBUG [QpidConnectionOutputThread-0] FRM -
> SEND[localhost/127.0.0.1:5672|0] :
>
> Begin{nextOutgoingId=0,incomingWindow=2048,outgoingWindow=2048,handleMax=4294967295}
> 10/26 10:55:48 DEBUG [QpidConnectionOutputThread-0] RAW -
> SEND[localhost/127.0.0.1:5672] :
> \x00\x00\x00\x1f\x02\x00\x00\x00\x00S\x11\xc0\x12\x05@Cp
> \x00\x00\x08\x00p\x00\x00\x08\x00p\xff\xff\xff\xff/
>
>
>
> --
> View this message in context:
> http://qpid.2158936.n2.nabble.com/MQLight-with-Apache-Qpid-JMS-AMQP-1-0-tp7615707p7615741.html
> Sent from the Apache Qpid users mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
> For additional commands, e-mail: users-help@qpid.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message