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

Bug 526680

Summary: Exchanges named "amq." are declarable, but amqp spec
Product: Red Hat Enterprise MRG Reporter: ppecka <ppecka>
Component: qpid-cppAssignee: Kim van der Riet <kim.vdriet>
Status: CLOSED ERRATA QA Contact: Frantisek Reznicek <freznice>
Severity: medium Docs Contact:
Priority: medium    
Version: 1.1.6CC: cctrieloff, esammons, freznice
Target Milestone: 1.3   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
The AMQP specification reserves the "amq" prefix. However, it was possible to create a queue which started with "amq", which could have resulted in confusion or, at worst, session errors. This update ensures that queue names cannot begin with any reserved prefixes, thus resolving any potential confusion and/or session problems, and enforcing adherence to the AMQP specification.
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-10-14 16:12:32 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description ppecka 2009-10-01 11:50:04 UTC
Description of problem:
AMQP specification says:
11.1.5. Exchange Naming
Exchange names beginning "amq." are reserved for AMQP standard exchanges. An attempt to declare an
exchange with name beginning "amq." except in passive mode MUST result in an exception of type notallowed.

Current qpidd allows declaration of exchanges named "amq." which is not inline with specification.

Version-Release number of selected component (if applicable):
rpm -qa | grep qpid | sort
python-qpid-0.5.752581-3.el5
qpidc-0.5.752581-25.el5
qpidc-debuginfo-0.5.752581-26.el5
qpidc-devel-0.5.752581-25.el5
qpidc-perftest-0.5.752581-25.el5
qpidc-rdma-0.5.752581-25.el5
qpidc-ssl-0.5.752581-25.el5
qpidd-0.5.752581-25.el5
qpidd-acl-0.5.752581-25.el5
qpidd-cluster-0.5.752581-25.el5
qpidd-devel-0.5.752581-25.el5
qpid-dotnet-0.4.738274-2.el5
qpidd-rdma-0.5.752581-25.el5
qpidd-ssl-0.5.752581-25.el5
qpidd-xml-0.5.752581-25.el5
qpid-java-client-0.5.751061-8.el5
qpid-java-common-0.5.751061-8.el5
ruby-qpid-0.4.749380-2.el5

How reproducible:
100%

Steps to Reproduce:
See "Additional info:"

Actual results:
Exchanges named amq.* can be declared.

Expected results:
Exchanges named amq.* should not be declared.

Additional info:
[root@localhost qpid_ptest_clients_basic]# qpid-config add exchange direct amq.x
[root@localhost qpid_ptest_clients_basic]# qpid-config add exchange direct amq.
[root@localhost qpid_ptest_clients_basic]# qpid-config exchanges
Type      Exchange Name    Attributes
==================================================
direct                    
topic     qpid.management 
direct    amq.direct       --durable
topic     amq.topic        --durable
fanout    amq.fanout       --durable
headers   amq.match        --durable
direct    amq.x           
direct    amq.

Comment 2 Kim van der Riet 2009-10-28 20:26:35 UTC
Fixed in r.830751

Python test added which checks this as part of make check. Can be hand-tested as shown above.

Comment 4 Frantisek Reznicek 2010-09-20 08:26:09 UTC
The issue has been fixed (amq.* / qpid.* exchanges are not allowed), retested on RHEL 4.8 / 5.5 i386 / x86_64 on packages:
python-qmf-0.7.946106-13.el5
python-qpid-0.7.946106-14.el5
qmf-0.7.946106-15.el5
qmf-devel-0.7.946106-15.el5
qpid-cpp-client-0.7.946106-15.el5
qpid-cpp-client-devel-0.7.946106-15.el5
qpid-cpp-client-devel-docs-0.7.946106-15.el5
qpid-cpp-client-rdma-0.7.946106-15.el5
qpid-cpp-client-ssl-0.7.946106-15.el5
qpid-cpp-server-0.7.946106-15.el5
qpid-cpp-server-cluster-0.7.946106-15.el5
qpid-cpp-server-devel-0.7.946106-15.el5
qpid-cpp-server-rdma-0.7.946106-15.el5
qpid-cpp-server-ssl-0.7.946106-15.el5
qpid-cpp-server-store-0.7.946106-15.el5
qpid-cpp-server-xml-0.7.946106-15.el5
qpid-dotnet-0.4.738274-2.el5
qpid-java-client-0.7.946106-9.el5
qpid-java-common-0.7.946106-9.el5
qpid-tools-0.7.946106-10.el5

-> VERIFIED

Comment 5 Kim van der Riet 2010-10-05 15:39:38 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause: It is possible to create queues starting with the string "amq", which is reserved in the AMQP spec.

Consequence: It is possible to create queues which duplicate reserved and default queues starting with "amq". This can result in session errors at worst, and is confusing.

Fix: The logic was fixed to prevent the use of reserved prefixes for queue names.

Result: It is no longer possible to create a queue name starting with the string "amq".

Comment 6 Douglas Silas 2010-10-05 19:17:03 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1,7 +1 @@
-Cause: It is possible to create queues starting with the string "amq", which is reserved in the AMQP spec.
+The AMQP specification reserves the "amq" prefix. However, it was possible to create a queue which started with "amq", which could have resulted in confusion or, at worst, session errors. This update ensures that queue names cannot begin with any reserved prefixes, thus resolving any potential confusion and/or session problems, and enforcing adherence to the AMQP specification.-
-Consequence: It is possible to create queues which duplicate reserved and default queues starting with "amq". This can result in session errors at worst, and is confusing.
-
-Fix: The logic was fixed to prevent the use of reserved prefixes for queue names.
-
-Result: It is no longer possible to create a queue name starting with the string "amq".

Comment 8 errata-xmlrpc 2010-10-14 16:12:32 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2010-0773.html