summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2014-11-25 14:52:24 +0000
committerSimon MacMullen <simon@rabbitmq.com>2014-11-25 14:52:24 +0000
commitbc979010866b4f1cde80ea391f6bd98d38383fbc (patch)
tree5db7c5e114498921887706afdab47055c445a0c7
parent34230449e0e4e808749e0e7ee4d7899462ff4734 (diff)
parent0a0299358b96e674db55218586b177b852c24e5b (diff)
downloadrabbitmq-server-bc979010866b4f1cde80ea391f6bd98d38383fbc.tar.gz
stable to default
-rw-r--r--src/rabbit_amqqueue.erl6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/rabbit_amqqueue.erl b/src/rabbit_amqqueue.erl
index 2e5a5e8c..0dfca854 100644
--- a/src/rabbit_amqqueue.erl
+++ b/src/rabbit_amqqueue.erl
@@ -466,6 +466,7 @@ check_arguments(QueueName, Args, Validators) ->
declare_args() ->
[{<<"x-expires">>, fun check_expires_arg/2},
{<<"x-message-ttl">>, fun check_message_ttl_arg/2},
+ {<<"x-dead-letter-exchange">>, fun check_dlxname_arg/2},
{<<"x-dead-letter-routing-key">>, fun check_dlxrk_arg/2},
{<<"x-max-length">>, fun check_non_neg_int_arg/2},
{<<"x-max-length-bytes">>, fun check_non_neg_int_arg/2}].
@@ -502,6 +503,11 @@ check_message_ttl_arg({Type, Val}, Args) ->
Error -> Error
end.
+%% Note that the validity of x-dead-letter-exchange is already verified
+%% by rabbit_channel's queue.declare handler.
+check_dlxname_arg({longstr, _}, _) -> ok;
+check_dlxname_arg({Type, _}, _) -> {error, {unacceptable_type, Type}}.
+
check_dlxrk_arg({longstr, _}, Args) ->
case rabbit_misc:table_lookup(Args, <<"x-dead-letter-exchange">>) of
undefined -> {error, routing_key_but_no_dlx_defined};