diff options
author | Michael Klishin <michael@rabbitmq.com> | 2014-08-11 15:06:39 +0400 |
---|---|---|
committer | Michael Klishin <michael@rabbitmq.com> | 2014-08-11 15:06:39 +0400 |
commit | b097017b85ee1a111977d4387161a9a1eed2d0d6 (patch) | |
tree | c4fac1327c2b5e5c541ff6319d5007a54a5cfbcb | |
parent | 64241c5d6bd4bedc191394131a628b1c2fa4a7ab (diff) | |
download | rabbitmq-server-b097017b85ee1a111977d4387161a9a1eed2d0d6.tar.gz |
Handle exceptions when connection_state = 'starting' the same way we do for 'tuning'
-rw-r--r-- | src/rabbit_reader.erl | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl index e6e94e28..b6afc1d0 100644 --- a/src/rabbit_reader.erl +++ b/src/rabbit_reader.erl @@ -596,7 +596,12 @@ handle_exception(State = #v1{connection = #connection{protocol = Protocol}, State1 = close_connection(terminate_channels(State)), ok = send_on_channel0(State1#v1.sock, CloseMethod, Protocol), State1; +handle_exception(State = #v1{connection_state = starting}, Channel, Reason) -> + fail_handshake_after_delay(State, Channel, Reason); handle_exception(State = #v1{connection_state = tuning}, Channel, Reason) -> + fail_handshake_after_delay(State, Channel, Reason). + +fail_handshake_after_delay(State, Channel, Reason) -> %% We don't trust the client at this point - force them to wait %% for a bit so they can't DOS us with repeated failed logins etc. timer:sleep(?SILENT_CLOSE_DELAY * 1000), |