diff options
author | Ingela Andin <ingela@erlang.org> | 2023-05-09 06:50:42 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-09 06:50:42 +0200 |
commit | ae5247439d1e7f9b7f7872b25284d33dad2e4501 (patch) | |
tree | 5dc48ccd83a32ea6379160fd0b6dd77683207c35 | |
parent | a5bd2f01a31fe7b87e330a7b6f5d1eb0a230909d (diff) | |
parent | 0c4e0f40a803412921241c3cb460045e7207180d (diff) | |
download | erlang-ae5247439d1e7f9b7f7872b25284d33dad2e4501.tar.gz |
Merge pull request #7214 from IngelaAndin/ingela/ssl/better-middlebox-assert-error
ssl: Improve error information when middlebox assert fails
-rw-r--r-- | lib/ssl/src/tls_client_connection_1_3.erl | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/ssl/src/tls_client_connection_1_3.erl b/lib/ssl/src/tls_client_connection_1_3.erl index d5742ea390..8f7486d419 100644 --- a/lib/ssl/src/tls_client_connection_1_3.erl +++ b/lib/ssl/src/tls_client_connection_1_3.erl @@ -316,6 +316,10 @@ hello_middlebox_assert(enter, _, State) -> {keep_state, State}; hello_middlebox_assert(internal, #change_cipher_spec{}, State) -> tls_gen_connection:next_event(wait_ee, no_record, State); +hello_middlebox_assert(internal = Type, #encrypted_extensions{} = Msg, #state{ssl_options = #{log_level := Level}} = State) -> + ssl_logger:log(warning, Level, #{description => "Failed to assert middlebox server message", + reason => [{missing, #change_cipher_spec{}}]}, ?LOCATION), + ssl_gen_statem:handle_common_event(Type, Msg, ?FUNCTION_NAME, State); hello_middlebox_assert(info, Msg, State) -> tls_gen_connection:handle_info(Msg, ?FUNCTION_NAME, State); hello_middlebox_assert(Type, Msg, State) -> @@ -331,8 +335,10 @@ hello_retry_middlebox_assert(enter, _, State) -> {keep_state, State}; hello_retry_middlebox_assert(internal, #change_cipher_spec{}, State) -> tls_gen_connection:next_event(wait_sh, no_record, State); -hello_retry_middlebox_assert(internal, #server_hello{}, State) -> - tls_gen_connection:next_event(?FUNCTION_NAME, no_record, State, [postpone]); +hello_retry_middlebox_assert(internal = Type, #server_hello{} = Msg, #state{ssl_options = #{log_level := Level}} = State) -> + ssl_logger:log(warning, Level, #{description => "Failed to assert middlebox server message", + reason => [{missing, #change_cipher_spec{}}]}, ?LOCATION), + ssl_gen_statem:handle_common_event(Type, Msg, ?FUNCTION_NAME, State); hello_retry_middlebox_assert(info, Msg, State) -> tls_gen_connection:handle_info(Msg, ?FUNCTION_NAME, State); hello_retry_middlebox_assert(Type, Msg, State) -> |