From 42a6f2aba5335b929f1aecf24412faec785cb5a6 Mon Sep 17 00:00:00 2001 From: JianBo He Date: Fri, 11 Jun 2021 11:08:24 +0800 Subject: [PATCH] fix(mqttsn): fix proto_name to MQTT-SN instead of MQTT (#4961) --- apps/emqx_sn/src/emqx_sn.app.src | 2 +- apps/emqx_sn/src/emqx_sn.appup.src | 6 ++++++ apps/emqx_sn/src/emqx_sn_gateway.erl | 10 ++++++---- include/emqx_mqtt.hrl | 2 ++ src/emqx.app.src | 2 +- src/emqx.appup.src | 27 +++++++++++++++++++-------- 6 files changed, 35 insertions(+), 14 deletions(-) diff --git a/apps/emqx_sn/src/emqx_sn.app.src b/apps/emqx_sn/src/emqx_sn.app.src index 82ec3b9fb..c48a76496 100644 --- a/apps/emqx_sn/src/emqx_sn.app.src +++ b/apps/emqx_sn/src/emqx_sn.app.src @@ -1,6 +1,6 @@ {application, emqx_sn, [{description, "EMQ X MQTT-SN Plugin"}, - {vsn, "4.3.2"}, % strict semver, bump manually! + {vsn, "4.3.3"}, % strict semver, bump manually! {modules, []}, {registered, []}, {applications, [kernel,stdlib,esockd]}, diff --git a/apps/emqx_sn/src/emqx_sn.appup.src b/apps/emqx_sn/src/emqx_sn.appup.src index a6a1a6c84..2bd6f5646 100644 --- a/apps/emqx_sn/src/emqx_sn.appup.src +++ b/apps/emqx_sn/src/emqx_sn.appup.src @@ -1,11 +1,17 @@ %% -*-: erlang -*- {VSN, [ + {"4.3.2", [ + {load_module, emqx_sn_gateway, brutal_purge, soft_purge, []} + ]}, {<<"4.3.[0-1]">>, [ {restart_application, emqx_sn} ]} ], [ + {"4.3.2", [ + {load_module, emqx_sn_gateway, brutal_purge, soft_purge, []} + ]}, {<<"4.3.[0-1]">>, [ {restart_application, emqx_sn} ]} diff --git a/apps/emqx_sn/src/emqx_sn_gateway.erl b/apps/emqx_sn/src/emqx_sn_gateway.erl index 2339961cf..9a8c68583 100644 --- a/apps/emqx_sn/src/emqx_sn_gateway.erl +++ b/apps/emqx_sn/src/emqx_sn_gateway.erl @@ -826,15 +826,17 @@ do_connect(ClientId, CleanStart, WillFlag, Duration, State) -> clean_start = CleanStart, username = State#state.username, password = State#state.password, + proto_name = <<"MQTT-SN">>, keepalive = Duration, - properties = OnlyOneInflight + properties = OnlyOneInflight, + proto_ver = 1 }, case WillFlag of true -> State0 = send_message(?SN_WILLTOPICREQ_MSG(), State), NState = State0#state{connpkt = ConnPkt, - clientid = ClientId, - keepalive_interval = Duration - }, + clientid = ClientId, + keepalive_interval = Duration + }, {next_state, wait_for_will_topic, NState}; false -> NState = State#state{clientid = ClientId, diff --git a/include/emqx_mqtt.hrl b/include/emqx_mqtt.hrl index e6e9bffe5..5dd9a317c 100644 --- a/include/emqx_mqtt.hrl +++ b/include/emqx_mqtt.hrl @@ -30,11 +30,13 @@ %% MQTT Protocol Version and Names %%-------------------------------------------------------------------- +-define(MQTT_SN_PROTO_V1, 1). -define(MQTT_PROTO_V3, 3). -define(MQTT_PROTO_V4, 4). -define(MQTT_PROTO_V5, 5). -define(PROTOCOL_NAMES, [ + {?MQTT_SN_PROTO_V1, <<"MQTT-SN">>}, %% XXX:Compatible with emqx-sn plug-in {?MQTT_PROTO_V3, <<"MQIsdp">>}, {?MQTT_PROTO_V4, <<"MQTT">>}, {?MQTT_PROTO_V5, <<"MQTT">>}]). diff --git a/src/emqx.app.src b/src/emqx.app.src index 884c511df..d03f6174f 100644 --- a/src/emqx.app.src +++ b/src/emqx.app.src @@ -1,7 +1,7 @@ {application, emqx, [{id, "emqx"}, {description, "EMQ X"}, - {vsn, "4.3.3"}, % strict semver, bump manually! + {vsn, "4.3.4"}, % strict semver, bump manually! {modules, []}, {registered, []}, {applications, [kernel,stdlib,gproc,gen_rpc,esockd,cowboy,sasl,os_mon]}, diff --git a/src/emqx.appup.src b/src/emqx.appup.src index b51a7f3b7..8c778ef36 100644 --- a/src/emqx.appup.src +++ b/src/emqx.appup.src @@ -1,12 +1,17 @@ %% -*- mode: erlang -*- {VSN, - [{"4.3.2", - [{load_module,emqx_http_lib,brutal_purge,soft_purge,[]}, + [ + {"4.3.3", + [{load_module,emqx_packet,brutal_purge,soft_purge,[]}]}, + {"4.3.2", + [{load_module,emqx_packet,brutal_purge,soft_purge,[]}, + {load_module,emqx_http_lib,brutal_purge,soft_purge,[]}, {load_module,emqx_channel,brutal_purge,soft_purge,[]}, {load_module,emqx_app,brutal_purge,soft_purge,[]}, {load_module,emqx_connection,brutal_purge,soft_purge,[]}]}, {"4.3.1", - [{load_module,emqx_ws_connection,brutal_purge,soft_purge,[]}, + [{load_module,emqx_packet,brutal_purge,soft_purge,[]}, + {load_module,emqx_ws_connection,brutal_purge,soft_purge,[]}, {load_module,emqx_connection,brutal_purge,soft_purge,[]}, {load_module,emqx_frame,brutal_purge,soft_purge,[]}, {load_module,emqx_cm,brutal_purge,soft_purge,[]}, @@ -18,7 +23,8 @@ {load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]}, {load_module,emqx_http_lib,brutal_purge,soft_purge,[]}]}, {"4.3.0", - [{load_module,emqx_logger_jsonfmt,brutal_purge,soft_purge,[]}, + [{load_module,emqx_packet,brutal_purge,soft_purge,[]}, + {load_module,emqx_logger_jsonfmt,brutal_purge,soft_purge,[]}, {load_module,emqx_ws_connection,brutal_purge,soft_purge,[]}, {load_module,emqx_congestion,brutal_purge,soft_purge,[]}, {load_module,emqx_connection,brutal_purge,soft_purge,[]}, @@ -34,13 +40,17 @@ {apply,{emqx_metrics,upgrade_retained_delayed_counter_type,[]}}, {load_module,emqx_http_lib,brutal_purge,soft_purge,[]}]}, {<<".*">>,[]}], - [{"4.3.2", - [{load_module,emqx_http_lib,brutal_purge,soft_purge,[]}, + [{"4.3.3", + [{load_module,emqx_packet,brutal_purge,soft_purge,[]}]}, + {"4.3.2", + [{load_module,emqx_packet,brutal_purge,soft_purge,[]}, + {load_module,emqx_http_lib,brutal_purge,soft_purge,[]}, {load_module,emqx_channel,brutal_purge,soft_purge,[]}, {load_module,emqx_app,brutal_purge,soft_purge,[]}, {load_module,emqx_connection,brutal_purge,soft_purge,[]}]}, {"4.3.1", - [{load_module,emqx_ws_connection,brutal_purge,soft_purge,[]}, + [{load_module,emqx_packet,brutal_purge,soft_purge,[]}, + {load_module,emqx_ws_connection,brutal_purge,soft_purge,[]}, {load_module,emqx_connection,brutal_purge,soft_purge,[]}, {load_module,emqx_frame,brutal_purge,soft_purge,[]}, {load_module,emqx_cm,brutal_purge,soft_purge,[]}, @@ -52,7 +62,8 @@ {load_module,emqx_logger_textfmt,brutal_purge,soft_purge,[]}, {load_module,emqx_http_lib,brutal_purge,soft_purge,[]}]}, {"4.3.0", - [{load_module,emqx_logger_jsonfmt,brutal_purge,soft_purge,[]}, + [{load_module,emqx_packet,brutal_purge,soft_purge,[]}, + {load_module,emqx_logger_jsonfmt,brutal_purge,soft_purge,[]}, {load_module,emqx_ws_connection,brutal_purge,soft_purge,[]}, {load_module,emqx_connection,brutal_purge,soft_purge,[]}, {load_module,emqx_congestion,brutal_purge,soft_purge,[]},