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