Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1098545

Summary: SSL framing-error with c++ client on RHEL7
Product: Red Hat Enterprise MRG Reporter: Leonid Zhaldybin <lzhaldyb>
Component: qpid-cppAssignee: Gordon Sim <gsim>
Status: CLOSED CURRENTRELEASE QA Contact: Leonid Zhaldybin <lzhaldyb>
Severity: high Docs Contact:
Priority: high    
Version: 2.5CC: esammons, iboverma, jross, kgiusti, lzhaldyb, mcressma, pematous
Target Milestone: 2.5.1   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qpid-cpp-0.18-23.el7 Doc Type: Bug Fix
Doc Text:
Cause: If only part of the AMQP protocol header is received, the decode routine will essentially skip those bytes. Consequence: When the rest of the protocol header (and the subsequent frames) is received it will not parse correctly due to the 'dropped' bytes. Fix: Don't consume bytes of a partially received protocol header. Result: Protocol stream does not get corrupted.
Story Points: ---
Clone Of:
: 1100402 (view as bug list) Environment:
Last Closed: 2014-07-08 08:53:15 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1100402    
Attachments:
Description Flags
Simple script to quickly reproduce the issue. none

Description Leonid Zhaldybin 2014-05-16 14:09:39 UTC
Description of problem:
Trying to connect to the broker using c++ client over SSL results in the following error on RHEL7:

[System] error Caught exception in state: 3 with event: 1: framing-error: Framing version unsupported (qpid/framing/AMQFrame.cpp:93)

Version-Release number of selected component (if applicable):
qpid-cpp-0.18-22.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Configure qpidd broker to use ssl protocol.
2. Try to connect to the broker with c++ client over ssl.
3.

Actual results:
Error message from broker, client hangs indefinitely.

Expected results:
No error, traffic flowing between broker and client over SSL connection.

Additional info:

Comment 1 Leonid Zhaldybin 2014-05-16 14:11:43 UTC
Created attachment 896418 [details]
Simple script to quickly reproduce the issue.

Comment 2 Ken Giusti 2014-05-19 17:51:41 UTC
I suspect this bug is fixed by QPID-5488 (author Andrew Stitcher).

https://issues.apache.org/jira/browse/QPID-5488

I've merged this fix into the branch to port 0.18 into RHEL7:

http://git.app.eng.bos.redhat.com/git/rh-qpid.git/commit/?h=0.18-mrg-kgiusti-bz1093738&id=8d429f680382b65cb79223b598bc21b120373db5

Leonid - do you agree this is the same issue?

Comment 3 Leonid Zhaldybin 2014-05-19 18:28:51 UTC
(In reply to Ken Giusti from comment #2)
> I suspect this bug is fixed by QPID-5488 (author Andrew Stitcher).
> 
> https://issues.apache.org/jira/browse/QPID-5488
> 
> I've merged this fix into the branch to port 0.18 into RHEL7:
> 
> http://git.app.eng.bos.redhat.com/git/rh-qpid.git/commit/?h=0.18-mrg-kgiusti-
> bz1093738&id=8d429f680382b65cb79223b598bc21b120373db5
> 
> Leonid - do you agree this is the same issue?

It certainly seems that way.

Comment 4 Gordon Sim 2014-05-19 20:20:12 UTC
Assuming fixed for now as per comment #2, ssl_test is certainly working for me on rhel7 with that fix in place.

Comment 5 Leonid Zhaldybin 2014-05-21 08:35:38 UTC
Tested on the latest qpid-cpp build for RHEL7. This issue has been fixed.

Packages used for testing:

python-qpid-0.18-10.el7.noarch
python-qpid-qmf-0.18-20.el7.x86_64
qpid-cpp-client-0.18-23.el7.x86_64
qpid-cpp-client-devel-0.18-23.el7.x86_64
qpid-cpp-client-rdma-0.18-23.el7.x86_64
qpid-cpp-client-ssl-0.18-23.el7.x86_64
qpid-cpp-debuginfo-0.18-22.el7.x86_64
qpid-cpp-server-0.18-23.el7.x86_64
qpid-cpp-server-cluster-0.18-23.el7.x86_64
qpid-cpp-server-devel-0.18-23.el7.x86_64
qpid-cpp-server-rdma-0.18-23.el7.x86_64
qpid-cpp-server-ssl-0.18-23.el7.x86_64
qpid-cpp-server-store-0.18-23.el7.x86_64
qpid-java-client-0.18-8.el6_4.noarch
qpid-java-common-0.18-8.el6_4.noarch
qpid-java-example-0.18-8.el6_4.noarch
qpid-qmf-0.18-20.el7.x86_64
qpid-qmf-debuginfo-0.18-20.el7.x86_64
qpid-qmf-devel-0.18-20.el7.x86_64
qpid-tools-0.18-10.el7.noarch
rh-qpid-cpp-tests-0.18-23.el7.x86_64
ruby-qpid-qmf-0.18-20.el7.x86_64

-> VERIFIED