From 01342174af2b0017d94c54d55d99badf1cc66cf7 Mon Sep 17 00:00:00 2001 From: imhao183 Date: Tue, 16 Feb 2021 11:27:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8E=BB=E6=8E=89=E5=AF=B9=E5=AE=A2=E6=88=B7?= =?UTF-8?q?=E7=AB=AF=E7=89=88=E6=9C=AC=E7=9A=84=E9=99=90=E5=88=B6=EF=BC=8C?= =?UTF-8?q?=E4=BB=A5=E4=BE=BF=E6=94=AF=E6=8C=81=E6=9B=B4=E6=96=B0=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E7=9A=84=E5=AE=A2=E6=88=B7=E7=AB=AFsdk?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/io/moquette/spi/impl/ProtocolProcessor.java | 3 +-- .../java/io/netty/handler/codec/mqtt/MqttVersion.java | 8 +++++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/broker/src/main/java/io/moquette/spi/impl/ProtocolProcessor.java b/broker/src/main/java/io/moquette/spi/impl/ProtocolProcessor.java index 8b7f7c9f..a1fa82d4 100755 --- a/broker/src/main/java/io/moquette/spi/impl/ProtocolProcessor.java +++ b/broker/src/main/java/io/moquette/spi/impl/ProtocolProcessor.java @@ -188,8 +188,7 @@ public class ProtocolProcessor { String clientId = payload.clientIdentifier(); LOG.info("Processing CONNECT message. CId={}, username={}", clientId, payload.userName()); - if (msg.variableHeader().version() < MqttVersion.MQTT_3_1_1.protocolLevel() || - msg.variableHeader().version() >= MqttVersion.Wildfire_Max.protocolLevel()) { + if (msg.variableHeader().version() < MqttVersion.MQTT_3_1_1.protocolLevel()) { MqttConnAckMessage badProto = connAck(CONNECTION_REFUSED_UNACCEPTABLE_PROTOCOL_VERSION); LOG.error("MQTT protocol version is not valid. CId={}", clientId); diff --git a/broker/src/main/java/io/netty/handler/codec/mqtt/MqttVersion.java b/broker/src/main/java/io/netty/handler/codec/mqtt/MqttVersion.java index 9d5b7ed6..b92c3764 100755 --- a/broker/src/main/java/io/netty/handler/codec/mqtt/MqttVersion.java +++ b/broker/src/main/java/io/netty/handler/codec/mqtt/MqttVersion.java @@ -27,7 +27,7 @@ public enum MqttVersion { MQTT_3_1_1("MQTT", (byte) 4), Wildfire_1("MQTT", (byte) 5), Wildfire_2("MQTT", (byte) 6), - Wildfire_Max("MQTT", (byte) 7); + Wildfire_Future("MQTT", (byte) 7); private final String name; private final byte level; @@ -59,6 +59,9 @@ public enum MqttVersion { } } } + if(protocolLevel > Wildfire_Future.level) { + return Wildfire_Future; + } throw new MqttUnacceptableProtocolVersionException(protocolName + "is unknown protocol name"); } @@ -68,6 +71,9 @@ public enum MqttVersion { return mv; } } + if(protocolLevel > Wildfire_Future.level) { + return Wildfire_Future; + } throw new MqttUnacceptableProtocolVersionException(protocolLevel + "is unknown protocol level"); } }