diff --git a/.travis.yml b/.travis.yml index 293619f2..1f19d644 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,6 +20,7 @@ before_install: true matrix: allow_failures: - php: nightly + - 7.4snapshot install: - wget http://ftp.gnu.org/gnu/parallel/parallel-20170822.tar.bz2 diff --git a/phpseclib/Net/SSH2.php b/phpseclib/Net/SSH2.php index b6e88de4..97f7d333 100644 --- a/phpseclib/Net/SSH2.php +++ b/phpseclib/Net/SSH2.php @@ -3590,7 +3590,9 @@ class SSH2 // on windows this returns a "Warning: Invalid CRT parameters detected" error if (!@stream_select($read, $write, $except, $sec, $usec) && !count($read)) { $this->is_timeout = true; - $this->close_channel($client_channel); + if ($client_channel == self::CHANNEL_EXEC && !$this->request_pty) { + $this->close_channel($client_channel); + } return true; } $elapsed = microtime(true) - $start; @@ -3623,7 +3625,7 @@ class SSH2 switch ($type) { case NET_SSH2_MSG_CHANNEL_EXTENDED_DATA: /* - if ($client_channel == NET_SSH2_CHANNEL_EXEC) { + if ($client_channel == self::CHANNEL_EXEC) { $this->send_channel_packet($client_channel, chr(0)); } */