# SSL connect to server
my $retry = 10;
my $server = undef;
while ($retry > 0) {
$server = IO::Socket::SSL->new(
PeerAddr => $host,
PeerPort => "https",
);
if ($server && $server->connected()) {
print "proxy $$ connected to server\n";
last;
} else {
$retry--;
warn "proxy $$ connect to server failed: $!,".IO::Socket::SSL::errstr();
warn "proxy $$ ".($retry ? 'will retry' : 'giving up')."\n";
}
}
####
proxy 4730 connect to server failed: Interrupted system call,SSL wants a read first at ./proxy line 110.
proxy 4730 will retry
proxy 4730 connected to server
####
# uname -a
Linux redacted 4.6.0-kali1-amd64 #1 SMP Debian 4.6.4-1kali1 (2016-07-21) x86_64 GNU/Linux
This is perl 5, version 22, subversion 2 (v5.22.2) built for x86_64-linux-gnu-thread-multi
IO::Socket::SSL 2.037
Net::SSLeay 1.77
####
DEBUG: .../IO/Socket/SSL.pm:753: done Net::SSLeay::connect -> -1
DEBUG: .../IO/Socket/SSL.pm:763: ssl handshake in progress
DEBUG: ...5.22/IO/Socket.pm:48: ignoring less severe local error 'IO::Socket::IP configuration failed', keep 'SSL wants a read first'
DEBUG: .../IO/Socket/SSL.pm:2777: free ctx 44390832 open=44390832 44011664 43990720
DEBUG: .../IO/Socket/SSL.pm:2782: free ctx 44390832 callback
DEBUG: .../IO/Socket/SSL.pm:2789: OK free ctx 44390832
proxy 4824 connect to server failed: Interrupted system call,SSL wants a read first at ./proxy line 110.