diff --git a/util/perl/TLSProxy/Proxy.pm b/util/perl/TLSProxy/Proxy.pm index 19b09a4744d5deaefb12bdcf8f68baa5867b105a..45d88bffaa97c91bc91ead6c2492a251571ec7e3 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