diff options
| author | Michael Klishin <mklishin@pivotal.io> | 2019-11-22 00:01:25 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-11-22 00:01:25 +0300 |
| commit | 79da341df49a8fc54229b930bd0e8d52f4209f64 (patch) | |
| tree | 35caa24af6d865d5c9435c4d97523591f39de601 /src | |
| parent | c96aeeb262b4e47da61a79bb320674862379046c (diff) | |
| parent | f13540a82072620eeb6bf7e5dfb510a4e7480bcb (diff) | |
| download | rabbitmq-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.erl | 12 |
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 |
