diff options
| author | Luke Bakken <lbakken@pivotal.io> | 2019-02-17 09:36:12 -0800 |
|---|---|---|
| committer | Luke Bakken <lbakken@pivotal.io> | 2019-02-18 08:20:49 -0800 |
| commit | 4f853ad021d61daab3dc1a8a7612d8512d1f45e7 (patch) | |
| tree | adbe06a7fb6df01d5865b5114819f439cce58db3 | |
| parent | f6d93688a71bb765c91fe2cc3bba6e729d5fae5e (diff) | |
| download | rabbitmq-server-git-4f853ad021d61daab3dc1a8a7612d8512d1f45e7.tar.gz | |
Check exclusive owner before durable argument
Fixes #1887
| -rw-r--r-- | src/rabbit_amqqueue.erl | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl index dbf8693a96..5385ed368f 100644 --- a/src/rabbit_amqqueue.erl +++ b/src/rabbit_amqqueue.erl @@ -616,14 +616,14 @@ priv_absent(QueueName, _QPid, _IsDurable, timeout) -> rabbit_framing:amqp_table(), rabbit_types:maybe(pid())) -> 'ok' | rabbit_types:channel_exit() | rabbit_types:connection_exit(). -assert_equivalence(Q, Durable1, AD1, Args1, Owner) -> +assert_equivalence(Q, DurableDeclare, AutoDeleteDeclare, Args1, Owner) -> QName = amqqueue:get_name(Q), - Durable = amqqueue:is_durable(Q), - AD = amqqueue:is_auto_delete(Q), - rabbit_misc:assert_field_equivalence(Durable, Durable1, QName, durable), - rabbit_misc:assert_field_equivalence(AD, AD1, QName, auto_delete), - assert_args_equivalence(Q, Args1), - check_exclusive_access(Q, Owner, strict). + DurableQ = amqqueue:is_durable(Q), + AutoDeleteQ = amqqueue:is_auto_delete(Q), + ok = check_exclusive_access(Q, Owner, strict), + ok = rabbit_misc:assert_field_equivalence(DurableQ, DurableDeclare, QName, durable), + ok = rabbit_misc:assert_field_equivalence(AutoDeleteQ, AutoDeleteDeclare, QName, auto_delete), + ok = assert_args_equivalence(Q, Args1). -spec check_exclusive_access(amqqueue:amqqueue(), pid()) -> 'ok' | rabbit_types:channel_exit(). |
