From: Andy Polyakov Date: Wed, 11 Apr 2018 12:56:37 +0000 (+0200) Subject: TLSProxy/Proxy.pm: handle "impossible" failure to connect to s_server. X-Git-Tag: OpenSSL_1_1_1-pre5~21 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=b4c1950d8914775db503d8ab931735325032a40d;p=oweals%2Fopenssl.git TLSProxy/Proxy.pm: handle "impossible" failure to connect to s_server. The failure is "impossible", because we have confirmation that s_server listens, yet Mac OS X fails to connect. This avoids 10 minutes timeout on Travis CI. Reviewed-by: Bernd Edlinger Reviewed-by: Rich Salz (Merged from https://github.com/openssl/openssl/pull/5907) --- diff --git a/util/perl/TLSProxy/Proxy.pm b/util/perl/TLSProxy/Proxy.pm index 19b09a4744..45d88bffaa 100644 --- a/util/perl/TLSProxy/Proxy.pm +++ b/util/perl/TLSProxy/Proxy.pm @@ -189,10 +189,16 @@ sub connect_to_server $servaddr =~ s/[\[\]]//g; # Remove [ and ] - $self->{server_sock} = $IP_factory->(PeerAddr => $servaddr, - PeerPort => $self->{server_port}, - Proto => 'tcp') - or die "unable to connect: $!\n"; + my $sock = $IP_factory->(PeerAddr => $servaddr, + PeerPort => $self->{server_port}, + Proto => 'tcp'); + if (!defined($sock)) { + my $err = $!; + kill(3, $self->{real_serverpid}); + die "unable to connect: $err\n"; + } + + $self->{server_sock} = $sock; } sub start