summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIngela Anderton Andin <ingela@erlang.org>2018-11-02 12:33:24 +0100
committerIngela Anderton Andin <ingela@erlang.org>2018-11-02 12:33:24 +0100
commit1fe2896eb4671563452c46789984559a0bb01384 (patch)
treee991f226e808f1da9d692898f5600c9829f2f69a
parentaf8f82af21f601aa7e8ce034d333e1c800ad48e1 (diff)
parent6cc0aebffc1d1dee434806f718f32e54cfd7d148 (diff)
downloaderlang-1fe2896eb4671563452c46789984559a0bb01384.tar.gz
Merge branch 'ingela/ssl/deliver-all-data-at-close/ERL-731/OTP-15412' into maint
* ingela/ssl/deliver-all-data-at-close/ERL-731/OTP-15412: ssl: Extend check for undelivered data at closing
-rw-r--r--lib/ssl/src/tls_connection.erl3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/ssl/src/tls_connection.erl b/lib/ssl/src/tls_connection.erl
index adb4f6d9ea..4dfb50967d 100644
--- a/lib/ssl/src/tls_connection.erl
+++ b/lib/ssl/src/tls_connection.erl
@@ -783,6 +783,7 @@ handle_info({CloseTag, Socket}, StateName,
#state{socket = Socket, close_tag = CloseTag,
socket_options = #socket_options{active = Active},
protocol_buffers = #protocol_buffers{tls_cipher_texts = CTs},
+ user_data_buffer = Buffer,
negotiated_version = Version} = State) ->
%% Note that as of TLS 1.1,
@@ -790,7 +791,7 @@ handle_info({CloseTag, Socket}, StateName,
%% session not be resumed. This is a change from TLS 1.0 to conform
%% with widespread implementation practice.
- case (Active == false) andalso (CTs =/= []) of
+ case (Active == false) andalso ((CTs =/= []) or (Buffer =/= <<>>)) of
false ->
case Version of
{1, N} when N >= 1 ->