fix: don't drop input ssl options even if invalid
This commit is contained in:
parent
8ff552c9cf
commit
5b5878f4a9
|
@ -22,7 +22,7 @@
|
||||||
]).
|
]).
|
||||||
|
|
||||||
convert_certs(RltvDir, NewConfig) ->
|
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
|
case emqx_tls_lib:ensure_ssl_files(RltvDir, NewSSL) of
|
||||||
{ok, NewSSL1} ->
|
{ok, NewSSL1} ->
|
||||||
{ok, new_ssl_config(NewConfig, NewSSL1)};
|
{ok, new_ssl_config(NewConfig, NewSSL1)};
|
||||||
|
@ -31,16 +31,13 @@ convert_certs(RltvDir, NewConfig) ->
|
||||||
end.
|
end.
|
||||||
|
|
||||||
clear_certs(RltvDir, Config) ->
|
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).
|
ok = emqx_tls_lib:delete_ssl_files(RltvDir, undefined, OldSSL).
|
||||||
|
|
||||||
new_ssl_config(Config, undefined) -> Config;
|
new_ssl_config(Config, undefined) -> Config;
|
||||||
new_ssl_config(Config, #{<<"enable">> := _} = SSL) -> Config#{<<"ssl">> => SSL};
|
new_ssl_config(Config, #{<<"enable">> := _} = SSL) -> Config#{<<"ssl">> => SSL};
|
||||||
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) ->
|
map_get_oneof([], _Map, Default) ->
|
||||||
Default;
|
Default;
|
||||||
map_get_oneof([Key | Keys], Map, Default) ->
|
map_get_oneof([Key | Keys], Map, Default) ->
|
||||||
|
|
Loading…
Reference in New Issue