summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Klishin <mklishin@pivotal.io>2019-11-22 00:01:25 +0300
committerGitHub <noreply@github.com>2019-11-22 00:01:25 +0300
commit79da341df49a8fc54229b930bd0e8d52f4209f64 (patch)
tree35caa24af6d865d5c9435c4d97523591f39de601 /src
parentc96aeeb262b4e47da61a79bb320674862379046c (diff)
parentf13540a82072620eeb6bf7e5dfb510a4e7480bcb (diff)
downloadrabbitmq-server-git-79da341df49a8fc54229b930bd0e8d52f4209f64.tar.gz
Merge pull request #2171 from rabbitmq/rabbitmq-server-2170
Skip importing queues and exchanges with invalid names
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