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

openSUSE Build Service is sponsored by