diff --git a/apps/emqx_plugin_libs/src/emqx_plugin_libs.app.src b/apps/emqx_plugin_libs/src/emqx_plugin_libs.app.src index 9b773e80c..82937d033 100644 --- a/apps/emqx_plugin_libs/src/emqx_plugin_libs.app.src +++ b/apps/emqx_plugin_libs/src/emqx_plugin_libs.app.src @@ -1,6 +1,6 @@ {application, emqx_plugin_libs, [{description, "EMQ X Plugin utility libs"}, - {vsn, "4.3.0"}, + {vsn, "4.3.1"}, {modules, []}, {applications, [kernel,stdlib]}, {env, []} diff --git a/apps/emqx_plugin_libs/src/emqx_plugin_libs.appup.src b/apps/emqx_plugin_libs/src/emqx_plugin_libs.appup.src new file mode 100644 index 000000000..9cd66269c --- /dev/null +++ b/apps/emqx_plugin_libs/src/emqx_plugin_libs.appup.src @@ -0,0 +1,16 @@ +%% -*-: erlang -*- + +{VSN, + [ + {<<"4.3.0">>, [ + {load_module, emqx_plugin_libs_ssl, brutal_purge, soft_purge, []} + ]}, + {<<".*">>, []} + ], + [ + {<<"4.3.0">>, [ + {load_module, emqx_plugin_libs_ssl, brutal_purge, soft_purge, []} + ]}, + {<<".*">>, []} + ] +}. diff --git a/apps/emqx_plugin_libs/src/emqx_plugin_libs_ssl.erl b/apps/emqx_plugin_libs/src/emqx_plugin_libs_ssl.erl index 9fc9e66ef..2c80dfcfb 100644 --- a/apps/emqx_plugin_libs/src/emqx_plugin_libs_ssl.erl +++ b/apps/emqx_plugin_libs/src/emqx_plugin_libs_ssl.erl @@ -65,7 +65,10 @@ save_files_return_opts(Options, Dir) -> false -> verify_none; _ -> verify_peer end, - SNI = Get(<<"server_name_indication">>), + SNI = case Get(<<"server_name_indication">>) of + undefined -> undefined; + SNI0 -> ensure_str(SNI0) + end, Versions = emqx_tls_lib:integral_versions(Get(<<"tls_versions">>)), Ciphers = emqx_tls_lib:integral_ciphers(Versions, Get(<<"ciphers">>)), filter([{keyfile, Key}, {certfile, Cert}, {cacertfile, CA}, @@ -81,6 +84,7 @@ save_file(Param, SubDir) -> filter([]) -> []; filter([{_, ""} | T]) -> filter(T); +filter([{_, undefined} | T]) -> filter(T); filter([H | T]) -> [H | filter(T)]. do_save_file(#{<<"filename">> := FileName, <<"file">> := Content}, Dir) diff --git a/apps/emqx_web_hook/src/emqx_web_hook.app.src b/apps/emqx_web_hook/src/emqx_web_hook.app.src index 29afe7178..2744bece7 100644 --- a/apps/emqx_web_hook/src/emqx_web_hook.app.src +++ b/apps/emqx_web_hook/src/emqx_web_hook.app.src @@ -1,6 +1,6 @@ {application, emqx_web_hook, [{description, "EMQ X WebHook Plugin"}, - {vsn, "4.3.5"}, % strict semver, bump manually! + {vsn, "4.3.6"}, % strict semver, bump manually! {modules, []}, {registered, [emqx_web_hook_sup]}, {applications, [kernel,stdlib,ehttpc]}, diff --git a/apps/emqx_web_hook/src/emqx_web_hook.appup.src b/apps/emqx_web_hook/src/emqx_web_hook.appup.src index c4f62fb06..db245b2ee 100644 --- a/apps/emqx_web_hook/src/emqx_web_hook.appup.src +++ b/apps/emqx_web_hook/src/emqx_web_hook.appup.src @@ -8,7 +8,7 @@ {load_module, emqx_web_hook, brutal_purge, soft_purge, []}, {load_module, emqx_web_hook_actions, brutal_purge, soft_purge, []} ]}, - {<<"4.3.[3-4]">>, [ + {<<"4.3.[3-5]">>, [ {load_module, emqx_web_hook_actions, brutal_purge, soft_purge, []} ]}, {<<".*">>, []} @@ -20,7 +20,7 @@ {load_module, emqx_web_hook, brutal_purge, soft_purge, []}, {load_module, emqx_web_hook_actions, brutal_purge, soft_purge, []} ]}, - {<<"4.3.[3-4]">>, [ + {<<"4.3.[3-5]">>, [ {load_module, emqx_web_hook_actions, brutal_purge, soft_purge, []} ]}, {<<".*">>, []} diff --git a/apps/emqx_web_hook/src/emqx_web_hook_actions.erl b/apps/emqx_web_hook/src/emqx_web_hook_actions.erl index 84e36ab0a..5ef13587a 100644 --- a/apps/emqx_web_hook/src/emqx_web_hook_actions.erl +++ b/apps/emqx_web_hook/src/emqx_web_hook_actions.erl @@ -345,7 +345,7 @@ pool_opts(Params = #{<<"url">> := URL}, ResId) -> cuttlefish_duration:parse(str(maps:get(<<"connect_timeout">>, Params, <<"5s">>))), TransportOpts0 = case Scheme =:= https of - true -> [get_ssl_opts(Params, ResId)]; + true -> get_ssl_opts(Params, ResId); false -> [] end, TransportOpts = emqx_misc:ipv6_probe(TransportOpts0), diff --git a/apps/emqx_web_hook/src/emqx_web_hook_app.erl b/apps/emqx_web_hook/src/emqx_web_hook_app.erl index 0c4e2df11..8265fa664 100644 --- a/apps/emqx_web_hook/src/emqx_web_hook_app.erl +++ b/apps/emqx_web_hook/src/emqx_web_hook_app.erl @@ -64,7 +64,7 @@ translate_env() -> SNI0 -> SNI0 end, TLSOpts = lists:filter(fun({_K, V}) -> - V /= <<>> andalso V /= undefined andalso V /= "" andalso true + V /= <<>> andalso V /= undefined andalso V /= "" end, [{keyfile, KeyFile}, {certfile, CertFile}, {cacertfile, CACertFile},