[ 
https://issues.apache.org/jira/browse/QPID-5590?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gordon Sim reassigned QPID-5590:
--------------------------------

    Assignee: Gordon Sim

> It is trivially easy to fatally crash qpidd using a dodgy exchange type in a 
> TopicPolicy
> ----------------------------------------------------------------------------------------
>
>                 Key: QPID-5590
>                 URL: https://issues.apache.org/jira/browse/QPID-5590
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>            Reporter: Fraser Adams
>            Assignee: Gordon Sim
>            Priority: Blocker
>
> It is trivially easy to fatally crash qpidd using a dodgy exchange type in a 
> TopicPolicy
> Steps to reproduce:
> 1) Start up qpidd
> 2) Create a TopicPolicy
> qpid-config add TopicPolicy header-exchange-* --argument exchange-type=foo
> 3) Attempt to create a matching node
> ./drain --connection-options {protocol:amqp1.0} -b localhost -f 
> "header-exchange-test"
> qpidd dies saying
> "terminate called after throwing an instance of 
> 'qpid::broker::UnknownExchangeTypeException'
> Aborted"
> It's probably not likely that someone would use "exchange-type=foo" but I 
> stumbled across this problem 'cause I accidentally did 
> "exchange-type=amq.match" when I meant to use headers, that sort of finger 
> trouble is *reasonably* likely and probably shouldn't be causing a fatal 
> crash.
> At a guess the best approach might be to do a check on the QMF create 
> TopicPolicy and check a valid exchange type has been specified there, but 
> it's probably safest to also check when resolving link attachment and send 
> the exception back to the client.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to