summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2013-01-15 17:43:30 +0000
committerMatthias Radestock <matthias@rabbitmq.com>2013-01-15 17:43:30 +0000
commitae444cc23f94d00b97f2854d935a60ba66176c05 (patch)
tree83a7ecb877d6e5c0d6b5c790cdcbf82f62bb2d45
parent4e1cffb31dbedd1ea297d4794766fc67c046cd5d (diff)
downloadrabbitmq-server-ae444cc23f94d00b97f2854d935a60ba66176c05.tar.gz
simplify bad_version error handling
-rw-r--r--src/rabbit_reader.erl11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl
index c14951c3..0d2ba5d2 100644
--- a/src/rabbit_reader.erl
+++ b/src/rabbit_reader.erl
@@ -692,14 +692,14 @@ handle_input(handshake, <<"AMQP", 1, 1, 9, 1>>, State) ->
%% ... and finally, the 1.0 spec is crystal clear! Note that the
%% TLS uses a different protocol number, and would go here.
handle_input(handshake, <<"AMQP", 0, 1, 0, 0>>, State) ->
- become_1_0(amqp, [0, 1, 0, 0], State);
+ become_1_0(amqp, {0, 1, 0, 0}, State);
%% 3 stands for "SASL"
handle_input(handshake, <<"AMQP", 3, 1, 0, 0>>, State) ->
- become_1_0(sasl, [3, 1, 0, 0], State);
+ become_1_0(sasl, {3, 1, 0, 0}, State);
handle_input(handshake, <<"AMQP", A, B, C, D>>, #v1{sock = Sock}) ->
- refuse_connection(Sock, {bad_version, A, B, C, D});
+ refuse_connection(Sock, {bad_version, {A, B, C, D}});
handle_input(handshake, Other, #v1{sock = Sock}) ->
refuse_connection(Sock, {bad_header, Other});
@@ -993,10 +993,9 @@ emit_stats(State) ->
%% 1.0 stub
-become_1_0(Mode, HandshakeBytes, State = #v1{sock = Sock}) ->
+become_1_0(Mode, Version, State = #v1{sock = Sock}) ->
case code:is_loaded(rabbit_amqp1_0_reader) of
- false -> refuse_connection(
- Sock, list_to_tuple([bad_version | HandshakeBytes]));
+ false -> refuse_connection(Sock, {bad_version, Version});
_ -> apply0(rabbit_amqp1_0_reader, become,
[Mode, pack_for_1_0(State)])
end.