mirror of
https://github.com/phpseclib/phpseclib.git
synced 2024-11-17 18:55:13 +00:00
SFTP: fix issue with get() downloading to files / streams
the code that's being removed has its origins in 65193d9a25
. in that commit the packet length is set outside of the while loop. this would continue to be the case until https://github.com/phpseclib/phpseclib/pull/945.
This commit is contained in:
parent
0f23be3188
commit
320c43a4a0
@ -2748,14 +2748,6 @@ class Net_SFTP extends Net_SSH2
|
||||
}
|
||||
}
|
||||
|
||||
if ($length > 0 && $length <= $offset - $start) {
|
||||
if ($local_file === false) {
|
||||
$content = substr($content, 0, $length);
|
||||
} else {
|
||||
ftruncate($fp, $length + $res_offset);
|
||||
}
|
||||
}
|
||||
|
||||
if ($fclose_check) {
|
||||
fclose($fp);
|
||||
|
||||
|
@ -777,5 +777,18 @@ class Functional_Net_SFTPUserStoryTest extends PhpseclibFunctionalTestCase
|
||||
$stat2 = $sftp->stat(self::$scratchDir);
|
||||
$this->assertSame($stat['uid'], $stat2['uid']);
|
||||
$this->assertSame($stat['gid'], $stat2['gid']);
|
||||
|
||||
return $sftp;
|
||||
}
|
||||
|
||||
/**
|
||||
* @depends testChownChgrp
|
||||
* @group github1934
|
||||
*/
|
||||
public function testCallableGetWithLength($sftp)
|
||||
{
|
||||
$sftp->put('test.txt', 'zzzzz');
|
||||
$sftp->get('test.txt', function($data) {}, 0, 1);
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user