mirror of
https://github.com/nextcloud/server.git
synced 2026-04-20 22:00:39 -04:00
fix(dav): use quota of destination in s3 chunk upload
Resolves: #39228. Check the free space on the destination. Before it was checking the free space on `$storage` which is the upload storage of the user who triggered the upload. This led to user quota being applied even when uploading to a share with unlimited space. Signed-off-by: Max <max@nextcloud.com>
This commit is contained in:
parent
6ec35e3799
commit
2124fb9ff2
1 changed files with 2 additions and 2 deletions
|
|
@ -168,7 +168,7 @@ class ChunkingV2Plugin extends ServerPlugin {
|
|||
[$destinationDir, $destinationName] = Uri\split($this->uploadPath);
|
||||
/** @var Directory $destinationParent */
|
||||
$destinationParent = $this->server->tree->getNodeForPath($destinationDir);
|
||||
$free = $storage->free_space($destinationParent->getInternalPath());
|
||||
$free = $destinationParent->getNode()->getFreeSpace();
|
||||
$newSize = $tempTargetFile->getSize() + $additionalSize;
|
||||
if ($free >= 0 && ($tempTargetFile->getSize() > $free || $newSize > $free)) {
|
||||
throw new InsufficientStorage("Insufficient space in $this->uploadPath");
|
||||
|
|
@ -225,7 +225,7 @@ class ChunkingV2Plugin extends ServerPlugin {
|
|||
foreach ($parts as $part) {
|
||||
$size += $part['Size'];
|
||||
}
|
||||
$free = $storage->free_space($destinationParent->getInternalPath());
|
||||
$free = $destinationParent->getNode()->getFreeSpace();
|
||||
if ($free >= 0 && ($size > $free)) {
|
||||
throw new InsufficientStorage("Insufficient space in $this->uploadPath");
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue