Skip to content

[stable33] fix(files_external): propagate child copy failures in AmazonS3::copy() - #65004

Merged
joshtrichards merged 2 commits into
stable33from
backport/63123/stable33
Oct 2, 2026
Merged

joshtrichards merged 2 commits into
stable33from
backport/63123/stable33

Conversation

@backportbot

@backportbot backportbot Bot commented Oct 1, 2026

Copy link
Copy Markdown

Backport of PR #63123

When copying a directory, copy() discarded the return values of its
recursive calls and always returned true. rename() relies on that value,
so a failed copy still led to rmdir() on the source: every file in the
directory was deleted, the destination stayed empty, and the UI reported
success.

This is reachable whenever a provider rejects CopyObject for objects it
otherwise serves — Hetzner Object Storage answers 501 NotImplemented for
SSE-C encrypted objects, which makes every single child copy fail.

Signed-off-by: Robert Niederreiter <rnix@squarewave.at>
@backportbot
backportbot Bot requested a review from a team as a code owner October 1, 2026 22:11
@backportbot
backportbot Bot requested review from CarlSchwan, icewind1991, leftybournes, provokateurin, salmart-dev and susnux and removed request for a team October 1, 2026 22:11
@backportbot backportbot Bot added this to the Nextcloud 33.0.10 milestone Oct 1, 2026
For the backport to the older internal API

Signed-off-by: Josh <josh.t.richards@gmail.com>
@joshtrichards
joshtrichards merged commit c39b761 into stable33 Oct 2, 2026
177 checks passed
@joshtrichards
joshtrichards deleted the backport/63123/stable33 branch October 2, 2026 17:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants