summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThuan Duong Ba <thuandb@amazon.com>2021-09-20 22:38:54 -0700
committerMichael Klishin <michael@clojurewerkz.org>2021-09-21 19:39:22 +0300
commit7aedc45d1fe674e262fd6dda53c2530fe59be8cb (patch)
treeafbda78b419f33152c636befb131b7586b3ba8ff
parent6dbdc991c3111aa4ffa12a150b1402cf5c5e798e (diff)
downloadrabbitmq-server-git-7aedc45d1fe674e262fd6dda53c2530fe59be8cb.tar.gz
convert property map to proplists and vice versa for uri obfucation in shovel config
-rw-r--r--deps/rabbitmq_shovel/src/rabbit_shovel_dyn_worker_sup_sup.erl9
-rw-r--r--deps/rabbitmq_shovel/src/rabbit_shovel_parameters.erl2
-rw-r--r--deps/rabbitmq_shovel/test/parameters_SUITE.erl18
3 files changed, 18 insertions, 11 deletions
diff --git a/deps/rabbitmq_shovel/src/rabbit_shovel_dyn_worker_sup_sup.erl b/deps/rabbitmq_shovel/src/rabbit_shovel_dyn_worker_sup_sup.erl
index 7774b11f7b..56805aee00 100644
--- a/deps/rabbitmq_shovel/src/rabbit_shovel_dyn_worker_sup_sup.erl
+++ b/deps/rabbitmq_shovel/src/rabbit_shovel_dyn_worker_sup_sup.erl
@@ -11,6 +11,7 @@
-export([start_link/0, init/1, adjust/2, stop_child/1, cleanup_specs/0]).
-import(rabbit_misc, [pget/2]).
+-import(proplists, [to_map/1, from_map/1]).
-include("rabbit_shovel.hrl").
-include_lib("rabbit_common/include/rabbit.hrl").
@@ -42,7 +43,7 @@ start_child({VHost, ShovelName} = Name, Def) ->
rabbit_log_shovel:debug("Starting a mirrored supervisor named '~s' in virtual host '~s'", [ShovelName, VHost]),
Result = case mirrored_supervisor:start_child(
?SUPERVISOR,
- {Name, {rabbit_shovel_dyn_worker_sup, start_link, [Name, rabbit_shovel_parameters:obfuscate_uris_parameters(Def)]},
+ {Name, {rabbit_shovel_dyn_worker_sup, start_link, [Name, get_obfuscate_uris_parameters(Def)]},
transient, ?WORKER_WAIT, worker, [rabbit_shovel_dyn_worker_sup]}) of
{ok, _Pid} -> ok;
{error, {already_started, _Pid}} -> ok
@@ -51,6 +52,12 @@ start_child({VHost, ShovelName} = Name, Def) ->
rabbit_shovel_locks:unlock(LockId),
Result.
+get_obfuscate_uris_parameters(Def) ->
+ case Def of
+ M when is_map(M) -> to_map(rabbit_shovel_parameters:obfuscate_uris_parameters(from_map(Def)));
+ _ -> rabbit_shovel_parameters:obfuscate_uris_parameters(Def)
+ end.
+
child_exists(Name) ->
lists:any(fun ({N, _, _, _}) -> N =:= Name end,
mirrored_supervisor:which_children(?SUPERVISOR)).
diff --git a/deps/rabbitmq_shovel/src/rabbit_shovel_parameters.erl b/deps/rabbitmq_shovel/src/rabbit_shovel_parameters.erl
index 3ff3046f0b..58c4230a65 100644
--- a/deps/rabbitmq_shovel/src/rabbit_shovel_parameters.erl
+++ b/deps/rabbitmq_shovel/src/rabbit_shovel_parameters.erl
@@ -442,7 +442,7 @@ get_uris(Key, Def) ->
[binary_to_list(URI) || URI <- URIs].
get_unencrypted_uris(Key, Def) ->
- ObfuscatedURIs = pget(Key, Def),
+ ObfuscatedURIs = pget(Key, Def),
URIs = [credentials_obfuscation:decrypt(ObfuscatedURI) || ObfuscatedURI <- ObfuscatedURIs],
[binary_to_list(URI) || URI <- URIs].
diff --git a/deps/rabbitmq_shovel/test/parameters_SUITE.erl b/deps/rabbitmq_shovel/test/parameters_SUITE.erl
index 77bf881f90..28de7d8315 100644
--- a/deps/rabbitmq_shovel/test/parameters_SUITE.erl
+++ b/deps/rabbitmq_shovel/test/parameters_SUITE.erl
@@ -43,9 +43,18 @@ groups() ->
%% -------------------------------------------------------------------
init_per_suite(Config) ->
+ {ok, _} = application:ensure_all_started(credentials_obfuscation),
+ Secret = crypto:strong_rand_bytes(128),
+ ok = credentials_obfuscation:set_secret(Secret),
Config.
end_per_suite(Config) ->
+ case application:stop(credentials_obfuscation) of
+ ok ->
+ ok;
+ {error, {not_started, credentials_obfuscation}} ->
+ ok
+ end,
Config.
init_per_group(_, Config) ->
@@ -55,18 +64,9 @@ end_per_group(_, Config) ->
Config.
init_per_testcase(_Testcase, Config) ->
- {ok, _} = application:ensure_all_started(credentials_obfuscation),
- Secret = crypto:strong_rand_bytes(128),
- ok = credentials_obfuscation:set_secret(Secret),
Config.
end_per_testcase(_Testcase, Config) ->
- case application:stop(credentials_obfuscation) of
- ok ->
- ok;
- {error, {not_started, credentials_obfuscation}} ->
- ok
- end,
Config.