From 1a694814e0c59138bb9ece1565ba3afd5d166207 Mon Sep 17 00:00:00 2001 From: zhouzb Date: Thu, 9 Sep 2021 10:18:40 +0800 Subject: [PATCH] fix(sni): fix bad type of sni --- apps/emqx_plugin_libs/src/emqx_plugin_libs_ssl.erl | 6 +++++- apps/emqx_web_hook/src/emqx_web_hook_actions.erl | 2 +- apps/emqx_web_hook/src/emqx_web_hook_app.erl | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) 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_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},