From 325c5e5a97d907a05bd6154a58aa6df744462971 Mon Sep 17 00:00:00 2001 From: Zaiming Shi Date: Fri, 5 Nov 2021 13:05:34 +0100 Subject: [PATCH 1/6] chore: sync ce code added only to ee back to ce --- apps/emqx_auth_pgsql/rebar.config | 2 +- apps/emqx_exproto/src/emqx_exproto.app.src | 2 +- apps/emqx_exproto/src/emqx_exproto.appup.src | 14 ++++----- .../emqx_exproto/src/emqx_exproto_channel.erl | 30 ++++++++++++++----- apps/emqx_exproto/src/emqx_exproto_conn.erl | 6 +++- apps/emqx_stomp/src/emqx_stomp_connection.erl | 6 ++-- 6 files changed, 39 insertions(+), 21 deletions(-) diff --git a/apps/emqx_auth_pgsql/rebar.config b/apps/emqx_auth_pgsql/rebar.config index 3155bbef3..e1a1c752c 100644 --- a/apps/emqx_auth_pgsql/rebar.config +++ b/apps/emqx_auth_pgsql/rebar.config @@ -1,5 +1,5 @@ {deps, - [{epgsql, {git, "https://github.com/epgsql/epgsql", {tag, "4.4.0"}}} + [{epgsql, {git, "https://github.com/epgsql/epgsql.git", {tag, "4.4.0"}}} ]}. {erl_opts, [warn_unused_vars, diff --git a/apps/emqx_exproto/src/emqx_exproto.app.src b/apps/emqx_exproto/src/emqx_exproto.app.src index 3157fb482..e2c674779 100644 --- a/apps/emqx_exproto/src/emqx_exproto.app.src +++ b/apps/emqx_exproto/src/emqx_exproto.app.src @@ -1,6 +1,6 @@ {application, emqx_exproto, [{description, "EMQ X Extension for Protocol"}, - {vsn, "4.3.2"}, %% strict semver + {vsn, "4.3.3"}, %% strict semver {modules, []}, {registered, []}, {mod, {emqx_exproto_app, []}}, diff --git a/apps/emqx_exproto/src/emqx_exproto.appup.src b/apps/emqx_exproto/src/emqx_exproto.appup.src index abfebbd6f..b5cd29869 100644 --- a/apps/emqx_exproto/src/emqx_exproto.appup.src +++ b/apps/emqx_exproto/src/emqx_exproto.appup.src @@ -1,12 +1,11 @@ %% -*-: erlang -*- {VSN, [ - {"4.3.1", [ - {load_module, emqx_exproto_gsvr, brutal_purge, soft_purge, []}, - {load_module, emqx_exproto_gcli, brutal_purge, soft_purge, []}, + {"4.3.2", [ + {load_module, emqx_exproto_conn, brutal_purge, soft_purge, []}, {load_module, emqx_exproto_channel, brutal_purge, soft_purge, []} ]}, - {"4.3.0", [ + {<<"4.3.[0-1]">>, [ {load_module, emqx_exproto_gsvr, brutal_purge, soft_purge, []}, {load_module, emqx_exproto_gcli, brutal_purge, soft_purge, []}, {load_module, emqx_exproto_conn, brutal_purge, soft_purge, []}, @@ -15,12 +14,11 @@ {<<".*">>, []} ], [ - {"4.3.1", [ - {load_module, emqx_exproto_gsvr, brutal_purge, soft_purge, []}, - {load_module, emqx_exproto_gcli, brutal_purge, soft_purge, []}, + {"4.3.2", [ + {load_module, emqx_exproto_conn, brutal_purge, soft_purge, []}, {load_module, emqx_exproto_channel, brutal_purge, soft_purge, []} ]}, - {"4.3.0", [ + {<<"4.3.[0-1]">>, [ {load_module, emqx_exproto_gsvr, brutal_purge, soft_purge, []}, {load_module, emqx_exproto_gcli, brutal_purge, soft_purge, []}, {load_module, emqx_exproto_conn, brutal_purge, soft_purge, []}, diff --git a/apps/emqx_exproto/src/emqx_exproto_channel.erl b/apps/emqx_exproto/src/emqx_exproto_channel.erl index ba6205c9a..4c9dca5d5 100644 --- a/apps/emqx_exproto/src/emqx_exproto_channel.erl +++ b/apps/emqx_exproto/src/emqx_exproto_channel.erl @@ -94,6 +94,9 @@ awaiting_rel_max ]). +-define(CHANMOCK(P), {exproto_anonymous_client, P}). +-define(CHAN_CONN_TAB, emqx_channel_conn). + %%-------------------------------------------------------------------- %% Info, Attrs and Caps %%-------------------------------------------------------------------- @@ -155,13 +158,20 @@ init(ConnInfo = #{socktype := Socktype, conn_state = connecting, timers = #{} }, - - Req = #{conninfo => - peercert(Peercert, - #{socktype => socktype(Socktype), - peername => address(Peername), - sockname => address(Sockname)})}, - try_dispatch(on_socket_created, wrap(Req), Channel). + %% Check license limitation + case emqx_hooks:run_fold('client.connect', [NConnInfo], #{}) of + {error, _Reason} -> + throw(nopermission); + _ -> + ConnMod = maps:get(conn_mod, NConnInfo), + true = ets:insert(?CHAN_CONN_TAB, {?CHANMOCK(self()), ConnMod}), + Req = #{conninfo => + peercert(Peercert, + #{socktype => socktype(Socktype), + peername => address(Peername), + sockname => address(Sockname)})}, + try_dispatch(on_socket_created, wrap(Req), Channel) + end. %% @private peercert(NoSsl, ConnInfo) when NoSsl == nossl; @@ -283,6 +293,7 @@ handle_call({auth, ClientInfo0, Password}, emqx_metrics:inc('client.auth.anonymous'), NClientInfo = maps:merge(ClientInfo1, AuthResult), NChannel = Channel1#channel{clientinfo = NClientInfo}, + clean_anonymous_clients(), case emqx_cm:open_session(true, NClientInfo, NConnInfo) of {ok, _Session} -> ?LOG(debug, "Client ~s (Username: '~s') authorized successfully!", @@ -399,12 +410,16 @@ handle_info(Info, Channel) -> -spec(terminate(any(), channel()) -> channel()). terminate(Reason, Channel) -> + clean_anonymous_clients(), Req = #{reason => stringfy(Reason)}, try_dispatch(on_socket_closed, wrap(Req), Channel). is_anonymous(#{anonymous := true}) -> true; is_anonymous(_AuthResult) -> false. +clean_anonymous_clients() -> + ets:delete(?CHAN_CONN_TAB, ?CHANMOCK(self())). + %%-------------------------------------------------------------------- %% Sub/UnSub %%-------------------------------------------------------------------- @@ -577,7 +592,6 @@ default_conninfo(ConnInfo) -> ConnInfo#{clean_start => true, clientid => undefined, username => undefined, - conn_mod => undefined, conn_props => #{}, connected => true, connected_at => erlang:system_time(millisecond), diff --git a/apps/emqx_exproto/src/emqx_exproto_conn.erl b/apps/emqx_exproto/src/emqx_exproto_conn.erl index c7f73e104..685a05687 100644 --- a/apps/emqx_exproto/src/emqx_exproto_conn.erl +++ b/apps/emqx_exproto/src/emqx_exproto_conn.erl @@ -233,7 +233,11 @@ init(Parent, WrappedSock, Peername0, Options) -> case esockd_wait(WrappedSock) of {ok, NWrappedSock} -> Peername = esockd_peername(NWrappedSock, Peername0), - run_loop(Parent, init_state(NWrappedSock, Peername, Options)); + try + run_loop(Parent, init_state(NWrappedSock, Peername, Options)) + catch + throw : nopermission -> erlang:exit(normal) + end; {error, Reason} -> ok = esockd_close(WrappedSock), exit_on_sock_error(Reason) diff --git a/apps/emqx_stomp/src/emqx_stomp_connection.erl b/apps/emqx_stomp/src/emqx_stomp_connection.erl index d2bf3d8b0..19ae6bc26 100644 --- a/apps/emqx_stomp/src/emqx_stomp_connection.erl +++ b/apps/emqx_stomp/src/emqx_stomp_connection.erl @@ -91,6 +91,8 @@ -define(ENABLED(X), (X =/= undefined)). +-elvis([{elvis_style, invalid_dynamic_call, #{ignore => [emqx_stomp_connection]}}]). + -dialyzer({nowarn_function, [ ensure_stats_timer/2 ]}). @@ -101,7 +103,7 @@ start_link(Transport, Sock, ProtoEnv) -> {ok, proc_lib:spawn_link(?MODULE, init, [[Transport, Sock, ProtoEnv]])}. --spec info(pid()|state()) -> emqx_types:infos(). +-spec info(pid() | state()) -> emqx_types:infos(). info(CPid) when is_pid(CPid) -> call(CPid, info); info(State = #state{pstate = PState}) -> @@ -123,7 +125,7 @@ info(sockstate, #state{sockstate = SockSt}) -> info(active_n, #state{active_n = ActiveN}) -> ActiveN. --spec stats(pid()|state()) -> emqx_types:stats(). +-spec stats(pid() | state()) -> emqx_types:stats(). stats(CPid) when is_pid(CPid) -> call(CPid, stats); stats(#state{transport = Transport, From 412a68ac750302214683742cfb44f65d44de6c3a Mon Sep 17 00:00:00 2001 From: Zaiming Shi Date: Fri, 5 Nov 2021 13:13:04 +0100 Subject: [PATCH 2/6] chore: bump version for emqx_proto --- apps/emqx_exproto/src/emqx_exproto.app.src | 2 +- apps/emqx_exproto/src/emqx_exproto.appup.src | 2 ++ apps/emqx_exproto/src/emqx_exproto_channel.erl | 1 - 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/emqx_exproto/src/emqx_exproto.app.src b/apps/emqx_exproto/src/emqx_exproto.app.src index e2c674779..f7cab4c2e 100644 --- a/apps/emqx_exproto/src/emqx_exproto.app.src +++ b/apps/emqx_exproto/src/emqx_exproto.app.src @@ -1,6 +1,6 @@ {application, emqx_exproto, [{description, "EMQ X Extension for Protocol"}, - {vsn, "4.3.3"}, %% strict semver + {vsn, "4.3.4"}, %% 4.3.3 is used by ee {modules, []}, {registered, []}, {mod, {emqx_exproto_app, []}}, diff --git a/apps/emqx_exproto/src/emqx_exproto.appup.src b/apps/emqx_exproto/src/emqx_exproto.appup.src index b5cd29869..6b8dde713 100644 --- a/apps/emqx_exproto/src/emqx_exproto.appup.src +++ b/apps/emqx_exproto/src/emqx_exproto.appup.src @@ -1,6 +1,7 @@ %% -*-: erlang -*- {VSN, [ + {"4.3.3", []}, %% 4.3.3 is used by ee {"4.3.2", [ {load_module, emqx_exproto_conn, brutal_purge, soft_purge, []}, {load_module, emqx_exproto_channel, brutal_purge, soft_purge, []} @@ -14,6 +15,7 @@ {<<".*">>, []} ], [ + {"4.3.3", []}, %% 4.3.3 is used by ee {"4.3.2", [ {load_module, emqx_exproto_conn, brutal_purge, soft_purge, []}, {load_module, emqx_exproto_channel, brutal_purge, soft_purge, []} diff --git a/apps/emqx_exproto/src/emqx_exproto_channel.erl b/apps/emqx_exproto/src/emqx_exproto_channel.erl index 4c9dca5d5..be609860e 100644 --- a/apps/emqx_exproto/src/emqx_exproto_channel.erl +++ b/apps/emqx_exproto/src/emqx_exproto_channel.erl @@ -158,7 +158,6 @@ init(ConnInfo = #{socktype := Socktype, conn_state = connecting, timers = #{} }, - %% Check license limitation case emqx_hooks:run_fold('client.connect', [NConnInfo], #{}) of {error, _Reason} -> throw(nopermission); From f1f2e51c99b5b6f7be2d4a98b0b8e47e2f8de10e Mon Sep 17 00:00:00 2001 From: Zaiming Shi Date: Fri, 5 Nov 2021 16:33:39 +0100 Subject: [PATCH 3/6] fix: update appup --- apps/emqx_exproto/src/emqx_exproto.appup.src | 55 +++++---- .../src/emqx_rule_engine.app.src | 2 +- .../src/emqx_rule_engine.appup.src | 106 ++++++++---------- apps/emqx_stomp/src/emqx_stomp.app.src | 2 +- apps/emqx_stomp/src/emqx_stomp.appup.src | 14 ++- 5 files changed, 83 insertions(+), 96 deletions(-) diff --git a/apps/emqx_exproto/src/emqx_exproto.appup.src b/apps/emqx_exproto/src/emqx_exproto.appup.src index 6b8dde713..e0a021af5 100644 --- a/apps/emqx_exproto/src/emqx_exproto.appup.src +++ b/apps/emqx_exproto/src/emqx_exproto.appup.src @@ -1,31 +1,26 @@ -%% -*-: erlang -*- +%% -*- mode: erlang -*- {VSN, - [ - {"4.3.3", []}, %% 4.3.3 is used by ee - {"4.3.2", [ - {load_module, emqx_exproto_conn, brutal_purge, soft_purge, []}, - {load_module, emqx_exproto_channel, brutal_purge, soft_purge, []} - ]}, - {<<"4.3.[0-1]">>, [ - {load_module, emqx_exproto_gsvr, brutal_purge, soft_purge, []}, - {load_module, emqx_exproto_gcli, brutal_purge, soft_purge, []}, - {load_module, emqx_exproto_conn, brutal_purge, soft_purge, []}, - {load_module, emqx_exproto_channel, brutal_purge, soft_purge, []} - ]}, - {<<".*">>, []} - ], - [ - {"4.3.3", []}, %% 4.3.3 is used by ee - {"4.3.2", [ - {load_module, emqx_exproto_conn, brutal_purge, soft_purge, []}, - {load_module, emqx_exproto_channel, brutal_purge, soft_purge, []} - ]}, - {<<"4.3.[0-1]">>, [ - {load_module, emqx_exproto_gsvr, brutal_purge, soft_purge, []}, - {load_module, emqx_exproto_gcli, brutal_purge, soft_purge, []}, - {load_module, emqx_exproto_conn, brutal_purge, soft_purge, []}, - {load_module, emqx_exproto_channel, brutal_purge, soft_purge, []} - ]}, - {<<".*">>, []} - ] -}. + [{"4.3.3", + [{load_module,emqx_exproto_conn,brutal_purge,soft_purge,[]}, + {load_module,emqx_exproto_channel,brutal_purge,soft_purge,[]}]}, + {"4.3.2", + [{load_module,emqx_exproto_conn,brutal_purge,soft_purge,[]}, + {load_module,emqx_exproto_channel,brutal_purge,soft_purge,[]}]}, + {<<"4.3.[0-1]">>, + [{load_module,emqx_exproto_gsvr,brutal_purge,soft_purge,[]}, + {load_module,emqx_exproto_gcli,brutal_purge,soft_purge,[]}, + {load_module,emqx_exproto_conn,brutal_purge,soft_purge,[]}, + {load_module,emqx_exproto_channel,brutal_purge,soft_purge,[]}]}, + {<<".*">>,[]}], + [{"4.3.3", + [{load_module,emqx_exproto_conn,brutal_purge,soft_purge,[]}, + {load_module,emqx_exproto_channel,brutal_purge,soft_purge,[]}]}, + {"4.3.2", + [{load_module,emqx_exproto_conn,brutal_purge,soft_purge,[]}, + {load_module,emqx_exproto_channel,brutal_purge,soft_purge,[]}]}, + {<<"4.3.[0-1]">>, + [{load_module,emqx_exproto_gsvr,brutal_purge,soft_purge,[]}, + {load_module,emqx_exproto_gcli,brutal_purge,soft_purge,[]}, + {load_module,emqx_exproto_conn,brutal_purge,soft_purge,[]}, + {load_module,emqx_exproto_channel,brutal_purge,soft_purge,[]}]}, + {<<".*">>,[]}]}. diff --git a/apps/emqx_rule_engine/src/emqx_rule_engine.app.src b/apps/emqx_rule_engine/src/emqx_rule_engine.app.src index 89147b76c..66af0da21 100644 --- a/apps/emqx_rule_engine/src/emqx_rule_engine.app.src +++ b/apps/emqx_rule_engine/src/emqx_rule_engine.app.src @@ -1,6 +1,6 @@ {application, emqx_rule_engine, [{description, "EMQ X Rule Engine"}, - {vsn, "4.3.5"}, % strict semver, bump manually! + {vsn, "4.3.6"}, % strict semver, bump manually! {modules, []}, {registered, [emqx_rule_engine_sup, emqx_rule_registry]}, {applications, [kernel,stdlib,rulesql,getopt]}, diff --git a/apps/emqx_rule_engine/src/emqx_rule_engine.appup.src b/apps/emqx_rule_engine/src/emqx_rule_engine.appup.src index 80b64f027..c94dc994d 100644 --- a/apps/emqx_rule_engine/src/emqx_rule_engine.appup.src +++ b/apps/emqx_rule_engine/src/emqx_rule_engine.appup.src @@ -1,64 +1,52 @@ -%% -*-: erlang -*- -{"4.3.5", - [ {"4.3.0", - [ {load_module, emqx_rule_funcs, brutal_purge, soft_purge, []} - , {load_module, emqx_rule_engine, brutal_purge, soft_purge, []} - , {load_module, emqx_rule_registry, brutal_purge, soft_purge, []} - , {apply, {emqx_stats, cancel_update, [rule_registery_stats]}} - , {load_module, emqx_rule_actions, brutal_purge, soft_purge, []} - ]}, - {"4.3.1", - [ {load_module, emqx_rule_engine, brutal_purge, soft_purge, []} - , {load_module, emqx_rule_registry, brutal_purge, soft_purge, []} - , {apply, {emqx_stats, cancel_update, [rule_registery_stats]}} - , {load_module, emqx_rule_actions, brutal_purge, soft_purge, []} - ]}, - {"4.3.2", - [ {load_module, emqx_rule_registry, brutal_purge, soft_purge, []} - , {apply, {emqx_stats, cancel_update, [rule_registery_stats]}} - , {load_module, emqx_rule_engine, brutal_purge, soft_purge, []} - , {load_module, emqx_rule_actions, brutal_purge, soft_purge, []} - ]}, - {"4.3.3", - [ {load_module, emqx_rule_engine, brutal_purge, soft_purge, []} - , {load_module, emqx_rule_actions, brutal_purge, soft_purge, []} - , {load_module, emqx_rule_registry, brutal_purge, soft_purge, []} - ]}, - {"4.3.4", - [ {load_module, emqx_rule_engine, brutal_purge, soft_purge, []} - , {load_module, emqx_rule_registry, brutal_purge, soft_purge, []} - ]}, - {<<".*">>, []} - ], - [ +%% -*- mode: erlang -*- +{VSN, + [{"4.3.5",[{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}]}, {"4.3.0", - [ {load_module, emqx_rule_funcs, brutal_purge, soft_purge, []} - , {load_module, emqx_rule_engine, brutal_purge, soft_purge, []} - , {load_module, emqx_rule_registry, brutal_purge, soft_purge, []} - , {apply, {emqx_stats, cancel_update, [rule_registery_stats]}} - , {load_module, emqx_rule_actions, brutal_purge, soft_purge, []} - ]}, + [{load_module,emqx_rule_funcs,brutal_purge,soft_purge,[]}, + {load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}, + {load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}, + {apply,{emqx_stats,cancel_update,[rule_registery_stats]}}, + {load_module,emqx_rule_actions,brutal_purge,soft_purge,[]}]}, {"4.3.1", - [ {load_module, emqx_rule_engine, brutal_purge, soft_purge, []} - , {load_module, emqx_rule_registry, brutal_purge, soft_purge, []} - , {apply, {emqx_stats, cancel_update, [rule_registery_stats]}} - , {load_module, emqx_rule_actions, brutal_purge, soft_purge, []} - ]}, + [{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}, + {load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}, + {apply,{emqx_stats,cancel_update,[rule_registery_stats]}}, + {load_module,emqx_rule_actions,brutal_purge,soft_purge,[]}]}, {"4.3.2", - [ {load_module, emqx_rule_registry, brutal_purge, soft_purge, []} - , {apply, {emqx_stats, cancel_update, [rule_registery_stats]}} - , {load_module, emqx_rule_engine, brutal_purge, soft_purge, []} - , {load_module, emqx_rule_actions, brutal_purge, soft_purge, []} - ]}, + [{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}, + {apply,{emqx_stats,cancel_update,[rule_registery_stats]}}, + {load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}, + {load_module,emqx_rule_actions,brutal_purge,soft_purge,[]}]}, {"4.3.3", - [ {load_module, emqx_rule_engine, brutal_purge, soft_purge, []} - , {load_module, emqx_rule_actions, brutal_purge, soft_purge, []} - , {load_module, emqx_rule_registry, brutal_purge, soft_purge, []} - ]}, + [{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}, + {load_module,emqx_rule_actions,brutal_purge,soft_purge,[]}, + {load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}]}, {"4.3.4", - [ {load_module, emqx_rule_engine, brutal_purge, soft_purge, []} - , {load_module, emqx_rule_registry, brutal_purge, soft_purge, []} - ]}, - {<<".*">>, []} - ] -}. + [{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}, + {load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}]}, + {<<".*">>,[]}], + [{"4.3.5",[{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}]}, + {"4.3.0", + [{load_module,emqx_rule_funcs,brutal_purge,soft_purge,[]}, + {load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}, + {load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}, + {apply,{emqx_stats,cancel_update,[rule_registery_stats]}}, + {load_module,emqx_rule_actions,brutal_purge,soft_purge,[]}]}, + {"4.3.1", + [{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}, + {load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}, + {apply,{emqx_stats,cancel_update,[rule_registery_stats]}}, + {load_module,emqx_rule_actions,brutal_purge,soft_purge,[]}]}, + {"4.3.2", + [{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}, + {apply,{emqx_stats,cancel_update,[rule_registery_stats]}}, + {load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}, + {load_module,emqx_rule_actions,brutal_purge,soft_purge,[]}]}, + {"4.3.3", + [{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}, + {load_module,emqx_rule_actions,brutal_purge,soft_purge,[]}, + {load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}]}, + {"4.3.4", + [{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}, + {load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}]}, + {<<".*">>,[]}]}. diff --git a/apps/emqx_stomp/src/emqx_stomp.app.src b/apps/emqx_stomp/src/emqx_stomp.app.src index 87a0fd089..d2ecae53b 100644 --- a/apps/emqx_stomp/src/emqx_stomp.app.src +++ b/apps/emqx_stomp/src/emqx_stomp.app.src @@ -1,6 +1,6 @@ {application, emqx_stomp, [{description, "EMQ X Stomp Protocol Plugin"}, - {vsn, "4.3.1"}, % strict semver, bump manually! + {vsn, "4.3.2"}, % strict semver, bump manually! {modules, []}, {registered, [emqx_stomp_sup]}, {applications, [kernel,stdlib]}, diff --git a/apps/emqx_stomp/src/emqx_stomp.appup.src b/apps/emqx_stomp/src/emqx_stomp.appup.src index 8a3e7e720..e82b2fbde 100644 --- a/apps/emqx_stomp/src/emqx_stomp.appup.src +++ b/apps/emqx_stomp/src/emqx_stomp.appup.src @@ -1,8 +1,12 @@ %% -*- mode: erlang -*- -{"4.3.1", - [{"4.3.0", - [{restart_application,emqx_stomp}]}, +{VSN, + [{"4.3.1",[{load_module,emqx_stomp_connection,brutal_purge,soft_purge,[]}]}, + {"4.3.0", + [{load_module,emqx_stomp_connection,brutal_purge,soft_purge,[]}, + {restart_application,emqx_stomp}]}, {<<".*">>,[]}], - [{"4.3.0", - [{restart_application,emqx_stomp}]}, + [{"4.3.1",[{load_module,emqx_stomp_connection,brutal_purge,soft_purge,[]}]}, + {"4.3.0", + [{load_module,emqx_stomp_connection,brutal_purge,soft_purge,[]}, + {restart_application,emqx_stomp}]}, {<<".*">>,[]}]}. From 4f3790a6f58a51a63489622a5cbf458cc94ce7c7 Mon Sep 17 00:00:00 2001 From: Zaiming Shi Date: Fri, 5 Nov 2021 16:44:55 +0100 Subject: [PATCH 4/6] style: fix code style for emqx_exproto --- apps/emqx_exproto/src/emqx_exproto_channel.erl | 2 +- apps/emqx_exproto/src/emqx_exproto_conn.erl | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/apps/emqx_exproto/src/emqx_exproto_channel.erl b/apps/emqx_exproto/src/emqx_exproto_channel.erl index be609860e..67f85f932 100644 --- a/apps/emqx_exproto/src/emqx_exproto_channel.erl +++ b/apps/emqx_exproto/src/emqx_exproto_channel.erl @@ -106,7 +106,7 @@ info(Channel) -> maps:from_list(info(?INFO_KEYS, Channel)). --spec(info(list(atom())|atom(), channel()) -> term()). +-spec(info(list(atom()) | atom(), channel()) -> term()). info(Keys, Channel) when is_list(Keys) -> [{Key, info(Key, Channel)} || Key <- Keys]; info(conninfo, #channel{conninfo = ConnInfo}) -> diff --git a/apps/emqx_exproto/src/emqx_exproto_conn.erl b/apps/emqx_exproto/src/emqx_exproto_conn.erl index 685a05687..02c0b31d6 100644 --- a/apps/emqx_exproto/src/emqx_exproto_conn.erl +++ b/apps/emqx_exproto/src/emqx_exproto_conn.erl @@ -115,7 +115,7 @@ start_link(esockd_transport, Sock, Options) -> %%-------------------------------------------------------------------- %% @doc Get infos of the connection/channel. --spec(info(pid()|state()) -> emqx_types:infos()). +-spec(info(pid() | state()) -> emqx_types:infos()). info(CPid) when is_pid(CPid) -> call(CPid, info); info(State = #state{channel = Channel}) -> @@ -137,7 +137,7 @@ info(sockstate, #state{sockstate = SockSt}) -> info(active_n, #state{active_n = ActiveN}) -> ActiveN. --spec(stats(pid()|state()) -> emqx_types:stats()). +-spec(stats(pid() | state()) -> emqx_types:stats()). stats(CPid) when is_pid(CPid) -> call(CPid, stats); stats(#state{socket = Socket, @@ -341,7 +341,7 @@ cancel_stats_timer(State) -> State. process_msg([], Parent, State) -> recvloop(Parent, State); -process_msg([Msg|More], Parent, State) -> +process_msg([Msg | More], Parent, State) -> case catch handle_msg(Msg, State) of ok -> process_msg(More, Parent, State); @@ -417,7 +417,7 @@ handle_msg({Passive, _Sock}, State) handle_msg(Deliver = {deliver, _Topic, _Msg}, State = #state{active_n = ActiveN}) -> - Delivers = [Deliver|emqx_misc:drain_deliver(ActiveN)], + Delivers = [Deliver | emqx_misc:drain_deliver(ActiveN)], with_channel(handle_deliver, [Delivers], State); %% Something sent @@ -605,9 +605,9 @@ handle_outgoing(IoData, State = #state{socket = Socket}) -> handle_info(activate_socket, State = #state{sockstate = OldSst}) -> case activate_socket(State) of {ok, NState = #state{sockstate = NewSst}} -> - if OldSst =/= NewSst -> - {ok, {event, NewSst}, NState}; - true -> {ok, NState} + case OldSst =/= NewSst of + true -> {ok, {event, NewSst}, NState}; + false -> {ok, NState} end; {error, Reason} -> handle_info({sock_error, Reason}, State) From ed171b8e609f29980f42248135cea69cd53f2725 Mon Sep 17 00:00:00 2001 From: Zaiming Shi Date: Fri, 5 Nov 2021 16:46:56 +0100 Subject: [PATCH 5/6] chore: ensure version bump for dashboard app --- lib-ce/emqx_dashboard/src/emqx_dashboard.app.src | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib-ce/emqx_dashboard/src/emqx_dashboard.app.src b/lib-ce/emqx_dashboard/src/emqx_dashboard.app.src index 2c79b10b8..724a76237 100644 --- a/lib-ce/emqx_dashboard/src/emqx_dashboard.app.src +++ b/lib-ce/emqx_dashboard/src/emqx_dashboard.app.src @@ -1,6 +1,6 @@ {application, emqx_dashboard, [{description, "EMQ X Web Dashboard"}, - {vsn, "4.3.5"}, % strict semver, bump manually! + {vsn, "4.3.6"}, % strict semver, bump manually! {modules, []}, {registered, [emqx_dashboard_sup]}, {applications, [kernel,stdlib,mnesia,minirest]}, From 83ecdb242fff270d4588dda1230b50ee8a0c6be9 Mon Sep 17 00:00:00 2001 From: Zaiming Shi Date: Mon, 8 Nov 2021 09:29:49 +0100 Subject: [PATCH 6/6] fix(appup): delete module load from app restart instruction group --- apps/emqx_stomp/src/emqx_stomp.appup.src | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/apps/emqx_stomp/src/emqx_stomp.appup.src b/apps/emqx_stomp/src/emqx_stomp.appup.src index e82b2fbde..bf4603e52 100644 --- a/apps/emqx_stomp/src/emqx_stomp.appup.src +++ b/apps/emqx_stomp/src/emqx_stomp.appup.src @@ -2,11 +2,9 @@ {VSN, [{"4.3.1",[{load_module,emqx_stomp_connection,brutal_purge,soft_purge,[]}]}, {"4.3.0", - [{load_module,emqx_stomp_connection,brutal_purge,soft_purge,[]}, - {restart_application,emqx_stomp}]}, + [{restart_application,emqx_stomp}]}, {<<".*">>,[]}], [{"4.3.1",[{load_module,emqx_stomp_connection,brutal_purge,soft_purge,[]}]}, {"4.3.0", - [{load_module,emqx_stomp_connection,brutal_purge,soft_purge,[]}, - {restart_application,emqx_stomp}]}, + [{restart_application,emqx_stomp}]}, {<<".*">>,[]}]}.