aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssl/src
diff options
context:
space:
mode:
authorIngela Anderton Andin <[email protected]>2019-07-03 09:43:17 +0200
committerIngela Anderton Andin <[email protected]>2019-07-03 09:43:17 +0200
commit9b7ec52ecddf845ea07a90ddcfc0868b8a3e7afd (patch)
tree11964c2a03e207917eb30ee92f6ebba9a44eb35c /lib/ssl/src
parent5371644cf6a4175e332ff0eb0c9a7227803e7fe2 (diff)
parentab61a13a824339d69a4e3955a21be12cb804d960 (diff)
downloadotp-9b7ec52ecddf845ea07a90ddcfc0868b8a3e7afd.tar.gz
otp-9b7ec52ecddf845ea07a90ddcfc0868b8a3e7afd.tar.bz2
otp-9b7ec52ecddf845ea07a90ddcfc0868b8a3e7afd.zip
Merge branch 'ingela/ssl/alert-error-enhancment/OTP-15943' into maint
* ingela/ssl/alert-error-enhancment/OTP-15943: ssl: Enhance error handling
Diffstat (limited to 'lib/ssl/src')
-rw-r--r--lib/ssl/src/tls_connection.erl5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/ssl/src/tls_connection.erl b/lib/ssl/src/tls_connection.erl
index 323d9e3284..3998f03519 100644
--- a/lib/ssl/src/tls_connection.erl
+++ b/lib/ssl/src/tls_connection.erl
@@ -336,7 +336,9 @@ handle_protocol_record(#ssl_tls{type = ?ALERT, fragment = EncAlerts}, StateName,
handle_alerts(Alerts, {next_state, StateName, State});
[] ->
ssl_connection:handle_own_alert(?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE, empty_alert),
- Version, StateName, State)
+ Version, StateName, State);
+ #alert{} = Alert ->
+ ssl_connection:handle_own_alert(Alert, Version, StateName, State)
catch
_:_ ->
ssl_connection:handle_own_alert(?ALERT_REC(?FATAL, ?HANDSHAKE_FAILURE, alert_decode_error),
@@ -1175,7 +1177,6 @@ encode_handshake(Handshake, Version, ConnectionStates0, Hist0) ->
encode_change_cipher(#change_cipher_spec{}, Version, ConnectionStates) ->
tls_record:encode_change_cipher_spec(Version, ConnectionStates).
--spec decode_alerts(binary()) -> list().
decode_alerts(Bin) ->
ssl_alert:decode(Bin).