mirror of
https://github.com/danog/phpseclib.git
synced 2024-12-04 02:28:06 +01:00
SFTP: don't buffer up download requests (PuTTY doesn't)
This commit is contained in:
parent
1dc39be3dd
commit
333e2e4c2b
@ -1701,13 +1701,6 @@ class Net_SFTP extends Net_SSH2
|
|||||||
}
|
}
|
||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
|
|
||||||
if ($i >= NET_SFTP_QUEUE_SIZE) {
|
|
||||||
if (!$this->_read_put_responses($i)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
$i = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1717,11 +1710,8 @@ class Net_SFTP extends Net_SSH2
|
|||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
|
|
||||||
if ($i >= NET_SFTP_QUEUE_SIZE) {
|
if (!$this->_read_put_responses($i)) {
|
||||||
if (!$this->_read_put_responses($i)) {
|
return false;
|
||||||
return false;
|
|
||||||
}
|
|
||||||
$i = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@ -2091,7 +2081,7 @@ class Net_SFTP extends Net_SSH2
|
|||||||
|
|
||||||
$subtemp = $offset + $sent;
|
$subtemp = $offset + $sent;
|
||||||
$packet = pack('Na*N3a*', strlen($handle), $handle, $subtemp / 4294967296, $subtemp, strlen($temp), $temp);
|
$packet = pack('Na*N3a*', strlen($handle), $handle, $subtemp / 4294967296, $subtemp, strlen($temp), $temp);
|
||||||
if (!$this->_send_sftp_packet(NET_SFTP_WRITE, $packet)) {
|
if (!$this->_send_sftp_packet(NET_SFTP_WRITE, $packet, $i)) {
|
||||||
if ($mode & NET_SFTP_LOCAL_FILE) {
|
if ($mode & NET_SFTP_LOCAL_FILE) {
|
||||||
fclose($fp);
|
fclose($fp);
|
||||||
}
|
}
|
||||||
@ -2103,14 +2093,6 @@ class Net_SFTP extends Net_SSH2
|
|||||||
}
|
}
|
||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
|
|
||||||
if ($i == NET_SFTP_QUEUE_SIZE) {
|
|
||||||
if (!$this->_read_put_responses($i)) {
|
|
||||||
$i = 0;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
$i = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!$this->_read_put_responses($i)) {
|
if (!$this->_read_put_responses($i)) {
|
||||||
@ -2398,10 +2380,8 @@ class Net_SFTP extends Net_SSH2
|
|||||||
if (!$recursive) {
|
if (!$recursive) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
$i = 0;
|
|
||||||
$result = $this->_delete_recursive($path, $i);
|
return $this->_delete_recursive($path);
|
||||||
$this->_read_put_responses($i);
|
|
||||||
return $result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->_remove_from_stat_cache($path);
|
$this->_remove_from_stat_cache($path);
|
||||||
@ -2419,11 +2399,8 @@ class Net_SFTP extends Net_SSH2
|
|||||||
* @return bool
|
* @return bool
|
||||||
* @access private
|
* @access private
|
||||||
*/
|
*/
|
||||||
function _delete_recursive($path, &$i)
|
function _delete_recursive($path)
|
||||||
{
|
{
|
||||||
if (!$this->_read_put_responses($i)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
$i = 0;
|
$i = 0;
|
||||||
$entries = $this->_list($path, true);
|
$entries = $this->_list($path, true);
|
||||||
|
|
||||||
@ -2451,13 +2428,6 @@ class Net_SFTP extends Net_SSH2
|
|||||||
$this->_remove_from_stat_cache($temp);
|
$this->_remove_from_stat_cache($temp);
|
||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
|
|
||||||
if ($i >= NET_SFTP_QUEUE_SIZE) {
|
|
||||||
if (!$this->_read_put_responses($i)) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
$i = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2468,11 +2438,8 @@ class Net_SFTP extends Net_SSH2
|
|||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
|
|
||||||
if ($i >= NET_SFTP_QUEUE_SIZE) {
|
if (!$this->_read_put_responses($i)) {
|
||||||
if (!$this->_read_put_responses($i)) {
|
return false;
|
||||||
return false;
|
|
||||||
}
|
|
||||||
$i = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
Loading…
Reference in New Issue
Block a user