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 | e974144d83ba8845c0cc34c768d63c9131b766a2 (patch) | |
| tree | 1e0aa632f657e5c178e6464df7b093d3174b8b3a /src | |
| parent | a3022d616cf878c81b8dc0694f0fc66971186dad (diff) | |
| download | rabbitmq-server-git-e974144d83ba8845c0cc34c768d63c9131b766a2.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.
Diffstat (limited to 'src')
| -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 ddaf205e7d..68cef56aff 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 |
