File 4891-Add-keylog-info-to-all-protocol-versions.patch of Package erlang
From 2e99e47ca6030be269d411a01bf0f7936b8d5f29 Mon Sep 17 00:00:00 2001
From: Dan Gudmundsson <dgud@erlang.org>
Date: Mon, 12 Jun 2023 16:17:38 +0200
Subject: [PATCH] Add keylog info to all protocol-versions
---
lib/ssl/src/ssl_gen_statem.erl | 24 ++++++++++++------------
lib/ssl/test/ssl_api_SUITE.erl | 8 +++-----
2 files changed, 15 insertions(+), 17 deletions(-)
diff --git a/lib/ssl/src/ssl_gen_statem.erl b/lib/ssl/src/ssl_gen_statem.erl
index caa6c6742d..afaa8fab31 100644
--- a/lib/ssl/src/ssl_gen_statem.erl
+++ b/lib/ssl/src/ssl_gen_statem.erl
@@ -2077,18 +2077,6 @@ ssl_options_list([{Key, Value}|T], Acc) ->
maybe_add_keylog(Info) ->
maybe_add_keylog(lists:keyfind(protocol, 1, Info), Info).
-maybe_add_keylog({_, 'tlsv1.2'}, Info) ->
- try
- {client_random, ClientRandomBin} = lists:keyfind(client_random, 1, Info),
- {master_secret, MasterSecretBin} = lists:keyfind(master_secret, 1, Info),
- ClientRandom = binary:decode_unsigned(ClientRandomBin),
- MasterSecret = binary:decode_unsigned(MasterSecretBin),
- Keylog = [io_lib:format("CLIENT_RANDOM ~64.16.0B ~96.16.0B", [ClientRandom, MasterSecret])],
- Info ++ [{keylog,Keylog}]
- catch
- _Cxx:_Exx ->
- Info
- end;
maybe_add_keylog({_, 'tlsv1.3'}, Info) ->
try
{client_random, ClientRandomBin} = lists:keyfind(client_random, 1, Info),
@@ -2119,6 +2107,18 @@ maybe_add_keylog({_, 'tlsv1.3'}, Info) ->
_Cxx:_Exx ->
Info
end;
+maybe_add_keylog({_, _}, Info) ->
+ try
+ {client_random, ClientRandomBin} = lists:keyfind(client_random, 1, Info),
+ {master_secret, MasterSecretBin} = lists:keyfind(master_secret, 1, Info),
+ ClientRandom = binary:decode_unsigned(ClientRandomBin),
+ MasterSecret = binary:decode_unsigned(MasterSecretBin),
+ Keylog = [io_lib:format("CLIENT_RANDOM ~64.16.0B ~96.16.0B", [ClientRandom, MasterSecret])],
+ Info ++ [{keylog,Keylog}]
+ catch
+ _Cxx:_Exx ->
+ Info
+ end;
maybe_add_keylog(_, Info) ->
Info.
diff --git a/lib/ssl/test/ssl_api_SUITE.erl b/lib/ssl/test/ssl_api_SUITE.erl
index c686fac6d6..a4f00e80f6 100644
--- a/lib/ssl/test/ssl_api_SUITE.erl
+++ b/lib/ssl/test/ssl_api_SUITE.erl
@@ -2703,12 +2703,10 @@ check_keylog_info('tlsv1.3', [{keylog, ["CLIENT_HANDSHAKE_TRAFFIC_SECRET"++_,_|_
{ok, Keylog};
check_keylog_info('tlsv1.3', []=Keylog, false) ->
{ok, Keylog};
-check_keylog_info('tlsv1.2', [{keylog, ["CLIENT_RANDOM"++_]=Keylog}], _) ->
+check_keylog_info(_, [{keylog, ["CLIENT_RANDOM"++_]=Keylog}], _) ->
{ok, Keylog};
-check_keylog_info(NotSup, [], _) when NotSup == 'tlsv1.1'; NotSup == tlsv1; NotSup == 'dtlsv1.2'; NotSup == dtlsv1 ->
- {ok, []};
-check_keylog_info(_, Unexpected, _) ->
- {unexpected, Unexpected}.
+check_keylog_info(_, Unexpected, Keep) ->
+ {unexpected, Keep, Unexpected}.
check_srp_in_connection_information(_Socket, _Username, client) ->
ok;
--
2.35.3