Merge pull request #1345 from nextcloud/small-encryption-improvement-stable10
[stable10] skip shared files, if files get decrypted only for a specific user
This commit is contained in:
commit
c40e598d55
|
@ -210,6 +210,10 @@ class DecryptAll {
|
|||
while ($root = array_pop($directories)) {
|
||||
$content = $this->rootView->getDirectoryContent($root);
|
||||
foreach ($content as $file) {
|
||||
// only decrypt files owned by the user
|
||||
if($file->getStorage()->instanceOfStorage('OC\Files\Storage\Shared')) {
|
||||
continue;
|
||||
}
|
||||
$path = $root . '/' . $file['name'];
|
||||
if ($this->rootView->is_dir($path)) {
|
||||
$directories[] = $path;
|
||||
|
|
|
@ -251,18 +251,29 @@ class DecryptAllTest extends TestCase {
|
|||
->setMethods(['decryptFile'])
|
||||
->getMock();
|
||||
|
||||
$storage = $this->getMockBuilder('OCP\Files\Storage')
|
||||
->disableOriginalConstructor()->getMock();
|
||||
|
||||
|
||||
$sharedStorage = $this->getMockBuilder('OCP\Files\Storage')
|
||||
->disableOriginalConstructor()->getMock();
|
||||
|
||||
$sharedStorage->expects($this->once())->method('instanceOfStorage')
|
||||
->with('OC\Files\Storage\Shared')->willReturn(true);
|
||||
|
||||
$this->view->expects($this->at(0))->method('getDirectoryContent')
|
||||
->with('/user1/files')->willReturn(
|
||||
[
|
||||
new FileInfo('path', null, 'intPath', ['name' => 'foo', 'type'=>'dir'], null),
|
||||
new FileInfo('path', null, 'intPath', ['name' => 'bar', 'type'=>'file', 'encrypted'=>true], null)
|
||||
new FileInfo('path', $storage, 'intPath', ['name' => 'foo', 'type'=>'dir'], null),
|
||||
new FileInfo('path', $storage, 'intPath', ['name' => 'bar', 'type'=>'file', 'encrypted'=>true], null),
|
||||
new FileInfo('path', $sharedStorage, 'intPath', ['name' => 'shared', 'type'=>'file', 'encrypted'=>true], null),
|
||||
]
|
||||
);
|
||||
|
||||
$this->view->expects($this->at(3))->method('getDirectoryContent')
|
||||
->with('/user1/files/foo')->willReturn(
|
||||
[
|
||||
new FileInfo('path', null, 'intPath', ['name' => 'subfile', 'type'=>'file', 'encrypted'=>true], null)
|
||||
new FileInfo('path', $storage, 'intPath', ['name' => 'subfile', 'type'=>'file', 'encrypted'=>true], null)
|
||||
]
|
||||
);
|
||||
|
||||
|
|
Loading…
Reference in New Issue