mirror of
https://github.com/phpseclib/phpseclib.git
synced 2025-01-26 08:38:29 +00:00
SFTP: fix issue with get() downloading to files / streams
the code that's being removed has its origins in 65193d9a25baa59bc34479322a694f2cf1f16180. 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…
x
Reference in New Issue
Block a user