Fix Proxy where a timeout occurs waiting for both client and server

Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/4305)
This commit is contained in:
Matt Caswell 2017-08-31 09:39:26 +01:00
parent 6e5a853bda
commit 4130016623

View File

@ -297,8 +297,11 @@ sub clientstart
while( (!(TLSProxy::Message->end)
|| (defined $self->sessionfile()
&& (-s $self->sessionfile()) == 0))
&& $ctr < 10
&& (@ready = $sel->can_read(1))) {
&& $ctr < 10) {
if (!(@ready = $sel->can_read(1))) {
$ctr++;
next;
}
foreach my $hand (@ready) {
if ($hand == $server_sock) {
$server_sock->sysread($indata, 16384) or goto END;
@ -311,7 +314,7 @@ sub clientstart
$server_sock->syswrite($indata);
$ctr = 0;
} else {
$ctr++
die "Unexpected handle";
}
}
}