You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Dejan Bosanac (JIRA)" <ji...@apache.org> on 2015/10/05 13:08:26 UTC

[jira] [Resolved] (AMQ-5997) MQTT legacy client support

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

Dejan Bosanac resolved AMQ-5997.
--------------------------------
    Resolution: Fixed

Fixed mqtt client and released 1.12. Upgraded the broker and added a check on unsubscribe method to support this behaviour only if client is 3.1 and transport.publishDollarTopic=true (another legacy option is still used).

> MQTT legacy client support
> --------------------------
>
>                 Key: AMQ-5997
>                 URL: https://issues.apache.org/jira/browse/AMQ-5997
>             Project: ActiveMQ
>          Issue Type: Improvement
>    Affects Versions: 5.12.0
>            Reporter: Dejan Bosanac
>            Assignee: Dejan Bosanac
>             Fix For: 5.13.0
>
>
> MQTT 3.1.1 spec defines that UNSUBSCRIBE packet needs to define AT_LEAST_ONCE (01) for fixed header QoS bits. But older clients might set those to some different value, like AT_MOST_ONCE. At the moment, the mqtt-client lib will try to have this case differently and we'll get 
> {code}ProtocolException: Invalid message encoding{code}
> error.
> The solution is to make mqtt client parse these other values regularly and introduce the necessary checks for 3.1.1 spec version in the broker.



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