Skip to content

Commit 56b46a8

Browse files
authored
Merge pull request #19773 from nextcloud/backport/19764/stable18
[stable18] Do not allow transfer ownership when the user isn't the owner
2 parents d31c6d6 + 00dd295 commit 56b46a8

4 files changed

Lines changed: 12 additions & 4 deletions

File tree

apps/files/js/dist/personal-settings.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/files/js/dist/personal-settings.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apps/files/lib/Controller/TransferOwnershipController.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,10 @@ public function transfer(string $recipient, string $path): DataResponse {
9696
return new DataResponse([], Http::STATUS_BAD_REQUEST);
9797
}
9898

99+
if ($node->getOwner()->getUID() !== $this->userId) {
100+
return new DataResponse([], Http::STATUS_FORBIDDEN);
101+
}
102+
99103
$transferOwnership = new TransferOwnershipEntity();
100104
$transferOwnership->setSourceUser($this->userId);
101105
$transferOwnership->setTargetUser($recipient);

apps/files/src/components/TransferOwnershipDialogue.vue

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,11 @@ export default {
215215
.catch(error => {
216216
logger.error('Could not send ownership transfer request', { error })
217217
218-
this.submitError = error.message || t('files', 'Unknown error')
218+
if (error && error.response && error.response.status === 403) {
219+
this.submitError = t('files', 'Cannot transfter ownership of a file or folder you don\'t own')
220+
} else {
221+
this.submitError = error.message || t('files', 'Unknown error')
222+
}
219223
})
220224
},
221225
},

0 commit comments

Comments
 (0)