fix: don't drop input ssl options even if invalid

This commit is contained in:
Shawn 2022-05-05 12:14:46 +08:00
parent 8ff552c9cf
commit 5b5878f4a9
1 changed files with 2 additions and 5 deletions

View File

@ -22,7 +22,7 @@
]).
convert_certs(RltvDir, NewConfig) ->
NewSSL = drop_invalid_certs(map_get_oneof([<<"ssl">>, ssl], NewConfig, undefined)),
NewSSL = map_get_oneof([<<"ssl">>, ssl], NewConfig, undefined),
case emqx_tls_lib:ensure_ssl_files(RltvDir, NewSSL) of
{ok, NewSSL1} ->
{ok, new_ssl_config(NewConfig, NewSSL1)};
@ -31,16 +31,13 @@ convert_certs(RltvDir, NewConfig) ->
end.
clear_certs(RltvDir, Config) ->
OldSSL = drop_invalid_certs(map_get_oneof([<<"ssl">>, ssl], Config, undefined)),
OldSSL = map_get_oneof([<<"ssl">>, ssl], Config, undefined),
ok = emqx_tls_lib:delete_ssl_files(RltvDir, undefined, OldSSL).
new_ssl_config(Config, undefined) -> Config;
new_ssl_config(Config, #{<<"enable">> := _} = SSL) -> Config#{<<"ssl">> => SSL};
new_ssl_config(Config, #{enable := _} = SSL) -> Config#{ssl => SSL}.
drop_invalid_certs(undefined) -> undefined;
drop_invalid_certs(SSL) -> emqx_tls_lib:drop_invalid_certs(SSL).
map_get_oneof([], _Map, Default) ->
Default;
map_get_oneof([Key | Keys], Map, Default) ->