[jira] [Commented] (PROTON-975) crash occurs if buffer containing outcome and first encrypted frame is received

2015-08-08 Thread Andrew Stitcher (JIRA)

[ 
https://issues.apache.org/jira/browse/PROTON-975?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14663247#comment-14663247
 ] 

Andrew Stitcher commented on PROTON-975:


I've looked into this a bit now:

*Good news* The bug won't occur if you are talking to Proton-C at the other end.
*Bad News* it is an interop bug!

Essentially the issue occurs because the qpidd broker has it's own 
implementation of the SASL layers and AMQP header reading. Once it has 
authorised a connection with SASL it will immediately send the AMQP header, 
this triggers the Proton-C bug.

However the Proton-C header reading code is a bit different on the server side: 
It will wait for the client to sent the AMQP header before doing anyting 
further (this is a consequence of the protocol auto detection - it is possible 
that we actually get AMQPTLS at this point not AMQP, although Proton-C won't 
currently handle that). This means that encryption is turned on by the time we 
next get to do any reads.

 crash occurs if buffer containing outcome and first encrypted frame is 
 received
 ---

 Key: PROTON-975
 URL: https://issues.apache.org/jira/browse/PROTON-975
 Project: Qpid Proton
  Issue Type: Bug
  Components: proton-c
Affects Versions: 0.10
Reporter: Ken Giusti
Assignee: Andrew Stitcher
Priority: Blocker
 Fix For: 0.10

 Attachments: send.py


 I'm hitting an occasional client crash when using an DIGEST-MD5 SASL mech to 
 talk to the qpidd broker.
 I've built the broker using the 0.10rc1 as the proton library.
 I'm using a pyngus based client.  I will upload this reproducer.
 Best I can tell, the client pushes a single buffer to the transport that 
 contains both the SASL outcome frame from qpidd and the first encrypted 
 frame.  SASL does not handle this case correctly and attempts to parse the 
 encrypted frame as cleartext.
 I will open another bug against the frame decode to prevent parsing invalid 
 frames.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (PROTON-975) crash occurs if buffer containing outcome and first encrypted frame is received

2015-08-06 Thread Ken Giusti (JIRA)

[ 
https://issues.apache.org/jira/browse/PROTON-975?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14659925#comment-14659925
 ] 

Ken Giusti commented on PROTON-975:
---

Ah, thanks robbie I missed that.


 crash occurs if buffer containing outcome and first encrypted frame is 
 received
 ---

 Key: PROTON-975
 URL: https://issues.apache.org/jira/browse/PROTON-975
 Project: Qpid Proton
  Issue Type: Bug
  Components: proton-c
Affects Versions: 0.10
Reporter: Ken Giusti
Assignee: Andrew Stitcher
Priority: Blocker
 Fix For: 0.10

 Attachments: send.py


 I'm hitting an occasional client crash when using an DIGEST-MD5 SASL mech to 
 talk to the qpidd broker.
 I've built the broker using the 0.10rc1 as the proton library.
 I'm using a pyngus based client.  I will upload this reproducer.
 Best I can tell, the client pushes a single buffer to the transport that 
 contains both the SASL outcome frame from qpidd and the first encrypted 
 frame.  SASL does not handle this case correctly and attempts to parse the 
 encrypted frame as cleartext.
 I will open another bug against the frame decode to prevent parsing invalid 
 frames.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)