mirror of
https://github.com/phpseclib/phpseclib.git
synced 2024-12-27 03:42:40 +00:00
SSH2 / SFTP: fix issues with ping()
This commit is contained in:
parent
3ad44cb3d6
commit
fbf36728fd
@ -465,6 +465,7 @@ class Net_SFTP extends Net_SSH2
|
|||||||
function login($username)
|
function login($username)
|
||||||
{
|
{
|
||||||
$args = func_get_args();
|
$args = func_get_args();
|
||||||
|
$this->auth[] = $args;
|
||||||
if (!call_user_func_array(array(&$this, '_login'), $args)) {
|
if (!call_user_func_array(array(&$this, '_login'), $args)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -3032,6 +3033,20 @@ class Net_SFTP extends Net_SSH2
|
|||||||
return $result;
|
return $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resets a connection for re-use
|
||||||
|
*
|
||||||
|
* @param int $reason
|
||||||
|
* @access private
|
||||||
|
*/
|
||||||
|
function _reset_connection($reason)
|
||||||
|
{
|
||||||
|
parent::_reset_connection($reason);
|
||||||
|
$this->use_request_id = false;
|
||||||
|
$this->pwd = false;
|
||||||
|
$this->requestBuffer = array();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Receives SFTP Packets
|
* Receives SFTP Packets
|
||||||
*
|
*
|
||||||
|
@ -1238,7 +1238,6 @@ class Net_SSH2
|
|||||||
$elapsed = strtok(microtime(), ' ') + strtok('') - $start;
|
$elapsed = strtok(microtime(), ' ') + strtok('') - $start;
|
||||||
$this->curTimeout-= $elapsed;
|
$this->curTimeout-= $elapsed;
|
||||||
}
|
}
|
||||||
|
|
||||||
$temp.= fgets($this->fsock, 255);
|
$temp.= fgets($this->fsock, 255);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3243,6 +3242,9 @@ class Net_SSH2
|
|||||||
function ping()
|
function ping()
|
||||||
{
|
{
|
||||||
if (!$this->isAuthenticated()) {
|
if (!$this->isAuthenticated()) {
|
||||||
|
if (!empty($this->auth)) {
|
||||||
|
return $this->_reconnect();
|
||||||
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4152,11 +4154,13 @@ class Net_SSH2
|
|||||||
if ($this->bitmap & NET_SSH2_MASK_CONNECTED) {
|
if ($this->bitmap & NET_SSH2_MASK_CONNECTED) {
|
||||||
$data = pack('CNNa*Na*', NET_SSH2_MSG_DISCONNECT, $reason, 0, '', 0, '');
|
$data = pack('CNNa*Na*', NET_SSH2_MSG_DISCONNECT, $reason, 0, '', 0, '');
|
||||||
$this->_send_binary_packet($data);
|
$this->_send_binary_packet($data);
|
||||||
|
}
|
||||||
|
|
||||||
$this->bitmap = 0;
|
$this->bitmap = 0;
|
||||||
fclose($this->fsock);
|
fclose($this->fsock);
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* String Shift
|
* String Shift
|
||||||
|
Loading…
Reference in New Issue
Block a user