mirror of
https://github.com/phpseclib/phpseclib.git
synced 2025-01-26 08:38:29 +00:00
SFTP: fix chgrp() for version < 4
$uid and $gid were flipped with dbfc7622571
This commit is contained in:
parent
9b587a87c0
commit
888867e7b6
@ -1779,7 +1779,7 @@ class Net_SFTP extends Net_SSH2
|
||||
function chgrp($filename, $gid, $recursive = false)
|
||||
{
|
||||
$attr = $this->version < 4 ?
|
||||
pack('N3', NET_SFTP_ATTR_UIDGID, $gid, -1) :
|
||||
pack('N3', NET_SFTP_ATTR_UIDGID, -1, $gid) :
|
||||
pack('NNa*Na*', NET_SFTP_ATTR_OWNERGROUP, 0, '', strlen($gid), $gid);
|
||||
|
||||
return $this->_setstat($filename, $attr, $recursive);
|
||||
|
@ -754,5 +754,22 @@ class Functional_Net_SFTPUserStoryTest extends PhpseclibFunctionalTestCase
|
||||
$list_cache_disabled = $sftp->rawlist('.', true);
|
||||
|
||||
$this->assertEquals($list_cache_enabled, $list_cache_disabled, 'The files should be the same regardless of stat cache', 0.0, 10, true);
|
||||
|
||||
return $sftp;
|
||||
}
|
||||
|
||||
/**
|
||||
* @depends testRawlistDisabledStatCache
|
||||
*/
|
||||
public function testChownChgrp($sftp)
|
||||
{
|
||||
$stat = $sftp->stat(self::$scratchDir);
|
||||
$this->assertTrue($sftp->chown(self::$scratchDir, $stat['uid']));
|
||||
$this->assertTrue($sftp->chgrp(self::$scratchDir, $stat['gid']));
|
||||
|
||||
$sftp->clearStatCache();
|
||||
$stat2 = $sftp->stat(self::$scratchDir);
|
||||
$this->assertSame($stat['uid'], $stat2['uid']);
|
||||
$this->assertSame($stat['gid'], $stat2['gid']);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user