diff options
author | Marcus Arendt <[email protected]> | 2014-09-01 16:13:37 +0200 |
---|---|---|
committer | Marcus Arendt <[email protected]> | 2014-09-02 10:28:48 +0200 |
commit | e3a947d06915bde9d11e80b9d6f4e31460a3cf51 (patch) | |
tree | 24e8cfa28e628f9df4d7337c95c0d45027b6cb6f /lib/ssh | |
parent | cf53a360685b1a01a5c7fc0e06660ce8d76d96b0 (diff) | |
download | otp-e3a947d06915bde9d11e80b9d6f4e31460a3cf51.tar.gz otp-e3a947d06915bde9d11e80b9d6f4e31460a3cf51.tar.bz2 otp-e3a947d06915bde9d11e80b9d6f4e31460a3cf51.zip |
ssh: check if ssh client supports newer cipher- and MAC-algorithms
Diffstat (limited to 'lib/ssh')
-rw-r--r-- | lib/ssh/test/ssh_to_openssh_SUITE.erl | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/lib/ssh/test/ssh_to_openssh_SUITE.erl b/lib/ssh/test/ssh_to_openssh_SUITE.erl index e003b135b1..3500bf012b 100644 --- a/lib/ssh/test/ssh_to_openssh_SUITE.erl +++ b/lib/ssh/test/ssh_to_openssh_SUITE.erl @@ -91,6 +91,12 @@ end_per_group(erlang_server, Config) -> end_per_group(_, Config) -> Config. +init_per_testcase(erlang_server_openssh_client_cipher_suites, Config) -> + check_ssh_client_support(Config); + +init_per_testcase(erlang_server_openssh_client_macs, Config) -> + check_ssh_client_support(Config); + init_per_testcase(_TestCase, Config) -> ssh:start(), Config. @@ -537,3 +543,25 @@ receive_hej() -> ct:pal("Extra info: ~p~n", [Info]), receive_hej() end. + +%%-------------------------------------------------------------------- +%%-------------------------------------------------------------------- +%% Check if we have a "newer" ssh client that supports these test cases +%%-------------------------------------------------------------------- +check_ssh_client_support(Config) -> + Port = open_port({spawn, "ssh -Q cipher"}, [exit_status, stderr_to_stdout]), + case check_ssh_client_support2(Port) of + 0 -> % exit status from command (0 == ok) + ssh:start(), + Config; + _ -> + {skip, "test case not supported by ssh client"} + end. + +check_ssh_client_support2(P) -> + receive + {P, {data, _A}} -> + check_ssh_client_support2(P); + {P, {exit_status, E}} -> + E + end. |