Red Hat Bugzilla – Bug 526680
Exchanges named "amq." are declarable, but amqp spec
Last modified: 2015-11-15 20:11:46 EST
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.
Fixed in r.830751 Python test added which checks this as part of make check. Can be hand-tested as shown above.
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
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".
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".
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