Merge pull request #11060 from emqx/password-leak-in-logs-rule-engine

Password leak in logs rule engine
This commit is contained in:
Xinyu Liu 2023-06-15 16:59:37 +08:00 committed by GitHub
commit a2dae3425f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 284 additions and 75 deletions

View File

@ -30,6 +30,7 @@
start_link(Env) -> start_link(Env) ->
supervisor:start_link({local, ?MODULE}, ?MODULE, [Env]). supervisor:start_link({local, ?MODULE}, ?MODULE, [Env]).
-dialyzer({no_match, [ensure_worker_pool_started/0]}).
ensure_worker_pool_started() -> ensure_worker_pool_started() ->
try try
case is_managed_by_modules() of case is_managed_by_modules() of

View File

@ -14,6 +14,8 @@
%% limitations under the License. %% limitations under the License.
%%-------------------------------------------------------------------- %%--------------------------------------------------------------------
-include_lib("emqx/include/logger.hrl").
-define(APP, emqx_rule_engine). -define(APP, emqx_rule_engine).
-define(KV_TAB, '@rule_engine_db'). -define(KV_TAB, '@rule_engine_db').
@ -186,11 +188,11 @@
case lists:filter(fun(ResParttern) -> false; (_) -> true end, ResL) of case lists:filter(fun(ResParttern) -> false; (_) -> true end, ResL) of
[] -> ResL; [] -> ResL;
ErrL -> ErrL ->
?LOG(error, "cluster_call error found, ResL: ~p", [ResL]), ?LOG_SENSITIVE(error, "cluster_call error found, ResL: ~p", [ResL]),
throw({Func, ErrL}) throw({Func, ErrL})
end; end;
{ResL, BadNodes} -> {ResL, BadNodes} ->
?LOG(error, "cluster_call bad nodes found: ~p, ResL: ~p", [BadNodes, ResL]), ?LOG_SENSITIVE(error, "cluster_call bad nodes found: ~p, ResL: ~p", [BadNodes, ResL]),
throw({Func, {failed_on_nodes, BadNodes}}) throw({Func, {failed_on_nodes, BadNodes}})
end end()). end end()).

View File

@ -20,7 +20,6 @@
-include("rule_engine.hrl"). -include("rule_engine.hrl").
-include("rule_actions.hrl"). -include("rule_actions.hrl").
-include_lib("emqx/include/emqx.hrl"). -include_lib("emqx/include/emqx.hrl").
-include_lib("emqx/include/logger.hrl").
-define(BAD_TOPIC_WITH_WILDCARD, wildcard_topic_not_allowed_for_publish). -define(BAD_TOPIC_WITH_WILDCARD, wildcard_topic_not_allowed_for_publish).

View File

@ -1,25 +1,88 @@
%% -*- mode: erlang -*- %% -*- mode: erlang -*-
%% Unless you know what you are doing, DO NOT edit manually!! %% Unless you know what you are doing, DO NOT edit manually!!
{VSN, {VSN,
[{"4.4.18",[{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]}]}, [{"4.4.18",
[{load_module,emqx_rule_validator,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqltester,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_metrics,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_funcs,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_events,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_jwt_worker,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_jwt,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_api,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]}]},
{"4.4.17", {"4.4.17",
[{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]}, [{load_module,emqx_rule_validator,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqltester,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_metrics,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_funcs,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_events,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_jwt_worker,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_jwt,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_api,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]}]}, {load_module,emqx_rule_utils,brutal_purge,soft_purge,[]}]},
{"4.4.16", {"4.4.16",
[{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]}, [{load_module,emqx_rule_validator,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqltester,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_metrics,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_funcs,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_jwt_worker,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_jwt,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_api,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_utils,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_events,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_events,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}]}, {load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}]},
{"4.4.15", {"4.4.15",
[{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]}, [{load_module,emqx_rule_validator,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqltester,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_metrics,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_funcs,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_jwt_worker,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_jwt,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_api,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_events,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_events,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}]}, {load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}]},
{<<"4\\.4\\.1[3-4]">>, {<<"4\\.4\\.1[3-4]">>,
[{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]}, [{load_module,emqx_rule_validator,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqltester,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_metrics,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_funcs,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_jwt_worker,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_jwt,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_api,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_registry,brutal_purge,soft_purge,[]},
@ -27,7 +90,15 @@
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}]}, {load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}]},
{"4.4.12", {"4.4.12",
[{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]}, [{load_module,emqx_rule_validator,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqltester,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_metrics,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_funcs,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_api,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_registry,brutal_purge,soft_purge,[]},
@ -38,7 +109,13 @@
{update,emqx_rule_engine_jwt_sup,supervisor}, {update,emqx_rule_engine_jwt_sup,supervisor},
{load_module,emqx_rule_engine_jwt,brutal_purge,soft_purge,[]}]}, {load_module,emqx_rule_engine_jwt,brutal_purge,soft_purge,[]}]},
{"4.4.11", {"4.4.11",
[{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]}, [{load_module,emqx_rule_validator,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqltester,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_metrics,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_funcs,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_jwt_worker,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_jwt_worker,brutal_purge,soft_purge,[]},
@ -52,7 +129,11 @@
{apply,{emqx_rule_engine_sup,ensure_api_delegator_started,[]}}, {apply,{emqx_rule_engine_sup,ensure_api_delegator_started,[]}},
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}]}, {load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}]},
{"4.4.10", {"4.4.10",
[{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]}, [{load_module,emqx_rule_validator,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqltester,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
{add_module,emqx_rule_engine_jwt}, {add_module,emqx_rule_engine_jwt},
{add_module,emqx_rule_engine_jwt_worker}, {add_module,emqx_rule_engine_jwt_worker},
{add_module,emqx_rule_engine_jwt_sup}, {add_module,emqx_rule_engine_jwt_sup},
@ -70,7 +151,10 @@
{load_module,emqx_rule_funcs,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_funcs,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}]}, {load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}]},
{"4.4.9", {"4.4.9",
[{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]}, [{load_module,emqx_rule_validator,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
{add_module,emqx_rule_engine_jwt}, {add_module,emqx_rule_engine_jwt},
{add_module,emqx_rule_engine_jwt_worker}, {add_module,emqx_rule_engine_jwt_worker},
{add_module,emqx_rule_engine_jwt_sup}, {add_module,emqx_rule_engine_jwt_sup},
@ -89,7 +173,10 @@
{load_module,emqx_rule_metrics,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_metrics,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}]}, {load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}]},
{"4.4.8", {"4.4.8",
[{add_module,emqx_rule_engine_jwt}, [{load_module,emqx_rule_validator,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{add_module,emqx_rule_engine_jwt},
{add_module,emqx_rule_engine_jwt_worker}, {add_module,emqx_rule_engine_jwt_worker},
{add_module,emqx_rule_engine_jwt_sup}, {add_module,emqx_rule_engine_jwt_sup},
{load_module,emqx_rule_actions,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_actions,brutal_purge,soft_purge,[]},
@ -108,7 +195,10 @@
{load_module,emqx_rule_metrics,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_metrics,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}]}, {load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}]},
{<<"4\\.4\\.[6-7]">>, {<<"4\\.4\\.[6-7]">>,
[{add_module,emqx_rule_engine_jwt}, [{load_module,emqx_rule_validator,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{add_module,emqx_rule_engine_jwt},
{add_module,emqx_rule_engine_jwt_worker}, {add_module,emqx_rule_engine_jwt_worker},
{add_module,emqx_rule_engine_jwt_sup}, {add_module,emqx_rule_engine_jwt_sup},
{load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]},
@ -127,7 +217,9 @@
{load_module,emqx_rule_actions,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_registry,brutal_purge,soft_purge,[]}]},
{"4.4.5", {"4.4.5",
[{add_module,emqx_rule_engine_jwt}, [{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{add_module,emqx_rule_engine_jwt},
{add_module,emqx_rule_engine_jwt_worker}, {add_module,emqx_rule_engine_jwt_worker},
{add_module,emqx_rule_engine_jwt_sup}, {add_module,emqx_rule_engine_jwt_sup},
{load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]},
@ -147,7 +239,9 @@
{load_module,emqx_rule_actions,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_actions,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_validator,brutal_purge,soft_purge,[]}]}, {load_module,emqx_rule_validator,brutal_purge,soft_purge,[]}]},
{"4.4.4", {"4.4.4",
[{add_module,emqx_rule_engine_jwt}, [{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{add_module,emqx_rule_engine_jwt},
{add_module,emqx_rule_engine_jwt_worker}, {add_module,emqx_rule_engine_jwt_worker},
{add_module,emqx_rule_engine_jwt_sup}, {add_module,emqx_rule_engine_jwt_sup},
{load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]},
@ -167,7 +261,9 @@
{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_actions,brutal_purge,soft_purge,[]}]}, {load_module,emqx_rule_actions,brutal_purge,soft_purge,[]}]},
{"4.4.3", {"4.4.3",
[{add_module,emqx_rule_engine_jwt}, [{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{add_module,emqx_rule_engine_jwt},
{add_module,emqx_rule_engine_jwt_worker}, {add_module,emqx_rule_engine_jwt_worker},
{add_module,emqx_rule_engine_jwt_sup}, {add_module,emqx_rule_engine_jwt_sup},
{load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]},
@ -189,7 +285,8 @@
{load_module,emqx_rule_registry,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_engine,brutal_purge,soft_purge,[]}]},
{"4.4.2", {"4.4.2",
[{add_module,emqx_rule_engine_jwt}, [{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{add_module,emqx_rule_engine_jwt},
{add_module,emqx_rule_engine_jwt_worker}, {add_module,emqx_rule_engine_jwt_worker},
{add_module,emqx_rule_engine_jwt_sup}, {add_module,emqx_rule_engine_jwt_sup},
{load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]},
@ -212,7 +309,8 @@
{load_module,emqx_rule_events,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_events,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}]}, {load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}]},
{"4.4.1", {"4.4.1",
[{add_module,emqx_rule_engine_jwt}, [{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{add_module,emqx_rule_engine_jwt},
{add_module,emqx_rule_engine_jwt_worker}, {add_module,emqx_rule_engine_jwt_worker},
{add_module,emqx_rule_engine_jwt_sup}, {add_module,emqx_rule_engine_jwt_sup},
{load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]},
@ -235,7 +333,8 @@
{add_module,emqx_rule_date}, {add_module,emqx_rule_date},
{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}]}, {load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}]},
{"4.4.0", {"4.4.0",
[{add_module,emqx_rule_engine_jwt}, [{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{add_module,emqx_rule_engine_jwt},
{add_module,emqx_rule_engine_jwt_worker}, {add_module,emqx_rule_engine_jwt_worker},
{add_module,emqx_rule_engine_jwt_sup}, {add_module,emqx_rule_engine_jwt_sup},
{load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]},
@ -258,25 +357,88 @@
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]}]}, {load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]}]},
{<<".*">>,[]}], {<<".*">>,[]}],
[{"4.4.18",[{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]}]}, [{"4.4.18",
[{load_module,emqx_rule_validator,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqltester,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_metrics,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_funcs,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_events,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_jwt_worker,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_jwt,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_api,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]}]},
{"4.4.17", {"4.4.17",
[{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]}, [{load_module,emqx_rule_validator,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqltester,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_metrics,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_funcs,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_events,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_jwt_worker,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_jwt,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_api,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]}]}, {load_module,emqx_rule_utils,brutal_purge,soft_purge,[]}]},
{"4.4.16", {"4.4.16",
[{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]}, [{load_module,emqx_rule_validator,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqltester,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_metrics,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_funcs,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_jwt_worker,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_jwt,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_api,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_utils,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_events,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_events,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}]}, {load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}]},
{"4.4.15", {"4.4.15",
[{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]}, [{load_module,emqx_rule_validator,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqltester,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_metrics,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_funcs,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_jwt_worker,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_jwt,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_api,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_events,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_events,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}]}, {load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}]},
{<<"4\\.4\\.1[3-4]">>, {<<"4\\.4\\.1[3-4]">>,
[{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]}, [{load_module,emqx_rule_validator,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqltester,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_metrics,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_funcs,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_jwt_worker,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_jwt,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_api,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_registry,brutal_purge,soft_purge,[]},
@ -284,7 +446,15 @@
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}]}, {load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}]},
{"4.4.12", {"4.4.12",
[{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]}, [{load_module,emqx_rule_validator,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqltester,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_metrics,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_funcs,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_api,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_registry,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_registry,brutal_purge,soft_purge,[]},
@ -295,7 +465,13 @@
{update,emqx_rule_engine_jwt_sup,supervisor}, {update,emqx_rule_engine_jwt_sup,supervisor},
{load_module,emqx_rule_engine_jwt,brutal_purge,soft_purge,[]}]}, {load_module,emqx_rule_engine_jwt,brutal_purge,soft_purge,[]}]},
{"4.4.11", {"4.4.11",
[{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]}, [{load_module,emqx_rule_validator,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqltester,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_metrics,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_funcs,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_jwt_worker,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_jwt_worker,brutal_purge,soft_purge,[]},
@ -309,7 +485,11 @@
{load_module,emqx_rule_engine_api,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_api,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}]}, {load_module,emqx_rule_engine,brutal_purge,soft_purge,[]}]},
{"4.4.10", {"4.4.10",
[{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]}, [{load_module,emqx_rule_validator,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqltester,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_actions,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_actions,brutal_purge,soft_purge,[]},
{apply,{emqx_rule_engine_sup,ensure_api_delegator_stopped,[]}}, {apply,{emqx_rule_engine_sup,ensure_api_delegator_stopped,[]}},
{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_utils,brutal_purge,soft_purge,[]},
@ -328,7 +508,10 @@
{delete_module,emqx_rule_engine_jwt_worker}, {delete_module,emqx_rule_engine_jwt_worker},
{delete_module,emqx_rule_engine_jwt}]}, {delete_module,emqx_rule_engine_jwt}]},
{"4.4.9", {"4.4.9",
[{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]}, [{load_module,emqx_rule_validator,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_runtime,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_actions,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_actions,brutal_purge,soft_purge,[]},
{apply,{emqx_rule_engine_sup,ensure_api_delegator_stopped,[]}}, {apply,{emqx_rule_engine_sup,ensure_api_delegator_stopped,[]}},
{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_utils,brutal_purge,soft_purge,[]},
@ -348,7 +531,10 @@
{delete_module,emqx_rule_engine_jwt_worker}, {delete_module,emqx_rule_engine_jwt_worker},
{delete_module,emqx_rule_engine_jwt}]}, {delete_module,emqx_rule_engine_jwt}]},
{"4.4.8", {"4.4.8",
[{load_module,emqx_rule_actions,brutal_purge,soft_purge,[]}, [{load_module,emqx_rule_validator,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_actions,brutal_purge,soft_purge,[]},
{apply,{emqx_rule_engine_sup,ensure_api_delegator_stopped,[]}}, {apply,{emqx_rule_engine_sup,ensure_api_delegator_stopped,[]}},
{load_module,emqx_rule_utils,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_utils,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
@ -368,7 +554,10 @@
{delete_module,emqx_rule_engine_jwt_worker}, {delete_module,emqx_rule_engine_jwt_worker},
{delete_module,emqx_rule_engine_jwt}]}, {delete_module,emqx_rule_engine_jwt}]},
{<<"4\\.4\\.[6-7]">>, {<<"4\\.4\\.[6-7]">>,
[{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]}, [{load_module,emqx_rule_validator,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
{apply,{emqx_rule_engine_sup,ensure_api_delegator_stopped,[]}}, {apply,{emqx_rule_engine_sup,ensure_api_delegator_stopped,[]}},
{load_module,emqx_rule_events,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_events,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]},
@ -388,7 +577,9 @@
{delete_module,emqx_rule_engine_jwt_worker}, {delete_module,emqx_rule_engine_jwt_worker},
{delete_module,emqx_rule_engine_jwt}]}, {delete_module,emqx_rule_engine_jwt}]},
{"4.4.5", {"4.4.5",
[{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]}, [{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
{apply,{emqx_rule_engine_sup,ensure_api_delegator_stopped,[]}}, {apply,{emqx_rule_engine_sup,ensure_api_delegator_stopped,[]}},
{load_module,emqx_rule_events,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_events,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]},
@ -409,7 +600,9 @@
{delete_module,emqx_rule_engine_jwt_worker}, {delete_module,emqx_rule_engine_jwt_worker},
{delete_module,emqx_rule_engine_jwt}]}, {delete_module,emqx_rule_engine_jwt}]},
{"4.4.4", {"4.4.4",
[{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]}, [{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
{apply,{emqx_rule_engine_sup,ensure_api_delegator_stopped,[]}}, {apply,{emqx_rule_engine_sup,ensure_api_delegator_stopped,[]}},
{load_module,emqx_rule_events,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_events,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]},
@ -430,7 +623,9 @@
{delete_module,emqx_rule_engine_jwt_worker}, {delete_module,emqx_rule_engine_jwt_worker},
{delete_module,emqx_rule_engine_jwt}]}, {delete_module,emqx_rule_engine_jwt}]},
{"4.4.3", {"4.4.3",
[{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]}, [{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_cli,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
{apply,{emqx_rule_engine_sup,ensure_api_delegator_stopped,[]}}, {apply,{emqx_rule_engine_sup,ensure_api_delegator_stopped,[]}},
{load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]},
@ -453,7 +648,8 @@
{delete_module,emqx_rule_engine_jwt_worker}, {delete_module,emqx_rule_engine_jwt_worker},
{delete_module,emqx_rule_engine_jwt}]}, {delete_module,emqx_rule_engine_jwt}]},
{"4.4.2", {"4.4.2",
[{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]}, [{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
{apply,{emqx_rule_engine_sup,ensure_api_delegator_stopped,[]}}, {apply,{emqx_rule_engine_sup,ensure_api_delegator_stopped,[]}},
{load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]},
@ -477,7 +673,8 @@
{delete_module,emqx_rule_engine_jwt_worker}, {delete_module,emqx_rule_engine_jwt_worker},
{delete_module,emqx_rule_engine_jwt}]}, {delete_module,emqx_rule_engine_jwt}]},
{"4.4.1", {"4.4.1",
[{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]}, [{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
{apply,{emqx_rule_engine_sup,ensure_api_delegator_stopped,[]}}, {apply,{emqx_rule_engine_sup,ensure_api_delegator_stopped,[]}},
{load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]},
@ -501,7 +698,8 @@
{delete_module,emqx_rule_engine_jwt_worker}, {delete_module,emqx_rule_engine_jwt_worker},
{delete_module,emqx_rule_engine_jwt}]}, {delete_module,emqx_rule_engine_jwt}]},
{"4.4.0", {"4.4.0",
[{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]}, [{load_module,emqx_rule_sqlparser,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_monitor,brutal_purge,soft_purge,[]},
{apply,{emqx_rule_engine_sup,ensure_api_delegator_stopped,[]}}, {apply,{emqx_rule_engine_sup,ensure_api_delegator_stopped,[]}},
{load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_app,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]}, {load_module,emqx_rule_engine_sup,brutal_purge,soft_purge,[]},

View File

@ -17,7 +17,6 @@
-module(emqx_rule_engine). -module(emqx_rule_engine).
-include("rule_engine.hrl"). -include("rule_engine.hrl").
-include_lib("emqx/include/logger.hrl").
-export([ load_providers/0 -export([ load_providers/0
, unload_providers/0 , unload_providers/0

View File

@ -19,7 +19,6 @@
-behaviour(gen_server). -behaviour(gen_server).
-include("rule_engine.hrl"). -include("rule_engine.hrl").
-include_lib("emqx/include/logger.hrl").
-logger_header("[RuleEngineAPI]"). -logger_header("[RuleEngineAPI]").
@ -329,7 +328,7 @@ do_create_rule(Params) ->
error -> do_create_rule2(ParsedParams) error -> do_create_rule2(ParsedParams)
end; end;
{error, Reason} -> {error, Reason} ->
?LOG(error, "~p failed: ~0p", [?FUNCTION_NAME, Reason]), ?LOG_SENSITIVE(error, "~p failed: ~0p", [?FUNCTION_NAME, Reason]),
return({error, 400, ?ERR_BADARGS(Reason)}) return({error, 400, ?ERR_BADARGS(Reason)})
end. end.
@ -339,7 +338,7 @@ do_create_rule2(ParsedParams) ->
{error, {action_not_found, ActionName}} -> {error, {action_not_found, ActionName}} ->
return({error, 400, ?ERR_NO_ACTION(ActionName)}); return({error, 400, ?ERR_NO_ACTION(ActionName)});
{error, Reason} -> {error, Reason} ->
?LOG(error, "~p failed: ~0p", [?FUNCTION_NAME, Reason]), ?LOG_SENSITIVE(error, "~p failed: ~0p", [?FUNCTION_NAME, Reason]),
return({error, 400, ?ERR_BADARGS(Reason)}) return({error, 400, ?ERR_BADARGS(Reason)})
end. end.
@ -352,11 +351,11 @@ delegate_update_rule(#{id := Id0}, Params) ->
{error, {not_found, RuleId}} -> {error, {not_found, RuleId}} ->
return({error, 400, ?ERR_NO_RULE(RuleId)}); return({error, 400, ?ERR_NO_RULE(RuleId)});
{error, Reason} -> {error, Reason} ->
?LOG(error, "~p failed: ~0p", [?FUNCTION_NAME, Reason]), ?LOG_SENSITIVE(error, "~p failed: ~0p", [?FUNCTION_NAME, Reason]),
return({error, 400, ?ERR_BADARGS(Reason)}) return({error, 400, ?ERR_BADARGS(Reason)})
end; end;
{error, Reason} -> {error, Reason} ->
?LOG(error, "~p failed: ~0p", [?FUNCTION_NAME, Reason]), ?LOG_SENSITIVE(error, "~p failed: ~0p", [?FUNCTION_NAME, Reason]),
return({error, 400, ?ERR_BADARGS(Reason)}) return({error, 400, ?ERR_BADARGS(Reason)})
end. end.
@ -409,7 +408,7 @@ delegate_create_resource(#{}, Params) ->
fun() -> do_create_resource(create_resource, ParsedParams) end, fun() -> do_create_resource(create_resource, ParsedParams) end,
Params); Params);
{error, Reason} -> {error, Reason} ->
?LOG(error, "~p failed: ~0p", [?FUNCTION_NAME, Reason]), ?LOG_SENSITIVE(error, "~p failed: ~0p", [?FUNCTION_NAME, Reason]),
return({error, 400, ?ERR_BADARGS(Reason)}) return({error, 400, ?ERR_BADARGS(Reason)})
end. end.
@ -434,7 +433,7 @@ do_create_resource2(Create, ParsedParams) ->
{error, {init_resource, _}} -> {error, {init_resource, _}} ->
return({error, 500, <<"Init resource failure!">>}); return({error, 500, <<"Init resource failure!">>});
{error, Reason} -> {error, Reason} ->
?LOG(error, "~p failed: ~0p", [?FUNCTION_NAME, Reason]), ?LOG_SENSITIVE(error, "~p failed: ~0p", [?FUNCTION_NAME, Reason]),
return({error, 400, ?ERR_BADARGS(Reason)}) return({error, 400, ?ERR_BADARGS(Reason)})
end. end.
@ -483,7 +482,7 @@ delegate_start_resource(#{id := Id0}, _Params) ->
{error, {resource_not_found, ResId}} -> {error, {resource_not_found, ResId}} ->
return({error, 400, ?ERR_NO_RESOURCE(ResId)}); return({error, 400, ?ERR_NO_RESOURCE(ResId)});
{error, Reason} -> {error, Reason} ->
?LOG(error, "~p failed: ~0p", [?FUNCTION_NAME, Reason]), ?LOG_SENSITIVE(error, "~p failed: ~0p", [?FUNCTION_NAME, Reason]),
return({error, 400, ?ERR_BADARGS(Reason)}) return({error, 400, ?ERR_BADARGS(Reason)})
end. end.
@ -508,7 +507,7 @@ delegate_update_resource(#{id := Id0}, NewParams) ->
{error, {dependent_rules_exists, RuleIds}} -> {error, {dependent_rules_exists, RuleIds}} ->
return({error, 400, ?ERR_DEP_RULES_EXISTS(RuleIds)}); return({error, 400, ?ERR_DEP_RULES_EXISTS(RuleIds)});
{error, Reason} -> {error, Reason} ->
?LOG(error, "Resource update failed: ~0p", [Reason]), ?LOG_SENSITIVE(error, "Resource update failed: ~0p", [Reason]),
return({error, 400, ?ERR_BADARGS(Reason)}) return({error, 400, ?ERR_BADARGS(Reason)})
end. end.

View File

@ -16,11 +16,10 @@
-module(emqx_rule_events). -module(emqx_rule_events).
-logger_header("[RuleEvents]").
-include("rule_engine.hrl"). -include("rule_engine.hrl").
-include_lib("emqx/include/emqx.hrl"). -include_lib("emqx/include/emqx.hrl").
-include_lib("emqx/include/logger.hrl").
-logger_header("[RuleEvents]").
-export([ load/1 -export([ load/1
, unload/0 , unload/0

View File

@ -18,9 +18,8 @@
-behavior(gen_server). -behavior(gen_server).
-include("rule_engine.hrl").
-include_lib("emqx/include/logger.hrl").
-logger_header("[Rule Monitor]"). -logger_header("[Rule Monitor]").
-include("rule_engine.hrl").
-export([init/1, -export([init/1,
handle_call/3, handle_call/3,

View File

@ -18,10 +18,8 @@
-behaviour(gen_server). -behaviour(gen_server).
-include("rule_engine.hrl").
-include_lib("emqx/include/logger.hrl").
-logger_header("[RuleRegistry]"). -logger_header("[RuleRegistry]").
-include("rule_engine.hrl").
-export([start_link/0]). -export([start_link/0]).

View File

@ -19,7 +19,6 @@
-include("rule_engine.hrl"). -include("rule_engine.hrl").
-include("rule_actions.hrl"). -include("rule_actions.hrl").
-include_lib("emqx/include/emqx.hrl"). -include_lib("emqx/include/emqx.hrl").
-include_lib("emqx/include/logger.hrl").
-export([ apply_rule/2 -export([ apply_rule/2
, apply_rules/2 , apply_rules/2

View File

@ -15,7 +15,6 @@
-module(emqx_rule_sqltester). -module(emqx_rule_sqltester).
-include("rule_engine.hrl"). -include("rule_engine.hrl").
-include_lib("emqx/include/logger.hrl").
-export([ test/1 -export([ test/1
]). ]).

View File

@ -17,7 +17,6 @@
-module(emqx_rule_utils). -module(emqx_rule_utils).
-include("rule_engine.hrl"). -include("rule_engine.hrl").
-include_lib("emqx/include/logger.hrl").
-export([ replace_var/2 -export([ replace_var/2
]). ]).

View File

@ -52,7 +52,7 @@
, {ekka, {git, "https://github.com/emqx/ekka", {tag, "0.8.1.11"}}} , {ekka, {git, "https://github.com/emqx/ekka", {tag, "0.8.1.11"}}}
, {gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "3.0.1"}}} , {gen_rpc, {git, "https://github.com/emqx/gen_rpc", {tag, "3.0.1"}}}
, {cuttlefish, {git, "https://github.com/emqx/cuttlefish", {tag, "v3.3.6"}}} , {cuttlefish, {git, "https://github.com/emqx/cuttlefish", {tag, "v3.3.6"}}}
, {minirest, {git, "https://github.com/emqx/minirest", {tag, "0.3.11"}}} , {minirest, {git, "https://github.com/emqx/minirest", {tag, "0.3.12"}}}
, {ecpool, {git, "https://github.com/emqx/ecpool", {tag, "0.5.2"}}} , {ecpool, {git, "https://github.com/emqx/ecpool", {tag, "0.5.2"}}}
, {replayq, {git, "https://github.com/emqx/replayq", {tag, "0.3.5"}}} , {replayq, {git, "https://github.com/emqx/replayq", {tag, "0.3.5"}}}
, {pbkdf2, {git, "https://github.com/emqx/erlang-pbkdf2.git", {branch, "2.0.4"}}} , {pbkdf2, {git, "https://github.com/emqx/erlang-pbkdf2.git", {branch, "2.0.4"}}}

View File

@ -2,7 +2,9 @@
%% Unless you know what you are doing, DO NOT edit manually!! %% Unless you know what you are doing, DO NOT edit manually!!
{VSN, {VSN,
[{"4.4.18", [{"4.4.18",
[{load_module,emqx_zone,brutal_purge,soft_purge,[]}, [{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
{load_module,emqx_hooks,brutal_purge,soft_purge,[]},
{load_module,emqx_zone,brutal_purge,soft_purge,[]},
{load_module,emqx_connection,brutal_purge,soft_purge,[]}, {load_module,emqx_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_cm,brutal_purge,soft_purge,[]}, {load_module,emqx_cm,brutal_purge,soft_purge,[]},
{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]}, {load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
@ -13,7 +15,8 @@
{load_module,emqx_relup,brutal_purge,soft_purge,[]}, {load_module,emqx_relup,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]}, {load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.4.17", {"4.4.17",
[{load_module,emqx_zone,brutal_purge,soft_purge,[]}, [{load_module,emqx_hooks,brutal_purge,soft_purge,[]},
{load_module,emqx_zone,brutal_purge,soft_purge,[]},
{load_module,emqx_connection,brutal_purge,soft_purge,[]}, {load_module,emqx_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_cm,brutal_purge,soft_purge,[]}, {load_module,emqx_cm,brutal_purge,soft_purge,[]},
{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]}, {load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
@ -25,7 +28,8 @@
{load_module,emqx_app,brutal_purge,soft_purge,[]}, {load_module,emqx_app,brutal_purge,soft_purge,[]},
{load_module,emqx_plugins,brutal_purge,soft_purge,[]}]}, {load_module,emqx_plugins,brutal_purge,soft_purge,[]}]},
{"4.4.16", {"4.4.16",
[{load_module,emqx_zone,brutal_purge,soft_purge,[]}, [{load_module,emqx_hooks,brutal_purge,soft_purge,[]},
{load_module,emqx_zone,brutal_purge,soft_purge,[]},
{load_module,emqx_connection,brutal_purge,soft_purge,[]}, {load_module,emqx_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_cm,brutal_purge,soft_purge,[]}, {load_module,emqx_cm,brutal_purge,soft_purge,[]},
{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]}, {load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
@ -40,7 +44,8 @@
{load_module,emqx_plugins,brutal_purge,soft_purge,[]}, {load_module,emqx_plugins,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]}, {load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.4.15", {"4.4.15",
[{load_module,emqx_zone,brutal_purge,soft_purge,[]}, [{load_module,emqx_hooks,brutal_purge,soft_purge,[]},
{load_module,emqx_zone,brutal_purge,soft_purge,[]},
{load_module,emqx_connection,brutal_purge,soft_purge,[]}, {load_module,emqx_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_cm,brutal_purge,soft_purge,[]}, {load_module,emqx_cm,brutal_purge,soft_purge,[]},
{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]}, {load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
@ -57,7 +62,8 @@
{load_module,emqx_relup,brutal_purge,soft_purge,[]}, {load_module,emqx_relup,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]}, {load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.4.14", {"4.4.14",
[{load_module,emqx_zone,brutal_purge,soft_purge,[]}, [{load_module,emqx_hooks,brutal_purge,soft_purge,[]},
{load_module,emqx_zone,brutal_purge,soft_purge,[]},
{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]}, {load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_cm,brutal_purge,soft_purge,[]}, {load_module,emqx_cm,brutal_purge,soft_purge,[]},
{load_module,emqx_listeners,brutal_purge,soft_purge,[]}, {load_module,emqx_listeners,brutal_purge,soft_purge,[]},
@ -79,7 +85,8 @@
{load_module,emqx_app,brutal_purge,soft_purge,[]}, {load_module,emqx_app,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}]}, {load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}]},
{"4.4.13", {"4.4.13",
[{load_module,emqx_zone,brutal_purge,soft_purge,[]}, [{load_module,emqx_hooks,brutal_purge,soft_purge,[]},
{load_module,emqx_zone,brutal_purge,soft_purge,[]},
{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]}, {load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_listeners,brutal_purge,soft_purge,[]}, {load_module,emqx_listeners,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]}, {load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
@ -101,7 +108,8 @@
{load_module,emqx_relup,brutal_purge,soft_purge,[]}, {load_module,emqx_relup,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]}, {load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.4.12", {"4.4.12",
[{load_module,emqx_zone,brutal_purge,soft_purge,[]}, [{load_module,emqx_hooks,brutal_purge,soft_purge,[]},
{load_module,emqx_zone,brutal_purge,soft_purge,[]},
{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]}, {load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_listeners,brutal_purge,soft_purge,[]}, {load_module,emqx_listeners,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]}, {load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
@ -123,7 +131,8 @@
{load_module,emqx_relup,brutal_purge,soft_purge,[]}, {load_module,emqx_relup,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]}, {load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.4.11", {"4.4.11",
[{load_module,emqx_zone,brutal_purge,soft_purge,[]}, [{load_module,emqx_hooks,brutal_purge,soft_purge,[]},
{load_module,emqx_zone,brutal_purge,soft_purge,[]},
{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]}, {load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_listeners,brutal_purge,soft_purge,[]}, {load_module,emqx_listeners,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]}, {load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
@ -638,7 +647,9 @@
[gen_rpc,insecure_auth_fallback_allowed,true]}}]}, [gen_rpc,insecure_auth_fallback_allowed,true]}}]},
{<<".*">>,[]}], {<<".*">>,[]}],
[{"4.4.18", [{"4.4.18",
[{load_module,emqx_zone,brutal_purge,soft_purge,[]}, [{load_module,emqx_plugins,brutal_purge,soft_purge,[]},
{load_module,emqx_hooks,brutal_purge,soft_purge,[]},
{load_module,emqx_zone,brutal_purge,soft_purge,[]},
{load_module,emqx_connection,brutal_purge,soft_purge,[]}, {load_module,emqx_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_cm,brutal_purge,soft_purge,[]}, {load_module,emqx_cm,brutal_purge,soft_purge,[]},
{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]}, {load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
@ -648,7 +659,8 @@
{load_module,emqx_relup,brutal_purge,soft_purge,[]}, {load_module,emqx_relup,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]}, {load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.4.17", {"4.4.17",
[{load_module,emqx_zone,brutal_purge,soft_purge,[]}, [{load_module,emqx_hooks,brutal_purge,soft_purge,[]},
{load_module,emqx_zone,brutal_purge,soft_purge,[]},
{load_module,emqx_connection,brutal_purge,soft_purge,[]}, {load_module,emqx_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_cm,brutal_purge,soft_purge,[]}, {load_module,emqx_cm,brutal_purge,soft_purge,[]},
{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]}, {load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
@ -659,7 +671,8 @@
{load_module,emqx_app,brutal_purge,soft_purge,[]}, {load_module,emqx_app,brutal_purge,soft_purge,[]},
{load_module,emqx_plugins,brutal_purge,soft_purge,[]}]}, {load_module,emqx_plugins,brutal_purge,soft_purge,[]}]},
{"4.4.16", {"4.4.16",
[{load_module,emqx_zone,brutal_purge,soft_purge,[]}, [{load_module,emqx_hooks,brutal_purge,soft_purge,[]},
{load_module,emqx_zone,brutal_purge,soft_purge,[]},
{load_module,emqx_connection,brutal_purge,soft_purge,[]}, {load_module,emqx_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_cm,brutal_purge,soft_purge,[]}, {load_module,emqx_cm,brutal_purge,soft_purge,[]},
{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]}, {load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
@ -673,7 +686,8 @@
{load_module,emqx_relup,brutal_purge,soft_purge,[]}, {load_module,emqx_relup,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]}, {load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.4.15", {"4.4.15",
[{load_module,emqx_zone,brutal_purge,soft_purge,[]}, [{load_module,emqx_hooks,brutal_purge,soft_purge,[]},
{load_module,emqx_zone,brutal_purge,soft_purge,[]},
{load_module,emqx_connection,brutal_purge,soft_purge,[]}, {load_module,emqx_connection,brutal_purge,soft_purge,[]},
{load_module,emqx_cm,brutal_purge,soft_purge,[]}, {load_module,emqx_cm,brutal_purge,soft_purge,[]},
{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]}, {load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
@ -689,7 +703,8 @@
{load_module,emqx_relup,brutal_purge,soft_purge,[]}, {load_module,emqx_relup,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]}, {load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.4.14", {"4.4.14",
[{load_module,emqx_zone,brutal_purge,soft_purge,[]}, [{load_module,emqx_hooks,brutal_purge,soft_purge,[]},
{load_module,emqx_zone,brutal_purge,soft_purge,[]},
{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]}, {load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_cm,brutal_purge,soft_purge,[]}, {load_module,emqx_cm,brutal_purge,soft_purge,[]},
{load_module,emqx_listeners,brutal_purge,soft_purge,[]}, {load_module,emqx_listeners,brutal_purge,soft_purge,[]},
@ -710,7 +725,8 @@
{load_module,emqx_app,brutal_purge,soft_purge,[]}, {load_module,emqx_app,brutal_purge,soft_purge,[]},
{load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}]}, {load_module,emqx_rule_actions_trans,brutal_purge,soft_purge,[]}]},
{"4.4.13", {"4.4.13",
[{load_module,emqx_zone,brutal_purge,soft_purge,[]}, [{load_module,emqx_hooks,brutal_purge,soft_purge,[]},
{load_module,emqx_zone,brutal_purge,soft_purge,[]},
{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]}, {load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_listeners,brutal_purge,soft_purge,[]}, {load_module,emqx_listeners,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]}, {load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
@ -731,7 +747,8 @@
{load_module,emqx_relup,brutal_purge,soft_purge,[]}, {load_module,emqx_relup,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]}, {load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.4.12", {"4.4.12",
[{load_module,emqx_zone,brutal_purge,soft_purge,[]}, [{load_module,emqx_hooks,brutal_purge,soft_purge,[]},
{load_module,emqx_zone,brutal_purge,soft_purge,[]},
{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]}, {load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_listeners,brutal_purge,soft_purge,[]}, {load_module,emqx_listeners,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]}, {load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},
@ -752,7 +769,8 @@
{load_module,emqx_relup,brutal_purge,soft_purge,[]}, {load_module,emqx_relup,brutal_purge,soft_purge,[]},
{load_module,emqx_app,brutal_purge,soft_purge,[]}]}, {load_module,emqx_app,brutal_purge,soft_purge,[]}]},
{"4.4.11", {"4.4.11",
[{load_module,emqx_zone,brutal_purge,soft_purge,[]}, [{load_module,emqx_hooks,brutal_purge,soft_purge,[]},
{load_module,emqx_zone,brutal_purge,soft_purge,[]},
{load_module,emqx_cm_locker,brutal_purge,soft_purge,[]}, {load_module,emqx_cm_locker,brutal_purge,soft_purge,[]},
{load_module,emqx_listeners,brutal_purge,soft_purge,[]}, {load_module,emqx_listeners,brutal_purge,soft_purge,[]},
{load_module,emqx_tls_lib,brutal_purge,soft_purge,[]}, {load_module,emqx_tls_lib,brutal_purge,soft_purge,[]},