From bcbcc9e277356710fa78382c07497e598d6d9525 Mon Sep 17 00:00:00 2001 From: Dan Gudmundsson Date: Tue, 18 Feb 2025 13:03:04 +0100 Subject: [PATCH 1/4] Fix some socket issues --- lib/ssl/test/ssl_api_SUITE.erl | 24 ++++++++++++++---------- lib/ssl/test/tls_api_SUITE.erl | 4 ++++ 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/lib/ssl/test/ssl_api_SUITE.erl b/lib/ssl/test/ssl_api_SUITE.erl index 174d93e242f..73d86e26f4d 100644 --- a/lib/ssl/test/ssl_api_SUITE.erl +++ b/lib/ssl/test/ssl_api_SUITE.erl @@ -1474,19 +1474,23 @@ listen_socket(Config) -> {ok, _} = ssl:sockname(ListenSocket), - {error, _enotconn} = ssl:send(ListenSocket, <<"data">>), - {error, enotconn} = ssl:recv(ListenSocket, 0), - {error, enotconn} = ssl:connection_information(ListenSocket), - {error, enotconn} = ssl:peername(ListenSocket), - {error, enotconn} = ssl:peercert(ListenSocket), - {error, enotconn} = ssl:renegotiate(ListenSocket), - {error, enotconn} = ssl:export_key_materials(ListenSocket, [<<"Label">>], [<<"Context">>], 256), + Check = fun({error, enotconn}) -> ok; + ({error, #{info => enotconn}}) -> ok %% socket error msgs + end, + + Check(ssl:send(ListenSocket, <<"data">>)), + Check(ssl:recv(ListenSocket, 0)), + Check(ssl:connection_information(ListenSocket)), + Check(ssl:peername(ListenSocket)), + Check(ssl:peercert(ListenSocket)), + Check(ssl:renegotiate(ListenSocket)), + Check(ssl:export_key_materials(ListenSocket, [<<"Label">>], [<<"Context">>], 256)), %% Legacy test - {error, enotconn} = ssl:prf(ListenSocket, master_secret, - <<"Label">>, [client_random, server_random], 256), + Check(ssl:prf(ListenSocket, master_secret, + <<"Label">>, [client_random, server_random], 256)), case Protocol of tls -> - {error, enotconn} = ssl:shutdown(ListenSocket, read_write); + Check(ssl:shutdown(ListenSocket, read_write)); dtls -> {error, notsup} = ssl:shutdown(ListenSocket, read_write) end, diff --git a/lib/ssl/test/tls_api_SUITE.erl b/lib/ssl/test/tls_api_SUITE.erl index d21968c5dc7..255ed6b5d41 100644 --- a/lib/ssl/test/tls_api_SUITE.erl +++ b/lib/ssl/test/tls_api_SUITE.erl @@ -1460,6 +1460,10 @@ tls_downgrade_result(Socket, Pid) -> ok = socket:send(TCPSocket, <<"Downgraded">>), {ok, <<"Downgraded">>} = socket:recv(TCPSocket, length("Downgraded")), ok; + {ok, {'$socket', _} = TCPSocket, Bin} -> + ok = socket:send(TCPSocket, <<"Downgraded">>), + <<"Downgraded">> = Bin, + ok; {ok, TCPSocket} -> inet:setopts(TCPSocket, [{active, true}]), gen_tcp:send(TCPSocket, "Downgraded"), From a6b91f785732811e9dc0b542431c09091f7239e5 Mon Sep 17 00:00:00 2001 From: Dan Gudmundsson Date: Tue, 18 Feb 2025 15:02:57 +0100 Subject: [PATCH 2/4] Reduce the bufers --- lib/ssl/test/ssl_test_lib.erl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/ssl/test/ssl_test_lib.erl b/lib/ssl/test/ssl_test_lib.erl index 8900612a2a5..6711ea32026 100644 --- a/lib/ssl/test/ssl_test_lib.erl +++ b/lib/ssl/test/ssl_test_lib.erl @@ -4301,7 +4301,8 @@ assert_mfl(Socket, MFL) -> ?CT_LOG("Connection MFL ~p, Expecting: ~p ~n", [InfoMFL, MFL]), {ok, [{max_fragment_length, ConnMFL}]} = InfoMFL, ConnMFL = MFL. --define(BIG_BUF, 10000000). + +-define(BIG_BUF, 64_000). %% Workaround data delivery issues on solaris | openbsd when kernel buffers are small bigger_buffers() -> case os:type() of From 5314810dc787f0f8c3102100770a9e06a18bcd4f Mon Sep 17 00:00:00 2001 From: Dan Gudmundsson Date: Tue, 18 Feb 2025 15:10:07 +0100 Subject: [PATCH 3/4] fixup! Fix some socket issues --- lib/ssl/test/ssl_api_SUITE.erl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ssl/test/ssl_api_SUITE.erl b/lib/ssl/test/ssl_api_SUITE.erl index 73d86e26f4d..f0acb70fe1b 100644 --- a/lib/ssl/test/ssl_api_SUITE.erl +++ b/lib/ssl/test/ssl_api_SUITE.erl @@ -1475,7 +1475,7 @@ listen_socket(Config) -> {ok, _} = ssl:sockname(ListenSocket), Check = fun({error, enotconn}) -> ok; - ({error, #{info => enotconn}}) -> ok %% socket error msgs + ({error, #{info := enotconn}}) -> ok %% socket error msgs end, Check(ssl:send(ListenSocket, <<"data">>)), From d5e750141f3343cd7c63541a6ea1b37b5f8168dc Mon Sep 17 00:00:00 2001 From: Dan Gudmundsson Date: Wed, 19 Feb 2025 16:13:48 +0100 Subject: [PATCH 4/4] fixup! Fix some socket issues --- lib/ssl/test/ssl_api_SUITE.erl | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/ssl/test/ssl_api_SUITE.erl b/lib/ssl/test/ssl_api_SUITE.erl index f0acb70fe1b..d5b19f53cab 100644 --- a/lib/ssl/test/ssl_api_SUITE.erl +++ b/lib/ssl/test/ssl_api_SUITE.erl @@ -1475,6 +1475,7 @@ listen_socket(Config) -> {ok, _} = ssl:sockname(ListenSocket), Check = fun({error, enotconn}) -> ok; + ({error, epipe}) -> ok; ({error, #{info := enotconn}}) -> ok %% socket error msgs end,