diff options
| author | Emile Joubert <emile@rabbitmq.com> | 2013-07-31 16:15:01 +0100 |
|---|---|---|
| committer | Emile Joubert <emile@rabbitmq.com> | 2013-07-31 16:15:01 +0100 |
| commit | 7c38f773bd38a3fd939df570c565eec0ad07cd0d (patch) | |
| tree | 0e1f8b846541d71d147efeea0548ed79857e79e4 | |
| parent | 0ae69c00f3eecef96e55891be875e6d816235238 (diff) | |
| download | rabbitmq-server-git-7c38f773bd38a3fd939df570c565eec0ad07cd0d.tar.gz | |
Check DLX permissions on queue declare
| -rw-r--r-- | src/rabbit_channel.erl | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl index a8e9432cd0..3f2f7afae6 100644 --- a/src/rabbit_channel.erl +++ b/src/rabbit_channel.erl @@ -986,6 +986,13 @@ handle_method(#'queue.declare'{queue = QueueNameBin, return_queue_declare_ok(QueueName, NoWait, MessageCount, ConsumerCount, State); {error, not_found} -> + case rabbit_misc:r_arg(VHostPath, exchange, Args, + <<"x-dead-letter-exchange">>) of + undefined -> ok; + DLX -> check_read_permitted(QueueName, State), + check_write_permitted(DLX, State), + ok + end, case rabbit_amqqueue:declare(QueueName, Durable, AutoDelete, Args, Owner) of {new, #amqqueue{pid = QPid}} -> |
