SSH2: get_binary_packet() doesn't know about channel type

This commit is contained in:
terrafrost 2020-12-15 23:11:54 -06:00
parent 194e642448
commit f0501ff72b

View File

@ -3392,9 +3392,6 @@ class Net_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;
if ($client_channel == NET_SSH2_CHANNEL_EXEC && !$this->request_pty) {
$this->_close_channel($client_channel);
}
return true;
}
$elapsed = strtok(microtime(), ' ') + strtok('') - $start;
@ -3764,6 +3761,9 @@ class Net_SSH2
$this->binary_packet_buffer = false;
} else {
$response = $this->_get_binary_packet(true);
if ($response === true && $this->is_timeout && $client_channel == NET_SSH2_CHANNEL_EXEC && !$this->request_pty) {
$this->_close_channel($client_channel);
}
if ($response === false) {
$this->bitmap = 0;
user_error('Connection closed by server');