Skip to content

fix: Fix permission issue when uploading a chunked file - #59654

Merged
ChristophWurst merged 3 commits into
masterfrom
carl/permission-upload
May 8, 2026
Merged

fix: Fix permission issue when uploading a chunked file#59654
ChristophWurst merged 3 commits into
masterfrom
carl/permission-upload

Conversation

@CarlSchwan

@CarlSchwan CarlSchwan commented Apr 15, 2026

Copy link
Copy Markdown
Member

Follow up from #59511

Summary

TODO

  • ...

Checklist

AI (if applicable)

  • The content of this PR was partly or fully generated using AI

@CarlSchwan
CarlSchwan requested a review from a team as a code owner April 15, 2026 15:22
@CarlSchwan
CarlSchwan requested review from Altahrim, icewind1991, leftybournes and nfebe and removed request for a team April 15, 2026 15:22
@CarlSchwan
CarlSchwan force-pushed the carl/permission-upload branch 3 times, most recently from 53e9c32 to f2ce921 Compare April 15, 2026 15:42
@CarlSchwan
CarlSchwan force-pushed the carl/permission-upload branch from f2ce921 to d10cf97 Compare April 15, 2026 15:48
@CarlSchwan

Copy link
Copy Markdown
Member Author

/backport to stable33

@CarlSchwan

Copy link
Copy Markdown
Member Author

/backport to stable32

Comment thread lib/private/Files/Storage/Wrapper/DirPermissionsMask.php Outdated
@CarlSchwan

Copy link
Copy Markdown
Member Author

Integrations test failures look related 😢

@DerDreschner

Copy link
Copy Markdown
Contributor

Integrations test failures look related 😢

Yeah, uploading a file that isn't being chunked fails as the renaming doesn't work.

PermissionsMask handles that case with this check on rename. I would suggest doing something similar here as well...?

Comment thread lib/private/Files/Storage/Wrapper/DirPermissionsMask.php Outdated
@DerDreschner
DerDreschner force-pushed the carl/permission-upload branch from 4cc6e96 to d6a0078 Compare May 7, 2026 09:53
@DerDreschner
DerDreschner enabled auto-merge May 7, 2026 09:53
@DerDreschner
DerDreschner force-pushed the carl/permission-upload branch from d6a0078 to d0309d0 Compare May 7, 2026 12:45
CarlSchwan and others added 3 commits May 8, 2026 11:47
Follow up from #59511

Signed-off-by: Carl Schwan <carlschwan@kde.org>
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
Co-authored-by: David Dreschner <david.dreschner@nextcloud.com>
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
Signed-off-by: Carl Schwan <carlschwan@kde.org>
@DerDreschner
DerDreschner force-pushed the carl/permission-upload branch from d0309d0 to 23447f1 Compare May 8, 2026 09:47
@DerDreschner

DerDreschner commented May 8, 2026

Copy link
Copy Markdown
Contributor

I've run the failed cypress tests on my local machine using this branch and they succeeded (files-renaming, favorite and files-external-failed).

@ChristophWurst
ChristophWurst disabled auto-merge May 8, 2026 12:20
@ChristophWurst
ChristophWurst merged commit 6e3914f into master May 8, 2026
271 of 301 checks passed
@ChristophWurst
ChristophWurst deleted the carl/permission-upload branch May 8, 2026 12:20
@ChristophWurst ChristophWurst added the 4. to release Ready to be released and/or waiting for tests to finish label May 8, 2026
This was referenced May 12, 2026
patrickdmrezende added a commit to avuz-conecta/avuz-server that referenced this pull request Aug 27, 2026
Point upgrade 33.0.0 -> 33.0.8. Brings the native fix for chunked upload
via public file-drop links on S3 primary storage (NotPermittedException on
the assembly MOVE): DirPermissionsMask masks only the users files/ home,
leaving uploads/ unmasked, and its rename() allows the assembly when source
is deletable. Upstream nextcloud/server nextcloud#59511 + nextcloud#59654, backported to
stable33 as nextcloud#59552 + nextcloud#60240 (shipped 33.0.4). Removes the need for an Avuz
overlay for this bug.

Conflict resolution:
- 3rdparty: pinned to v33.0.8 gitlink (Composer autoloader must match NC).
- dist/files-main.js(.map): took v33.0.8; the image rebuilds dist from
  source at build (Dockerfile npm ci + npm run build), so committed dist is
  a throwaway artifact.

Verified surviving: 3 core source patches (files hide-webdav, upload-leave
warning), spreed chunked-recording overlay sentinel, avuz_theme EMailTemplate
subclass (parent unchanged in 33.0.8), themes/avuz. No source-level conflicts
with any Avuz customization (upgrade-scan: 0 conflicts).
patrickdmrezende added a commit to avuz-conecta/avuz-server that referenced this pull request Aug 27, 2026
Nextcloud 33.0.0 -> 33.0.8 point upgrade. Brings the native fix for chunked
upload via public file-drop links on S3 (DirPermissionsMask; upstream
nextcloud#59511+nextcloud#59654, backported to stable33 in 33.0.4).

Validated before merge:
- upgrade-scan: 0 conflicts; 44/44 customizations survive.
- In-place migration rehearsed on a snapshot of prod eco-ambiental's real DB
  (341k filecache rows) via the entrypoint's disable->upgrade->reenable-force
  sequence: clean, needsDbUpgrade=false, 50 apps enabled.
- Fix proven end-to-end: >120MB file-drop assembles on Ceph S3.

deck submodule kept at 1.18.10 (1832a86); the upgrade branch never touched it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

4. to release Ready to be released and/or waiting for tests to finish

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Chunked upload via public share link fails with NotPermittedException on MOVE step (NC 33)

6 participants