diff options
author | Matthias Radestock <matthias@rabbitmq.com> | 2013-01-15 17:43:30 +0000 |
---|---|---|
committer | Matthias Radestock <matthias@rabbitmq.com> | 2013-01-15 17:43:30 +0000 |
commit | ae444cc23f94d00b97f2854d935a60ba66176c05 (patch) | |
tree | 83a7ecb877d6e5c0d6b5c790cdcbf82f62bb2d45 | |
parent | 4e1cffb31dbedd1ea297d4794766fc67c046cd5d (diff) | |
download | rabbitmq-server-ae444cc23f94d00b97f2854d935a60ba66176c05.tar.gz |
simplify bad_version error handling
-rw-r--r-- | src/rabbit_reader.erl | 11 |
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. |