[
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)