summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLuke Bakken <lbakken@pivotal.io>2019-11-21 12:24:12 -0800
committerLuke Bakken <lbakken@pivotal.io>2019-11-21 12:24:12 -0800
commit85b8a6928fdb9f7b600715ce6f7448424e9c93c7 (patch)
tree9f9d85c88920feffc063829fbcafb6ae87c478df /src
parentc96aeeb262b4e47da61a79bb320674862379046c (diff)
downloadrabbitmq-server-git-85b8a6928fdb9f7b600715ce6f7448424e9c93c7.tar.gz
Skip importing queues and exchanges with invalid names
Fixes #2170
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_definitions.erl12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/rabbit_definitions.erl b/src/rabbit_definitions.erl
index 260284d19c..e4ee369bc9 100644
--- a/src/rabbit_definitions.erl
+++ b/src/rabbit_definitions.erl
@@ -397,6 +397,11 @@ add_queue(Queue, ActingUser) ->
add_queue(VHost, Queue, ActingUser) ->
add_queue_int(Queue, rv(VHost, queue, Queue), ActingUser).
+add_queue_int(_Queue, R = #resource{kind = queue,
+ name = <<"amq.", _/binary>>}, ActingUser) ->
+ Name = R#resource.name,
+ rabbit_log:warning("Skipping import of a queue whose name begins with 'amq.', "
+ "name: ~s, acting user: ~s", [Name, ActingUser]);
add_queue_int(Queue, Name, ActingUser) ->
rabbit_amqqueue:declare(Name,
maps:get(durable, Queue, undefined),
@@ -411,6 +416,13 @@ add_exchange(Exchange, ActingUser) ->
add_exchange(VHost, Exchange, ActingUser) ->
add_exchange_int(Exchange, rv(VHost, exchange, Exchange), ActingUser).
+add_exchange_int(_Exchange, #resource{kind = exchange, name = <<"">>}, ActingUser) ->
+ rabbit_log:warning("Not importing the default exchange, acting user: ~s", [ActingUser]);
+add_exchange_int(_Exchange, R = #resource{kind = exchange,
+ name = <<"amq.", _/binary>>}, ActingUser) ->
+ Name = R#resource.name,
+ rabbit_log:warning("Skipping import of an exchange whose name begins with 'amq.', "
+ "name: ~s, acting user: ~s", [Name, ActingUser]);
add_exchange_int(Exchange, Name, ActingUser) ->
Internal = case maps:get(internal, Exchange, undefined) of
undefined -> false; %% =< 2.2.0