Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:23
erlang
4684-Increase-recvbuf-for-dtls-tests.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 4684-Increase-recvbuf-for-dtls-tests.patch of Package erlang
From c6852458af2c34174c39d9b776441bff56d23200 Mon Sep 17 00:00:00 2001 From: Dan Gudmundsson <dgud@erlang.org> Date: Wed, 16 Feb 2022 17:20:25 +0100 Subject: [PATCH 4/4] Increase recvbuf for dtls tests Some linux machines have small default buffers set and ssl can't even do the handshake if many small packets is used. --- lib/ssl/test/ssl_test_lib.erl | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/lib/ssl/test/ssl_test_lib.erl b/lib/ssl/test/ssl_test_lib.erl index ad9bac2f73..12e6c979e7 100644 --- a/lib/ssl/test/ssl_test_lib.erl +++ b/lib/ssl/test/ssl_test_lib.erl @@ -217,6 +217,7 @@ -define(SLEEP, 1000). -define(DEFAULT_CURVE, secp256r1). -define(PRINT_DEPTH, 100). +-define(DTLS_RECBUF, 32768). %%==================================================================== %% API @@ -946,7 +947,8 @@ run_client(Opts) -> Port = proplists:get_value(port, Opts), Pid = proplists:get_value(from, Opts), Transport = proplists:get_value(transport, Opts, ssl), - Options = proplists:get_value(options, Opts), + Options0 = proplists:get_value(options, Opts), + Options = patch_dtls_options(Options0), ContOpts = proplists:get_value(continue_options, Opts, []), ct:log("~p:~p~n~p:connect(~p, ~p)@~p~n", [?MODULE,?LINE, Transport, Host, Port, Node]), ct:log("SSLOpts:~n ~0.p", [format_options(Options)]), @@ -1295,6 +1297,16 @@ wait_for_result(Pid, Msg) -> %% Unexpected end. +patch_dtls_options(Options0) -> + case proplists:get_value(protocol, Options0) of + dtls -> + case proplists:get_value(recbuf, Options0, undefined) of + undefined -> [{recbuf, ?DTLS_RECBUF}|Options0]; + _ -> Options0 + end; + _ -> Options0 + end. + format_options([{cacerts, Certs}|R]) -> [{cacerts, format_certs(Certs)} | format_options(R)]; format_options([{cert, Certs}|R]) -> @@ -2665,11 +2677,10 @@ openssl_tls_version_support(Version, Config0) -> CertFile = proplists:get_value(certfile, ServerOpts), KeyFile = proplists:get_value(keyfile, ServerOpts), Exe = "openssl", + Opts0 = [{versions, [Version]}, {verify, verify_none}], {Proto, Opts} = case is_tls_version(Version) of - true -> - {tls, [{protocol,tls}, {versions, [Version]}]}; - false -> - {dtls, [{protocol,dtls}, {versions, [Version]}]} + true -> {tls, [{protocol,tls}|Opts0]}; + false -> {dtls, patch_dtls_options([{protocol, dtls}|Opts0])} end, Args0 = case Proto of tls -> @@ -2683,7 +2694,6 @@ openssl_tls_version_support(Version, Config0) -> end, Args = maybe_force_ipv4(Args0), OpensslPort = portable_open_port(Exe, Args), - try wait_for_openssl_server(Port, Proto) of ok -> case ssl:connect("localhost", Port, Opts, 5000) of @@ -3247,7 +3257,7 @@ enough_openssl_crl_support(_) -> true. wait_for_openssl_server(Port, tls) -> do_wait_for_openssl_tls_server(Port, 10); wait_for_openssl_server(_Port, dtls) -> - ct:sleep(?SLEEP), + ct:sleep(?SLEEP div 2), ok. %% No need to wait for DTLS over UDP server %% client will retransmitt until it is up. %% But wait a little for openssl debug printing -- 2.34.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor