https://issues.apache.org/jira/browse/AMQ-5997 - support legacy clients
(cherry picked from commit b83c38b04c3e4330e6d5f57e4c5d7f3fd62942f0) Project: http://git-wip-us.apache.org/repos/asf/activemq/repo Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/95443543 Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/95443543 Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/95443543 Branch: refs/heads/activemq-5.12.x Commit: 95443543e74da534d6c6a144d7c953e2ace7799e Parents: 69e894c Author: Dejan Bosanac <de...@nighttale.net> Authored: Mon Oct 5 12:55:25 2015 +0200 Committer: Christopher L. Shannon (cshannon) <christopher.l.shan...@gmail.com> Committed: Wed Oct 7 16:44:22 2015 +0000 ---------------------------------------------------------------------- .../org/apache/activemq/transport/mqtt/MQTTProtocolConverter.java | 3 +++ pom.xml | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/activemq/blob/95443543/activemq-mqtt/src/main/java/org/apache/activemq/transport/mqtt/MQTTProtocolConverter.java ---------------------------------------------------------------------- diff --git a/activemq-mqtt/src/main/java/org/apache/activemq/transport/mqtt/MQTTProtocolConverter.java b/activemq-mqtt/src/main/java/org/apache/activemq/transport/mqtt/MQTTProtocolConverter.java index b83dd27..5998938 100644 --- a/activemq-mqtt/src/main/java/org/apache/activemq/transport/mqtt/MQTTProtocolConverter.java +++ b/activemq-mqtt/src/main/java/org/apache/activemq/transport/mqtt/MQTTProtocolConverter.java @@ -376,6 +376,9 @@ public class MQTTProtocolConverter { public void onUnSubscribe(UNSUBSCRIBE command) throws MQTTProtocolException { checkConnected(); + if (command.qos() != QoS.AT_LEAST_ONCE && (version != V3_1 || publishDollarTopics != true)) { + throw new MQTTProtocolException("Failed to process unsubscribe request", true, new Exception("UNSUBSCRIBE frame not properly formatted, QoS")); + } UTF8Buffer[] topics = command.topics(); if (topics != null) { for (UTF8Buffer topic : topics) { http://git-wip-us.apache.org/repos/asf/activemq/blob/95443543/pom.xml ---------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index b3d4015..658b6d0 100755 --- a/pom.xml +++ b/pom.xml @@ -96,7 +96,7 @@ <leveldbjni-version>1.8</leveldbjni-version> <log4j-version>1.2.17</log4j-version> <mockito-version>1.10.17</mockito-version> - <mqtt-client-version>1.10</mqtt-client-version> + <mqtt-client-version>1.12</mqtt-client-version> <openjpa-version>1.2.0</openjpa-version> <org-apache-derby-version>10.11.1.1</org-apache-derby-version> <org.osgi.core-version>4.3.1</org.osgi.core-version>