You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Hiram Chirino (JIRA)" <ji...@apache.org> on 2014/02/24 15:09:19 UTC

[jira] [Resolved] (AMQ-5074) MQTT paths with empty levels are not handled correctly

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

Hiram Chirino resolved AMQ-5074.
--------------------------------

    Resolution: Fixed
      Assignee: Hiram Chirino

Patch applied.. Many thanks!

> MQTT paths with empty levels are not handled correctly
> ------------------------------------------------------
>
>                 Key: AMQ-5074
>                 URL: https://issues.apache.org/jira/browse/AMQ-5074
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: MQTT
>    Affects Versions: 5.9.0
>            Reporter: Dhiraj Bokde
>            Assignee: Hiram Chirino
>             Fix For: 5.10.0
>
>         Attachments: AMQ-5074.patch
>
>
> MQTT allows empty "" names for path levels, for example /TopicA has two levels, "" and TopicA, similarly TopicA/ has two levels TopicA and "". The leading and trailing '/' in MQTT is significant. 
> The '/' character in MQTT paths and filters is mapped to '.' in ActiveMQ, which leads to names like '.TopicA' and 'TopicA.'. However, ActiveMQ ignores empty path levels, although, they are just as significant for ActiveMQ. Although these path names are not common in ActiveMQ, which maybe the reason why the issue hasn't been discovered until now. 
> ActiveMQ needs to treat empty levels as significant, and pattern match accordingly. This requires change to ActiveMQDestination.getDestinationPaths() and some code cleanup in DestinationMap related classes and Destination filtering classes. A patch is attached (along with unit tests) to address this issue. 



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)