fix(connector_psql): Wrap password in a fun
This commit is contained in:
parent
b81f87837a
commit
b8a7ab9ad3
|
@ -0,0 +1,37 @@
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
%% Copyright (c) 2022 EMQ Technologies Co., Ltd. All Rights Reserved.
|
||||||
|
%%
|
||||||
|
%% Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
%% you may not use this file except in compliance with the License.
|
||||||
|
%% You may obtain a copy of the License at
|
||||||
|
%%
|
||||||
|
%% http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
%%
|
||||||
|
%% Unless required by applicable law or agreed to in writing, software
|
||||||
|
%% distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
%% See the License for the specific language governing permissions and
|
||||||
|
%% limitations under the License.
|
||||||
|
%%--------------------------------------------------------------------
|
||||||
|
|
||||||
|
%% Note: this module CAN'T be hot-patched to avoid invalidating the
|
||||||
|
%% closures, so it must not be changed.
|
||||||
|
-module(emqx_secret).
|
||||||
|
|
||||||
|
%% API:
|
||||||
|
-export([wrap/1, unwrap/1]).
|
||||||
|
|
||||||
|
%%================================================================================
|
||||||
|
%% API funcions
|
||||||
|
%%================================================================================
|
||||||
|
|
||||||
|
wrap(Term) ->
|
||||||
|
fun() ->
|
||||||
|
Term
|
||||||
|
end.
|
||||||
|
|
||||||
|
unwrap(Term) when is_function(Term, 0) ->
|
||||||
|
%% Handle potentially nested funs
|
||||||
|
unwrap(Term());
|
||||||
|
unwrap(Term) ->
|
||||||
|
Term.
|
|
@ -97,7 +97,7 @@ on_start(
|
||||||
{host, Host},
|
{host, Host},
|
||||||
{port, Port},
|
{port, Port},
|
||||||
{username, User},
|
{username, User},
|
||||||
{password, Password},
|
{password, emqx_secret:wrap(Password)},
|
||||||
{database, DB},
|
{database, DB},
|
||||||
{auto_reconnect, reconn_interval(AutoReconn)},
|
{auto_reconnect, reconn_interval(AutoReconn)},
|
||||||
{pool_size, PoolSize},
|
{pool_size, PoolSize},
|
||||||
|
@ -158,7 +158,7 @@ reconn_interval(false) -> false.
|
||||||
connect(Opts) ->
|
connect(Opts) ->
|
||||||
Host = proplists:get_value(host, Opts),
|
Host = proplists:get_value(host, Opts),
|
||||||
Username = proplists:get_value(username, Opts),
|
Username = proplists:get_value(username, Opts),
|
||||||
Password = proplists:get_value(password, Opts),
|
Password = emqx_secret:unwrap(proplists:get_value(password, Opts)),
|
||||||
PrepareStatement = proplists:get_value(prepare_statement, Opts),
|
PrepareStatement = proplists:get_value(prepare_statement, Opts),
|
||||||
case epgsql:connect(Host, Username, Password, conn_opts(Opts)) of
|
case epgsql:connect(Host, Username, Password, conn_opts(Opts)) of
|
||||||
{ok, Conn} ->
|
{ok, Conn} ->
|
||||||
|
|
Loading…
Reference in New Issue