diff options
author | Michael Klishin <michael@rabbitmq.com> | 2014-08-01 10:41:16 +0400 |
---|---|---|
committer | Michael Klishin <michael@rabbitmq.com> | 2014-08-01 10:41:16 +0400 |
commit | b7c5463739e34cf0a8740db4a3bd0d0a030822c7 (patch) | |
tree | 1e0aa632f657e5c178e6464df7b093d3174b8b3a | |
parent | 322a5f539e269c56d6a8c8af27f576c266b668b9 (diff) | |
download | rabbitmq-server-b7c5463739e34cf0a8740db4a3bd0d0a030822c7.tar.gz |
Enforce server-side value when client provided one is 0
Keeps bogus clients such as node-amqp from ignoring the channel_max
limit.
-rw-r--r-- | src/rabbit_reader.erl | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl index ddaf205e..68cef56a 100644 --- a/src/rabbit_reader.erl +++ b/src/rabbit_reader.erl @@ -971,7 +971,8 @@ validate_negotiated_integer_value(Field, Min, ClientValue) -> ServerValue = get_env(Field), if ClientValue /= 0 andalso ClientValue < Min -> fail_negotiation(Field, min, ServerValue, ClientValue); - ServerValue /= 0 andalso ClientValue > ServerValue -> + ServerValue /= 0 andalso (ClientValue =:= 0 orelse + ClientValue > ServerValue) -> fail_negotiation(Field, max, ServerValue, ClientValue); true -> ok |