File 2973-ssl-Fix-the-openssl_alpn_SUITE.patch of Package erlang

From 93fd4ffae93768ec52e13b08a4a2a7004742e962 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C3=A9ter=20Dimitrov?= <peterdmv@erlang.org>
Date: Wed, 25 Mar 2020 10:38:51 +0100
Subject: [PATCH 03/12] ssl: Fix the openssl_alpn_SUITE

---
 lib/ssl/test/openssl_alpn_SUITE.erl        | 37 +++++++++---------------------
 lib/ssl/test/openssl_npn_SUITE.erl         |  2 +-
 lib/ssl/test/openssl_renegotiate_SUITE.erl |  2 +-
 lib/ssl/test/ssl_test_lib.erl              | 10 +++++++-
 4 files changed, 22 insertions(+), 29 deletions(-)

diff --git a/lib/ssl/test/openssl_alpn_SUITE.erl b/lib/ssl/test/openssl_alpn_SUITE.erl
index 48659b5305..fc18d053aa 100644
--- a/lib/ssl/test/openssl_alpn_SUITE.erl
+++ b/lib/ssl/test/openssl_alpn_SUITE.erl
@@ -118,30 +118,10 @@ end_per_suite(_Config) ->
     ssl_test_lib:kill_openssl().
 
 init_per_group(GroupName, Config) ->
-    case ssl_test_lib:is_tls_version(GroupName) of
-        true ->
-            case ssl_test_lib:supports_ssl_tls_version(GroupName) of
-                 true ->
-                    case ssl_test_lib:check_sane_openssl_version(GroupName) of
-                         true ->
-                            ssl_test_lib:init_tls_version(GroupName, Config);
-                         false ->
-                            {skip, openssl_does_not_support_version}
-                    end;
-                false ->
-                    {skip, openssl_does_not_support_version}
-            end; 
-         _ ->
-            Config
-    end.
+    ssl_test_lib:init_per_group_openssl(GroupName, Config).
 
 end_per_group(GroupName, Config) ->
-    case ssl_test_lib:is_tls_version(GroupName) of
-        true ->
-            ssl_test_lib:clean_tls_version(Config);
-       false ->
-            Config
-    end.
+    ssl_test_lib:end_per_group(GroupName, Config).
 
 init_per_testcase(TestCase, Config) -> 
     ct:timetrap({seconds, 30}),
@@ -149,14 +129,19 @@ init_per_testcase(TestCase, Config) ->
 
 special_init(erlang_client_alpn_openssl_server_alpn_renegotiate, Config) ->
     {ok, Version} = application:get_env(ssl, protocol_version),
-    ssl_test_lib:check_sane_openssl_renegotaite(Config, Version);
+    case ssl_test_lib:check_sane_openssl_renegotaite(Config, Version) of
+        {skip, _} = Skip ->
+            Skip;
+        Config ->
+            ssl_test_lib:openssl_allows_server_renegotiate(Config)
+    end;
 special_init(erlang_server_alpn_openssl_client_alpn_renegotiate, Config) ->
     {ok, Version} = application:get_env(ssl, protocol_version),
     case ssl_test_lib:check_sane_openssl_renegotaite(Config, Version) of
+        {skip, _} = Skip ->
+            Skip;
         Config ->
-            ssl_test_lib:openssl_allows_client_renegotaite(Config);
-        Skip ->
-            Skip
+            ssl_test_lib:openssl_allows_client_renegotiate(Config)
     end;
 special_init(_, Config) ->
      Config.
diff --git a/lib/ssl/test/openssl_npn_SUITE.erl b/lib/ssl/test/openssl_npn_SUITE.erl
index 7322e228bd..11b2e46358 100644
--- a/lib/ssl/test/openssl_npn_SUITE.erl
+++ b/lib/ssl/test/openssl_npn_SUITE.erl
@@ -124,7 +124,7 @@ special_init(erlang_server_openssl_client_npn_renegotiate, Config) ->
     {ok, Version} = application:get_env(ssl, protocol_version),
     case ssl_test_lib:check_sane_openssl_renegotaite(Config, Version) of
         Config ->
-            ssl_test_lib:openssl_allows_client_renegotaite(Config);
+            ssl_test_lib:openssl_allows_client_renegotiate(Config);
         Skip ->
             Skip
     end;
diff --git a/lib/ssl/test/openssl_renegotiate_SUITE.erl b/lib/ssl/test/openssl_renegotiate_SUITE.erl
index f548b75abe..a2270bec15 100644
--- a/lib/ssl/test/openssl_renegotiate_SUITE.erl
+++ b/lib/ssl/test/openssl_renegotiate_SUITE.erl
@@ -124,7 +124,7 @@ end_per_group(GroupName, Config) ->
     end.
 init_per_testcase(erlang_client_openssl_server_nowrap_seqnum, Config) ->
     ct:timetrap(?DEFAULT_TIMEOUT),
-    ssl_test_lib:openssl_allows_client_renegotaite(Config);
+    ssl_test_lib:openssl_allows_client_renegotiate(Config);
 init_per_testcase(TestCase, Config) ->
     ct:timetrap(?DEFAULT_TIMEOUT),
     Config.
diff --git a/lib/ssl/test/ssl_test_lib.erl b/lib/ssl/test/ssl_test_lib.erl
index 2e79303e0e..6f92e2571d 100644
--- a/lib/ssl/test/ssl_test_lib.erl
+++ b/lib/ssl/test/ssl_test_lib.erl
@@ -2734,7 +2734,7 @@ check_sane_openssl_renegotaite(Config) ->
 	    Config
     end.
 
-openssl_allows_client_renegotaite(Config) ->
+openssl_allows_client_renegotiate(Config) ->
      case os:cmd("openssl version") of  
 	"OpenSSL 1.1" ++ _ ->
 	    {skip, "OpenSSL does not allow client renegotiation"};
@@ -2744,6 +2744,14 @@ openssl_allows_client_renegotaite(Config) ->
              Config
      end.
 
+openssl_allows_server_renegotiate(Config) ->
+     case os:cmd("openssl version") of
+	"LibreSSL 3.1" ++ _ ->
+	    {skip, "LibreSSL 3.1 does not allow server renegotiation"};
+         _ ->
+             Config
+     end.
+
 workaround_openssl_s_clinent() ->
     %% http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=683159
     %% https://bugs.archlinux.org/task/33919
-- 
2.16.4

openSUSE Build Service is sponsored by