diff options
| author | Ingela Anderton Andin <[email protected]> | 2018-10-08 14:58:34 +0200 | 
|---|---|---|
| committer | Ingela Anderton Andin <[email protected]> | 2018-10-08 14:58:34 +0200 | 
| commit | a6b3f3d2678a321a9bbddf15d0a130b9f89824f6 (patch) | |
| tree | 7ad9e72373cad3972bfefacdbdc56c93f2714d68 /lib/ssl/test | |
| parent | 870f4f4518846243f1ac2b2aefe36aa92dc366a5 (diff) | |
| parent | f4c8e878fe335afd4b5036c6f1991ba671bfa8dc (diff) | |
| download | otp-a6b3f3d2678a321a9bbddf15d0a130b9f89824f6.tar.gz otp-a6b3f3d2678a321a9bbddf15d0a130b9f89824f6.tar.bz2 otp-a6b3f3d2678a321a9bbddf15d0a130b9f89824f6.zip | |
Merge branch 'maint'
Conflicts:
	lib/ssl/src/ssl_connection.erl
	lib/ssl/src/tls_connection.erl
Diffstat (limited to 'lib/ssl/test')
| -rw-r--r-- | lib/ssl/test/ssl_alpn_handshake_SUITE.erl | 23 | ||||
| -rw-r--r-- | lib/ssl/test/ssl_basic_SUITE.erl | 42 | ||||
| -rw-r--r-- | lib/ssl/test/ssl_certificate_verify_SUITE.erl | 54 | ||||
| -rw-r--r-- | lib/ssl/test/ssl_test_lib.erl | 38 | 
4 files changed, 78 insertions, 79 deletions
| diff --git a/lib/ssl/test/ssl_alpn_handshake_SUITE.erl b/lib/ssl/test/ssl_alpn_handshake_SUITE.erl index 27062d4801..04c4b257d9 100644 --- a/lib/ssl/test/ssl_alpn_handshake_SUITE.erl +++ b/lib/ssl/test/ssl_alpn_handshake_SUITE.erl @@ -155,7 +155,7 @@ empty_client(Config) when is_list(Config) ->      run_failing_handshake(Config,          [{alpn_advertised_protocols, []}],          [{alpn_preferred_protocols, [<<"spdy/2">>, <<"spdy/3">>, <<"http/2">>]}], -        {connect_failed,{tls_alert,"no application protocol"}}). +        {error,{tls_alert,"no application protocol"}}).  %-------------------------------------------------------------------------------- @@ -163,7 +163,7 @@ empty_server(Config) when is_list(Config) ->      run_failing_handshake(Config,          [{alpn_advertised_protocols, [<<"http/1.0">>, <<"http/1.1">>]}],          [{alpn_preferred_protocols, []}], -        {connect_failed,{tls_alert,"no application protocol"}}). +        {error,{tls_alert,"no application protocol"}}).  %-------------------------------------------------------------------------------- @@ -171,7 +171,7 @@ empty_client_empty_server(Config) when is_list(Config) ->      run_failing_handshake(Config,          [{alpn_advertised_protocols, []}],          [{alpn_preferred_protocols, []}], -        {connect_failed,{tls_alert,"no application protocol"}}). +        {error,{tls_alert,"no application protocol"}}).  %-------------------------------------------------------------------------------- @@ -179,7 +179,7 @@ no_matching_protocol(Config) when is_list(Config) ->      run_failing_handshake(Config,          [{alpn_advertised_protocols, [<<"http/1.0">>, <<"http/1.1">>]}],          [{alpn_preferred_protocols, [<<"spdy/2">>, <<"spdy/3">>, <<"http/2">>]}], -        {connect_failed,{tls_alert,"no application protocol"}}). +        {error,{tls_alert,"no application protocol"}}).  %-------------------------------------------------------------------------------- @@ -342,18 +342,19 @@ run_failing_handshake(Config, ClientExtraOpts, ServerExtraOpts, ExpectedResult)      ServerOpts = ServerExtraOpts ++ ssl_test_lib:ssl_options(server_rsa_opts, Config),      {ClientNode, ServerNode, Hostname} = ssl_test_lib:run_where(Config), -    Server = ssl_test_lib:start_server([{node, ServerNode}, {port, 0}, +    Server = ssl_test_lib:start_server_error([{node, ServerNode}, {port, 0},                      {from, self()},                      {mfa, {?MODULE, placeholder, []}},                      {options, ServerOpts}]),      Port = ssl_test_lib:inet_port(Server), -    ExpectedResult -        = ssl_test_lib:start_client([{node, ClientNode}, {port, Port}, -               {host, Hostname}, -               {from, self()}, -               {mfa, {?MODULE, placeholder, []}}, -               {options, ClientOpts}]). +    Client = ssl_test_lib:start_client_error([{node, ClientNode}, {port, Port}, +                                           {host, Hostname}, +                                           {from, self()}, +                                           {mfa, {?MODULE, placeholder, []}}, +                                           {options, ClientOpts}]), +    ssl_test_lib:check_result(Server, ExpectedResult, +                              Client, ExpectedResult).  run_handshake(Config, ClientExtraOpts, ServerExtraOpts, ExpectedProtocol) ->      Data = "hello world", diff --git a/lib/ssl/test/ssl_basic_SUITE.erl b/lib/ssl/test/ssl_basic_SUITE.erl index 1970c16f1d..a0cc9f5c08 100644 --- a/lib/ssl/test/ssl_basic_SUITE.erl +++ b/lib/ssl/test/ssl_basic_SUITE.erl @@ -1183,16 +1183,16 @@ fallback(Config) when is_list(Config) ->      Port = ssl_test_lib:inet_port(Server), -    Client = -	ssl_test_lib:start_client_error([{node, ClientNode},  -					 {port, Port}, {host, Hostname}, -					 {from, self()},  {options,  -							   [{fallback, true},  -							    {versions, ['tlsv1']}  -							    | ClientOpts]}]), +    Client =  +        ssl_test_lib:start_client_error([{node, ClientNode}, +                                         {port, Port}, {host, Hostname}, +                                         {from, self()},  {options, +                                                           [{fallback, true}, +                                                            {versions, ['tlsv1']} +                                                            | ClientOpts]}]), -    ssl_test_lib:check_result(Server, {error,{tls_alert,"inappropriate fallback"}},  -			      Client, {error,{tls_alert,"inappropriate fallback"}}). +    ssl_test_lib:check_result(Server, {error,{tls_alert,"inappropriate fallback"}}, +                              Client, {error,{tls_alert,"inappropriate fallback"}}).  %%--------------------------------------------------------------------  cipher_format() -> @@ -2645,14 +2645,14 @@ default_reject_anonymous(Config) when is_list(Config) ->  					      {options, ServerOpts}]),      Port = ssl_test_lib:inet_port(Server),      Client = ssl_test_lib:start_client_error([{node, ClientNode}, {port, Port}, -					{host, Hostname}, -			   {from, self()}, -			   {options, -			    [{ciphers,[CipherSuite]} | -			     ClientOpts]}]), +                                              {host, Hostname}, +                                              {from, self()}, +                                              {options, +                                               [{ciphers,[CipherSuite]} | +                                                ClientOpts]}]),      ssl_test_lib:check_result(Server, {error, {tls_alert, "insufficient security"}}, -			      Client, {error, {tls_alert, "insufficient security"}}). +                              Client, {error, {tls_alert, "insufficient security"}}).  %%--------------------------------------------------------------------  ciphers_ecdsa_signed_certs() -> @@ -3605,14 +3605,14 @@ no_common_signature_algs(Config) when is_list(Config) ->  							 | ServerOpts]}]),      Port = ssl_test_lib:inet_port(Server),      Client = ssl_test_lib:start_client_error([{node, ClientNode}, {port, Port}, -					      {host, Hostname}, -					      {from, self()},  -					      {options, [{signature_algs, [{sha384, rsa}]} -							 | ClientOpts]}]), +                                              {host, Hostname}, +                                              {from, self()}, +                                              {options, [{signature_algs, [{sha384, rsa}]} +                                                         | ClientOpts]}]),      ssl_test_lib:check_result(Server, {error, {tls_alert, "insufficient security"}}, -			      Client, {error, {tls_alert, "insufficient security"}}). -    						 +                              Client, {error, {tls_alert, "insufficient security"}}). +  %%--------------------------------------------------------------------  tls_dont_crash_on_handshake_garbage() -> diff --git a/lib/ssl/test/ssl_certificate_verify_SUITE.erl b/lib/ssl/test/ssl_certificate_verify_SUITE.erl index f677bf8a6e..bddcc2514d 100644 --- a/lib/ssl/test/ssl_certificate_verify_SUITE.erl +++ b/lib/ssl/test/ssl_certificate_verify_SUITE.erl @@ -620,8 +620,8 @@ cert_expired(Config) when is_list(Config) ->  					      {from, self()},  					      {options, [{verify, verify_peer}, {active, Active}  | ClientOpts]}]),     -    tcp_delivery_workaround(Server, {error, {tls_alert, "certificate expired"}}, -			    Client, {error, {tls_alert, "certificate expired"}}). +    ssl_test_lib:check_result(Server, {error, {tls_alert, "certificate expired"}}, +                              Client, {error, {tls_alert, "certificate expired"}}).  two_digits_str(N) when N < 10 ->      lists:flatten(io_lib:format("0~p", [N])); @@ -729,8 +729,8 @@ critical_extension_verify_server(Config) when is_list(Config) ->      %% This certificate has a critical extension that we don't      %% understand.  Therefore, verification should fail.       -    tcp_delivery_workaround(Server, {error, {tls_alert, "unsupported certificate"}}, -			    Client, {error, {tls_alert, "unsupported certificate"}}), +    ssl_test_lib:check_result(Server, {error, {tls_alert, "unsupported certificate"}}, +                              Client, {error, {tls_alert, "unsupported certificate"}}),      ssl_test_lib:close(Server).  %%-------------------------------------------------------------------- @@ -909,8 +909,8 @@ invalid_signature_server(Config) when is_list(Config) ->  					      {from, self()},  					      {options, [{verify, verify_peer} | ClientOpts]}]), -    tcp_delivery_workaround(Server, {error, {tls_alert, "unknown ca"}}, -			    Client, {error, {tls_alert, "unknown ca"}}). +    ssl_test_lib:check_result(Server, {error, {tls_alert, "unknown ca"}}, +                              Client, {error, {tls_alert, "unknown ca"}}).  %%-------------------------------------------------------------------- @@ -946,8 +946,8 @@ invalid_signature_client(Config) when is_list(Config) ->  					      {from, self()},  					      {options, NewClientOpts}]), -    tcp_delivery_workaround(Server, {error, {tls_alert, "unknown ca"}}, -			    Client, {error, {tls_alert, "unknown ca"}}). +    ssl_test_lib:check_result(Server, {error, {tls_alert, "unknown ca"}}, +                              Client, {error, {tls_alert, "unknown ca"}}).  %%-------------------------------------------------------------------- @@ -1236,41 +1236,3 @@ incomplete_chain(Config) when is_list(Config) ->  %% Internal functions ------------------------------------------------  %%-------------------------------------------------------------------- -tcp_delivery_workaround(Server, ServerMsg, Client, ClientMsg) -> -    receive -	{Server, ServerMsg} -> -	    client_msg(Client, ClientMsg); -	{Client, ClientMsg} -> -	    server_msg(Server, ServerMsg); -	{Client, {error,closed}} -> -	    server_msg(Server, ServerMsg); -	{Server, {error,closed}} -> -	    client_msg(Client, ClientMsg) -    end. - -client_msg(Client, ClientMsg) -> -    receive -	{Client, ClientMsg} -> -	    ok; -	{Client, {error,closed}} -> -	    ct:log("client got close"), -	    ok; -	{Client, {error, Reason}} -> -	    ct:log("client got econnaborted: ~p", [Reason]), -	    ok; -	Unexpected -> -	    ct:fail(Unexpected) -    end. -server_msg(Server, ServerMsg) -> -    receive -	{Server, ServerMsg} -> -	    ok; -	{Server, {error,closed}} -> -	    ct:log("server got close"), -	    ok; -	{Server, {error, Reason}} -> -	    ct:log("server got econnaborted: ~p", [Reason]), -	    ok; -	Unexpected -> -	    ct:fail(Unexpected) -    end. diff --git a/lib/ssl/test/ssl_test_lib.erl b/lib/ssl/test/ssl_test_lib.erl index f3235f5614..39a5bcaad6 100644 --- a/lib/ssl/test/ssl_test_lib.erl +++ b/lib/ssl/test/ssl_test_lib.erl @@ -1003,7 +1003,6 @@ ecc_test_error(COpts, SOpts, CECCOpts, SECCOpts, Config) ->      Error = {error, {tls_alert, "insufficient security"}},      check_result(Server, Error, Client, Error). -  start_client(openssl, Port, ClientOpts, Config) ->      Cert = proplists:get_value(certfile, ClientOpts),      Key = proplists:get_value(keyfile, ClientOpts), @@ -2061,3 +2060,40 @@ hardcode_dsa_key(3) ->         y =  48598545580251057979126570873881530215432219542526130654707948736559463436274835406081281466091739849794036308281564299754438126857606949027748889019480936572605967021944405048011118039171039273602705998112739400664375208228641666852589396502386172780433510070337359132965412405544709871654840859752776060358,         x = 1457508827177594730669011716588605181448418352823}. +tcp_delivery_workaround(Server, ServerMsg, Client, ClientMsg) -> +    receive +	{Server, ServerMsg} -> +	    client_msg(Client, ClientMsg); +	{Client, ClientMsg} -> +	    server_msg(Server, ServerMsg); +	{Client, {error,closed}} -> +	    server_msg(Server, ServerMsg); +	{Server, {error,closed}} -> +	    client_msg(Client, ClientMsg) +    end. +client_msg(Client, ClientMsg) -> +    receive +	{Client, ClientMsg} -> +	    ok; +	{Client, {error,closed}} -> +	    ct:log("client got close"), +	    ok; +	{Client, {error, Reason}} -> +	    ct:log("client got econnaborted: ~p", [Reason]), +	    ok; +	Unexpected -> +	    ct:fail(Unexpected) +    end. +server_msg(Server, ServerMsg) -> +    receive +	{Server, ServerMsg} -> +	    ok; +	{Server, {error,closed}} -> +	    ct:log("server got close"), +	    ok; +	{Server, {error, Reason}} -> +	    ct:log("server got econnaborted: ~p", [Reason]), +	    ok; +	Unexpected -> +	    ct:fail(Unexpected) +    end. | 
