Description of problem: If a filter is specified (see bug 975446) and the exchange type doesn't support it, the client should check this if assert is specified in the address and this should result in an error. This allows an application to take action if a requested filtering is not supported. Version-Release number of selected component (if applicable): qpid-cpp-0.22-5.el6, qpid-cpp-0.22-5.el5 How reproducible: 100% Steps to Reproduce: 1. qpid-receive --connection-options {protocol:amqp1.0} "amq.fanout; {assert: always, link:{filter: {value:\"declare variable $colour external; $colour = 'red'\",name:x,descriptor:\"apache.org:xquery-filter:string\"}}}" Actual results: No error will be raised even though there is no filtering in place. Any message sent to amq.fanout will be delivered to the receiver. Expected results: Get an exception due to lack of support for the requested filter. Additional info:
Fixed upstream by https://svn.apache.org/r1497748
tested on RHEL 6.5 i686 && x86_64 with following packages: qpid-cpp-debuginfo-0.22-47.el6 qpid-cpp-server-0.22-47.el6 qpid-cpp-server-devel-0.22-47.el6 qpid-cpp-client-0.22-47.el6 qpid-cpp-server-xml-0.22-47.el6 qpid-cpp-client-devel-docs-0.22-47.el6 qpid-cpp-client-devel-0.22-47.el6 qpid-cpp-server-linearstore-0.22-47.el6 qpid-qmf-0.22-38.el6 qpid-qmf-devel-0.22-38.el6 this works as expected. Outstanding issue reported separately: Bug 1133948