SSH2: don't use timeout value of 0 for fsockopen

This commit is contained in:
terrafrost 2016-11-20 11:08:53 -06:00
parent b70cb87641
commit 7cb66ea56e
1 changed files with 4 additions and 1 deletions

View File

@ -1040,7 +1040,10 @@ class Net_SSH2
if (!is_resource($this->fsock)) {
$start = strtok(microtime(), ' ') + strtok(''); // http://php.net/microtime#61838
$this->fsock = @fsockopen($this->host, $this->port, $errno, $errstr, $this->curTimeout);
// with stream_select a timeout of 0 means that no timeout takes place;
// with fsockopen a timeout of 0 means that you instantly timeout
// to resolve this incompatibility a timeout of 100,000 will be used for fsockopen if timeout is 0
$this->fsock = @fsockopen($this->host, $this->port, $errno, $errstr, $this->curTimeout == 0 ? 100000 : $this->curTimeout);
if (!$this->fsock) {
$host = $this->host . ':' . $this->port;
user_error(rtrim("Cannot connect to $host. Error $errno. $errstr"));