Dhiraj Bokde created AMQ-5074:
---------------------------------

             Summary: 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
             Fix For: 5.10.0


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)

Reply via email to