From: Richard Levitte Date: Tue, 16 Jan 2018 18:50:10 +0000 (+0100) Subject: TLSProxy::Proxy: If we don't support IPv6, force IPv4 X-Git-Tag: OpenSSL_1_1_0h~130 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=fa9dc509cccbe30b48ad7f4f2e23610a182a23c3;p=oweals%2Fopenssl.git TLSProxy::Proxy: If we don't support IPv6, force IPv4 We use the first we can of the following IO::Socket modules to create sockets: - IO::Socket::INET6 - IO::Socket::IP - IO::Socket::INET The last of them doesn't support IPv6, so if that's the one available, we must force the s_client and s_server processes to use IPv4. Reviewed-by: Bernd Edlinger (Merged from https://github.com/openssl/openssl/pull/5092) (cherry picked from commit c44bab084ed139b5e5c3f6b318bf1bf65e04cfa5) --- diff --git a/util/perl/TLSProxy/Proxy.pm b/util/perl/TLSProxy/Proxy.pm index 3848135af9..8dbc5d0809 100644 --- a/util/perl/TLSProxy/Proxy.pm +++ b/util/perl/TLSProxy/Proxy.pm @@ -156,6 +156,9 @@ sub start ." s_server -no_comp -rev -engine ossltest -accept " .($self->server_port) ." -cert ".$self->cert." -naccept ".$self->serverconnects; + unless ($self->supports_IPv6) { + $execcmd .= " -4"; + } if ($self->ciphers ne "") { $execcmd .= " -cipher ".$self->ciphers; } @@ -217,6 +220,9 @@ sub clientstart my $execcmd = "echo ".$echostr." | ".$self->execute ." s_client -engine ossltest -connect " .($self->proxy_addr).":".($self->proxy_port); + unless ($self->supports_IPv6) { + $execcmd .= " -4"; + } if ($self->cipherc ne "") { $execcmd .= " -cipher ".$self->cipherc; }