Bug 1029426

Summary: [AMQP 1.0] wrong error symbol used for certain unauthorized access conditions
Product: Red Hat Enterprise MRG Reporter: Gordon Sim <gsim>
Component: qpid-cppAssignee: Gordon Sim <gsim>
Status: CLOSED CURRENTRELEASE QA Contact: Ernie <eallen>
Severity: unspecified Docs Contact:
Priority: medium    
Version: 3.0CC: eallen, esammons, freznice, iboverma, jross, pmoravec
Target Milestone: 3.0Keywords: OtherQA
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qpid-cpp-0.22-26 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-01-21 12:55:36 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: 1010399    

Description Gordon Sim 2013-11-12 11:29:35 UTC
Description of problem:

The type of error communicated is not always precisely identified as an authorization issue over 1.0. E.g. when attempting to create a queue and not succeeding.

Version-Release number of selected component (if applicable):

Early Access

How reproducible:

100%, but requires looking at protocol level interaction.

Steps to Reproduce:
Using broker with protocol level logging enabled (--log-enable trace+:Protocol)
1. Attempt to send to a queue to which you have no permission
2. Attempt to send to a queue which doesn't exist, using create:always, when you don't have permission to create the queue
3. Compare the error condition

Actual results:

The former correctly sets the condition to "amqp:unauthorized-access", whereas in the latter it is "amqp:internal-error" 

Expected results:

In both cases the condition should be "amqp:unauthorized-access".

Additional info:

Comment 1 Gordon Sim 2013-11-12 11:30:18 UTC
Fixed upstream: https://svn.apache.org/r1540040

Comment 2 Ernie 2014-03-12 16:47:11 UTC
Verified on RHEL 6.5 64
python-qpid-0.22-11.el6.noarch
qpid-cpp-client-0.22-35.el6.x86_64
qpid-tools-0.22-8.el6.noarch
qpid-cpp-client-devel-0.22-35.el6.x86_64
qpid-java-client-0.22-6.el6.noarch
qpid-proton-c-0.6-1.el6.x86_64
qpid-qmf-0.22-27.el6.x86_64
python-qpid-qmf-0.22-27.el6.x86_64
qpid-proton-c-devel-0.6-1.el6.x86_64
qpid-java-example-0.22-6.el6.noarch
qpid-cpp-server-0.22-35.el6.x86_64
qpid-java-common-0.22-6.el6.noarch

Verified on RHEL 6.5 32
qpid-jca-0.22-2.el6.noarch
python-qpid-qmf-0.22-27.el6.i686
qpid-proton-c-devel-0.6-1.el6.i686
python-qpid-0.22-11.el6.noarch
qpid-proton-c-0.6-1.el6.i686
qpid-qmf-0.22-27.el6.i686
perl-qpid-0.22-7.el6.i686
qpid-snmpd-1.0.0-15.el6.i686
qpid-cpp-client-devel-0.22-35.el6.i686
qpid-cpp-server-linearstore-0.22-35.el6.i686
qpid-cpp-client-0.22-35.el6.i686
qpid-tools-0.22-8.el6.noarch
qpid-cpp-server-ha-0.22-35.el6.i686
qpid-java-client-0.22-6.el6.noarch
ruby-qpid-qmf-0.22-27.el6.i686
qpid-java-common-0.22-6.el6.noarch
qpid-cpp-server-0.22-35.el6.i686

Reproduced on RHEL 6.5 64