From 0c6e83f08eb8be1e70d7a7a246602fd47d53d7a6 Mon Sep 17 00:00:00 2001 From: JimMoen Date: Mon, 21 Feb 2022 20:13:21 +0800 Subject: [PATCH 1/2] fix(frame): `server_keepalive` only for MQTT v5.0 --- src/emqx_channel.erl | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/emqx_channel.erl b/src/emqx_channel.erl index 1b20753aa..6c03a1a04 100644 --- a/src/emqx_channel.erl +++ b/src/emqx_channel.erl @@ -1455,11 +1455,13 @@ enrich_connack_caps(AckProps, _Channel) -> AckProps. %%-------------------------------------------------------------------- %% Enrich server keepalive -enrich_server_keepalive(AckProps, #channel{clientinfo = #{zone := Zone}}) -> +enrich_server_keepalive(AckProps, ?IS_MQTT_V5 = #channel{clientinfo = #{zone := Zone}}) -> case emqx_zone:server_keepalive(Zone) of undefined -> AckProps; Keepalive -> AckProps#{'Server-Keep-Alive' => Keepalive} - end. + end; + +enrich_server_keepalive(AckProps, _Channel) -> AckProps. %%-------------------------------------------------------------------- %% Enrich response information @@ -1505,7 +1507,7 @@ init_alias_maximum(#mqtt_packet_connect{proto_ver = ?MQTT_PROTO_V5, init_alias_maximum(_ConnPkt, _ClientInfo) -> undefined. %%-------------------------------------------------------------------- -%% Enrich Keepalive +%% Ensure Keepalive ensure_keepalive(#{'Server-Keep-Alive' := Interval}, Channel) -> ensure_keepalive_timer(Interval, Channel); @@ -1671,4 +1673,3 @@ flag(false) -> 0. set_field(Name, Value, Channel) -> Pos = emqx_misc:index_of(Name, record_info(fields, channel)), setelement(Pos+1, Channel, Value). - From c13813538e89a6242c72d063e8593bf56ec6974d Mon Sep 17 00:00:00 2001 From: JimMoen Date: Mon, 21 Feb 2022 20:19:12 +0800 Subject: [PATCH 2/2] chroe(appup): update appup.src --- src/emqx.appup.src | 144 +++++++++++++++++++++++---------------------- 1 file changed, 74 insertions(+), 70 deletions(-) diff --git a/src/emqx.appup.src b/src/emqx.appup.src index 80d294f37..89ca543b8 100644 --- a/src/emqx.appup.src +++ b/src/emqx.appup.src @@ -22,11 +22,11 @@ {load_module, emqx_router, soft_purge, soft_purge, [emqx_trie]}, {load_module, emqx_cm, brutal_purge, soft_purge, []}, {load_module, emqx_access_rule, brutal_purge, soft_purge, []}, - {load_module,emqx_pqueue,brutal_purge,soft_purge,[]}, - {load_module,emqx_mqueue,brutal_purge,soft_purge,[]}, - {load_module,emqx_alarm_handler,brutal_purge,soft_purge,[]}, + {load_module, emqx_pqueue,brutal_purge,soft_purge,[]}, + {load_module, emqx_mqueue,brutal_purge,soft_purge,[]}, + {load_module, emqx_alarm_handler,brutal_purge,soft_purge,[]}, {load_module, emqx_app, brutal_purge, soft_purge, []}, - {load_module,emqx_misc,brutal_purge,soft_purge,[]} + {load_module, emqx_misc,brutal_purge,soft_purge,[]} ]}, {"4.2.1", [ {add_module, emqx_congestion}, @@ -47,11 +47,11 @@ {load_module, emqx_router, soft_purge, soft_purge, [emqx_trie]}, {load_module, emqx_cm, brutal_purge, soft_purge, []}, {load_module, emqx_access_rule, brutal_purge, soft_purge, []}, - {load_module,emqx_pqueue,brutal_purge,soft_purge,[]}, - {load_module,emqx_mqueue,brutal_purge,soft_purge,[]}, - {load_module,emqx_alarm_handler,brutal_purge,soft_purge,[]}, + {load_module, emqx_pqueue,brutal_purge,soft_purge,[]}, + {load_module, emqx_mqueue,brutal_purge,soft_purge,[]}, + {load_module, emqx_alarm_handler,brutal_purge,soft_purge,[]}, {load_module, emqx_app, brutal_purge, soft_purge, []}, - {load_module,emqx_misc,brutal_purge,soft_purge,[]} + {load_module, emqx_misc,brutal_purge,soft_purge,[]} ]}, {<<"4.2.[23]">>, [ {add_module, emqx_congestion}, @@ -69,10 +69,10 @@ {load_module, emqx_router, soft_purge, soft_purge, [emqx_trie]}, {load_module, emqx_cm, brutal_purge, soft_purge, []}, {load_module, emqx_access_rule, brutal_purge, soft_purge, []}, - {load_module,emqx_pqueue,brutal_purge,soft_purge,[]}, - {load_module,emqx_mqueue,brutal_purge,soft_purge,[]}, - {load_module,emqx_alarm_handler,brutal_purge,soft_purge,[]}, - {load_module,emqx_misc,brutal_purge,soft_purge,[]}, + {load_module, emqx_pqueue,brutal_purge,soft_purge,[]}, + {load_module, emqx_mqueue,brutal_purge,soft_purge,[]}, + {load_module, emqx_alarm_handler,brutal_purge,soft_purge,[]}, + {load_module, emqx_misc,brutal_purge,soft_purge,[]}, {load_module, emqx_app, brutal_purge, soft_purge, []}, {load_module, emqx_limiter, brutal_purge, soft_purge, []} ]}, @@ -91,10 +91,10 @@ {load_module, emqx_router, soft_purge, soft_purge, [emqx_trie]}, {load_module, emqx_cm, brutal_purge, soft_purge, []}, {load_module, emqx_access_rule, brutal_purge, soft_purge, []}, - {load_module,emqx_pqueue,brutal_purge,soft_purge,[]}, - {load_module,emqx_mqueue,brutal_purge,soft_purge,[]}, - {load_module,emqx_alarm_handler,brutal_purge,soft_purge,[]}, - {load_module,emqx_misc,brutal_purge,soft_purge,[]}, + {load_module, emqx_pqueue,brutal_purge,soft_purge,[]}, + {load_module, emqx_mqueue,brutal_purge,soft_purge,[]}, + {load_module, emqx_alarm_handler,brutal_purge,soft_purge,[]}, + {load_module, emqx_misc,brutal_purge,soft_purge,[]}, {load_module, emqx_app, brutal_purge, soft_purge, []}, {load_module, emqx_limiter, brutal_purge, soft_purge, []} ]}, @@ -113,10 +113,10 @@ {load_module, emqx_router, soft_purge, soft_purge, [emqx_trie]}, {load_module, emqx_cm, brutal_purge, soft_purge, []}, {load_module, emqx_access_rule, brutal_purge, soft_purge, []}, - {load_module,emqx_pqueue,brutal_purge,soft_purge,[]}, - {load_module,emqx_mqueue,brutal_purge,soft_purge,[]}, - {load_module,emqx_alarm_handler,brutal_purge,soft_purge,[]}, - {load_module,emqx_misc,brutal_purge,soft_purge,[]}, + {load_module, emqx_pqueue,brutal_purge,soft_purge,[]}, + {load_module, emqx_mqueue,brutal_purge,soft_purge,[]}, + {load_module, emqx_alarm_handler,brutal_purge,soft_purge,[]}, + {load_module, emqx_misc,brutal_purge,soft_purge,[]}, {load_module, emqx_app, brutal_purge, soft_purge, []}, {load_module, emqx_limiter, brutal_purge, soft_purge, []} ]}, @@ -127,10 +127,10 @@ {load_module, emqx_ws_connection, brutal_purge, soft_purge, []}, {load_module, emqx_cm, brutal_purge, soft_purge, []}, {load_module, emqx_access_rule, brutal_purge, soft_purge, []}, - {load_module,emqx_pqueue,brutal_purge,soft_purge,[]}, - {load_module,emqx_mqueue,brutal_purge,soft_purge,[]}, - {load_module,emqx_alarm_handler,brutal_purge,soft_purge,[]}, - {load_module,emqx_misc,brutal_purge,soft_purge,[]}, + {load_module, emqx_pqueue,brutal_purge,soft_purge,[]}, + {load_module, emqx_mqueue,brutal_purge,soft_purge,[]}, + {load_module, emqx_alarm_handler,brutal_purge,soft_purge,[]}, + {load_module, emqx_misc,brutal_purge,soft_purge,[]}, {load_module, emqx_app, brutal_purge, soft_purge, []}, {load_module, emqx_alarm, brutal_purge, soft_purge, []}, {load_module, emqx_os_mon, brutal_purge, soft_purge, []}, @@ -149,6 +149,7 @@ ]}, {<<"4.2.9">>, [ {load_module, emqx_frame, brutal_purge, soft_purge, []}, + {load_module, emqx_channel, brutal_purge, soft_purge, []}, {load_module, emqx_connection, brutal_purge, soft_purge, []}, {load_module, emqx_ws_connection, brutal_purge, soft_purge, []}, {load_module, emqx_limiter, brutal_purge, soft_purge, []}, @@ -157,9 +158,10 @@ {load_module, emqx_os_mon, brutal_purge, soft_purge, []} ]}, {<<"4.2.10">>, [ - {load_module,emqx_app, brutal_purge, soft_purge, []}, - {load_module,emqx_os_mon, brutal_purge, soft_purge, []}, - {load_module,emqx_alarm, brutal_purge, soft_purge, []} + {load_module, emqx_channel, brutal_purge, soft_purge, []}, + {load_module, emqx_app, brutal_purge, soft_purge, []}, + {load_module, emqx_os_mon, brutal_purge, soft_purge, []}, + {load_module, emqx_alarm, brutal_purge, soft_purge, []} ]}, {<<".*">>, []} ], @@ -184,11 +186,11 @@ {load_module, emqx_router, soft_purge, soft_purge, []}, {load_module, emqx_cm, brutal_purge, soft_purge, []}, {load_module, emqx_access_rule, brutal_purge, soft_purge, []}, - {load_module,emqx_pqueue,brutal_purge,soft_purge,[]}, - {load_module,emqx_mqueue,brutal_purge,soft_purge,[]}, - {load_module,emqx_alarm_handler,brutal_purge,soft_purge,[]}, - {load_module,emqx_app, brutal_purge, soft_purge, []}, - {load_module,emqx_misc,brutal_purge,soft_purge,[]} + {load_module, emqx_pqueue,brutal_purge,soft_purge,[]}, + {load_module, emqx_mqueue,brutal_purge,soft_purge,[]}, + {load_module, emqx_alarm_handler,brutal_purge,soft_purge,[]}, + {load_module, emqx_app, brutal_purge, soft_purge, []}, + {load_module, emqx_misc,brutal_purge,soft_purge,[]} ]}, {"4.2.1", [ {load_module, emqx_shared_sub, brutal_purge, soft_purge, []}, @@ -209,11 +211,11 @@ {load_module, emqx_router, soft_purge, soft_purge, []}, {load_module, emqx_cm, brutal_purge, soft_purge, []}, {load_module, emqx_access_rule, brutal_purge, soft_purge, []}, - {load_module,emqx_pqueue,brutal_purge,soft_purge,[]}, - {load_module,emqx_mqueue,brutal_purge,soft_purge,[]}, - {load_module,emqx_alarm_handler,brutal_purge,soft_purge,[]}, - {load_module,emqx_app, brutal_purge, soft_purge, []}, - {load_module,emqx_misc,brutal_purge,soft_purge,[]} + {load_module, emqx_pqueue,brutal_purge,soft_purge,[]}, + {load_module, emqx_mqueue,brutal_purge,soft_purge,[]}, + {load_module, emqx_alarm_handler,brutal_purge,soft_purge,[]}, + {load_module, emqx_app, brutal_purge, soft_purge, []}, + {load_module, emqx_misc,brutal_purge,soft_purge,[]} ]}, {<<"4.2.[23]">>, [ {load_module, emqx_shared_sub, brutal_purge, soft_purge, []}, @@ -231,11 +233,11 @@ {load_module, emqx_router, soft_purge, soft_purge, []}, {load_module, emqx_cm, brutal_purge, soft_purge, []}, {load_module, emqx_access_rule, brutal_purge, soft_purge, []}, - {load_module,emqx_pqueue,brutal_purge,soft_purge,[]}, - {load_module,emqx_mqueue,brutal_purge,soft_purge,[]}, - {load_module,emqx_alarm_handler,brutal_purge,soft_purge,[]}, - {load_module,emqx_misc,brutal_purge,soft_purge,[]}, - {load_module,emqx_app, brutal_purge, soft_purge, []}, + {load_module, emqx_pqueue,brutal_purge,soft_purge,[]}, + {load_module, emqx_mqueue,brutal_purge,soft_purge,[]}, + {load_module, emqx_alarm_handler,brutal_purge,soft_purge,[]}, + {load_module, emqx_misc,brutal_purge,soft_purge,[]}, + {load_module, emqx_app, brutal_purge, soft_purge, []}, {load_module, emqx_limiter, brutal_purge, soft_purge, []} ]}, {<<"4.2.4">>, [ @@ -252,12 +254,12 @@ {load_module, emqx_router, soft_purge, soft_purge, []}, {load_module, emqx_cm, brutal_purge, soft_purge, []}, {load_module, emqx_access_rule, brutal_purge, soft_purge, []}, - {load_module,emqx_pqueue,brutal_purge,soft_purge,[]}, - {load_module,emqx_mqueue,brutal_purge,soft_purge,[]}, - {load_module,emqx_alarm_handler,brutal_purge,soft_purge,[]}, - {load_module,emqx_app, brutal_purge, soft_purge, []}, - {load_module,emqx_os_mon, brutal_purge, soft_purge, []}, - {load_module,emqx_misc,brutal_purge,soft_purge,[]}, + {load_module, emqx_pqueue,brutal_purge,soft_purge,[]}, + {load_module, emqx_mqueue,brutal_purge,soft_purge,[]}, + {load_module, emqx_alarm_handler,brutal_purge,soft_purge,[]}, + {load_module, emqx_app, brutal_purge, soft_purge, []}, + {load_module, emqx_os_mon, brutal_purge, soft_purge, []}, + {load_module, emqx_misc,brutal_purge,soft_purge,[]}, {load_module, emqx_limiter, brutal_purge, soft_purge, []} ]}, {<<"4.2.5">>, [ @@ -274,12 +276,12 @@ {load_module, emqx_router, soft_purge, soft_purge, []}, {load_module, emqx_cm, brutal_purge, soft_purge, []}, {load_module, emqx_access_rule, brutal_purge, soft_purge, []}, - {load_module,emqx_pqueue,brutal_purge,soft_purge,[]}, - {load_module,emqx_mqueue,brutal_purge,soft_purge,[]}, - {load_module,emqx_alarm_handler,brutal_purge,soft_purge,[]}, - {load_module,emqx_app, brutal_purge, soft_purge, []}, - {load_module,emqx_os_mon, brutal_purge, soft_purge, []}, - {load_module,emqx_misc,brutal_purge,soft_purge,[]}, + {load_module, emqx_pqueue,brutal_purge,soft_purge,[]}, + {load_module, emqx_mqueue,brutal_purge,soft_purge,[]}, + {load_module, emqx_alarm_handler,brutal_purge,soft_purge,[]}, + {load_module, emqx_app, brutal_purge, soft_purge, []}, + {load_module, emqx_os_mon, brutal_purge, soft_purge, []}, + {load_module, emqx_misc,brutal_purge,soft_purge,[]}, {load_module, emqx_limiter, brutal_purge, soft_purge, []} ]}, {<<"4.2.[6-7]">>, [ @@ -289,13 +291,13 @@ {load_module, emqx_ws_connection, brutal_purge, soft_purge, []}, {load_module, emqx_cm, brutal_purge, soft_purge, []}, {load_module, emqx_access_rule, brutal_purge, soft_purge, []}, - {load_module,emqx_pqueue,brutal_purge,soft_purge,[]}, - {load_module,emqx_mqueue,brutal_purge,soft_purge,[]}, - {load_module,emqx_alarm_handler,brutal_purge,soft_purge,[]}, - {load_module,emqx_app, brutal_purge, soft_purge, []}, - {load_module,emqx_os_mon, brutal_purge, soft_purge, []}, - {load_module,emqx_alarm, brutal_purge, soft_purge, []}, - {load_module,emqx_misc,brutal_purge,soft_purge,[]}, + {load_module, emqx_pqueue,brutal_purge,soft_purge,[]}, + {load_module, emqx_mqueue,brutal_purge,soft_purge,[]}, + {load_module, emqx_alarm_handler,brutal_purge,soft_purge,[]}, + {load_module, emqx_app, brutal_purge, soft_purge, []}, + {load_module, emqx_os_mon, brutal_purge, soft_purge, []}, + {load_module, emqx_alarm, brutal_purge, soft_purge, []}, + {load_module, emqx_misc,brutal_purge,soft_purge,[]}, {load_module, emqx_limiter, brutal_purge, soft_purge, []} ]}, {<<"4.2.8">>, [ @@ -304,24 +306,26 @@ {load_module, emqx_connection, brutal_purge, soft_purge, []}, {load_module, emqx_ws_connection, brutal_purge, soft_purge, []}, {load_module, emqx_cm, brutal_purge, soft_purge, []}, - {load_module,emqx_app, brutal_purge, soft_purge, []}, - {load_module,emqx_os_mon, brutal_purge, soft_purge, []}, - {load_module,emqx_alarm, brutal_purge, soft_purge, []}, + {load_module, emqx_app, brutal_purge, soft_purge, []}, + {load_module, emqx_os_mon, brutal_purge, soft_purge, []}, + {load_module, emqx_alarm, brutal_purge, soft_purge, []}, {load_module, emqx_limiter, brutal_purge, soft_purge, []} ]}, {<<"4.2.9">>, [ {load_module, emqx_frame, brutal_purge, soft_purge, []}, + {load_module, emqx_channel, brutal_purge, soft_purge, []}, {load_module, emqx_connection, brutal_purge, soft_purge, []}, {load_module, emqx_ws_connection, brutal_purge, soft_purge, []}, {load_module, emqx_limiter, brutal_purge, soft_purge, []}, - {load_module,emqx_app, brutal_purge, soft_purge, []}, - {load_module,emqx_os_mon, brutal_purge, soft_purge, []}, - {load_module,emqx_alarm, brutal_purge, soft_purge, []} + {load_module, emqx_app, brutal_purge, soft_purge, []}, + {load_module, emqx_os_mon, brutal_purge, soft_purge, []}, + {load_module, emqx_alarm, brutal_purge, soft_purge, []} ]}, {<<"4.2.10">>, [ - {load_module,emqx_app, brutal_purge, soft_purge, []}, - {load_module,emqx_os_mon, brutal_purge, soft_purge, []}, - {load_module,emqx_alarm, brutal_purge, soft_purge, []} + {load_module, emqx_channel, brutal_purge, soft_purge, []}, + {load_module, emqx_app, brutal_purge, soft_purge, []}, + {load_module, emqx_os_mon, brutal_purge, soft_purge, []}, + {load_module, emqx_alarm, brutal_purge, soft_purge, []} ]}, {<<".*">>, []} ]