From 5d2e52ff81558471499986386d6018cdb4e8ccc8 Mon Sep 17 00:00:00 2001 From: Raimo Niskanen Date: Mon, 3 Dec 2018 14:26:43 +0100 Subject: Handle socket close in state downgrade --- lib/ssl/src/ssl_connection.erl | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'lib/ssl/src') diff --git a/lib/ssl/src/ssl_connection.erl b/lib/ssl/src/ssl_connection.erl index cd0a1d858d..9b16c3c9ed 100644 --- a/lib/ssl/src/ssl_connection.erl +++ b/lib/ssl/src/ssl_connection.erl @@ -1092,6 +1092,12 @@ downgrade(internal, #alert{description = ?CLOSE_NOTIFY}, downgrade(timeout, downgrade, #state{downgrade = {_, From}} = State, _) -> gen_statem:reply(From, {error, timeout}), stop(normal, State); +downgrade( + info, {CloseTag, Socket}, + #state{socket = Socket, close_tag = CloseTag, downgrade = {_, From}} = + State, _) -> + gen_statem:reply(From, {error, CloseTag}), + stop(normal, State); downgrade(Type, Event, State, Connection) -> handle_common_event(Type, Event, ?FUNCTION_NAME, State, Connection). -- cgit v1.2.3