aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIngela Anderton Andin <[email protected]>2012-09-26 12:07:52 +0200
committerIngela Anderton Andin <[email protected]>2012-10-01 15:15:10 +0200
commit6f0bbf80a7ddbe6c416b4d44b7f2443b415909bf (patch)
treed4c63cbbc22c82a56e54c3a758390f70641036b2
parent3ea4a5934c104aada07a8c971c0a2fd74d1e26f8 (diff)
downloadotp-6f0bbf80a7ddbe6c416b4d44b7f2443b415909bf.tar.gz
otp-6f0bbf80a7ddbe6c416b4d44b7f2443b415909bf.tar.bz2
otp-6f0bbf80a7ddbe6c416b4d44b7f2443b415909bf.zip
ssl: Better test to determine if sslv2 is supported by openssl
-rw-r--r--lib/ssl/test/ssl_to_openssl_SUITE.erl26
1 files changed, 21 insertions, 5 deletions
diff --git a/lib/ssl/test/ssl_to_openssl_SUITE.erl b/lib/ssl/test/ssl_to_openssl_SUITE.erl
index 21797bee08..98ef050b14 100644
--- a/lib/ssl/test/ssl_to_openssl_SUITE.erl
+++ b/lib/ssl/test/ssl_to_openssl_SUITE.erl
@@ -1451,11 +1451,27 @@ check_sane_openssl_renegotaite(Config) ->
end.
check_sane_openssl_sslv2(Config) ->
- case os:cmd("openssl version") of
- "OpenSSL 1." ++ _ ->
- {skip, "sslv2 by default turned of in 1.*"};
- _ ->
- Config
+ Port = open_port({spawn, "openssl s_client -ssl2 "}, [stderr_to_stdout]),
+ case supports_sslv2(Port) of
+ true ->
+ Config;
+ false ->
+ {skip, "sslv2 not supported by openssl"}
+ end.
+
+supports_sslv2(Port) ->
+ receive
+ {Port, {data, "unknown option -ssl2" ++ _}} ->
+ false;
+ {Port, {data, Data}} ->
+ case lists:member("error", string:tokens(Data, ":")) of
+ true ->
+ false;
+ false ->
+ supports_sslv2(Port)
+ end
+ after 500 ->
+ true
end.
check_sane_openssl_version(Version) ->