Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix deletion of User when system link are used in him user folder #38429

Merged
merged 1 commit into from
May 25, 2023

Conversation

tanganellilore
Copy link
Contributor

@tanganellilore tanganellilore commented May 24, 2023

Signed-off-by: Lorenzo Tanganelli [email protected]

  • Resolves: #

Summary

In a localstorage with localstorage.allowsymlinks enabled, if we add a symlink in a folder under <user_id> data and then we try to delete this <user_id>, we receive a delete error and user is not deleted completly because these folder are recognized as a dir and not symlink.

This beacase in the lib/private/Files/Storage/Local.php at line 140 it's used the function isDir() that , as per php documentation, ->isDir() return TRUE for symlinks of directories. Better use getType() method instead, which returns 'link' for symlinks.`

To easy fix it, without rewrite function with getType(), we can simply invert elseif in that function, checking dir after the check of isFile or isLink.

In that way we check if is file or link before and unlink it.

TODO

N/A

Checklist

@solracsf solracsf added the 3. to review Waiting for reviews label May 24, 2023
@solracsf solracsf added this to the Nextcloud 27 milestone May 24, 2023
Copy link
Member

@solracsf solracsf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense 👍

@solracsf solracsf modified the milestones: Nextcloud 27, Nextcloud 28 May 24, 2023
@solracsf
Copy link
Member

/backport to stable27

@solracsf
Copy link
Member

/backport to stable26

@solracsf
Copy link
Member

/backport to stable25

@szaimen szaimen requested review from a team, ArtificialOwl, icewind1991 and nfebe and removed request for a team May 24, 2023 07:14
Copy link
Contributor

@nfebe nfebe left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good , thanks! Is there an issue for this? If so, please link it!

@tanganellilore
Copy link
Contributor Author

I haven't open it, just put a PR. Lett me know if issue is required.

@szaimen szaimen merged commit f29aa29 into nextcloud:master May 25, 2023
@backportbot-nextcloud
Copy link

The backport to stable27 failed. Please do this backport manually.

# Switch to the target branch and update it
git checkout stable27
git pull origin/stable27

# Create the new backport branch
git checkout -b fix/foo-stable27

# Cherry pick the change from the commit sha1 of the change against the default branch
# This might cause conflicts. Resolve them.
git cherry-pick abc123

# Push the cherry pick commit to the remote repository and open a pull request
git push origin fix/foo-stable27

More info at https://docs.nextcloud.com/server/latest/developer_manual/getting_started/development_process.html#manual-backport

@backportbot-nextcloud
Copy link

The backport to stable26 failed. Please do this backport manually.

# Switch to the target branch and update it
git checkout stable26
git pull origin/stable26

# Create the new backport branch
git checkout -b fix/foo-stable26

# Cherry pick the change from the commit sha1 of the change against the default branch
# This might cause conflicts. Resolve them.
git cherry-pick abc123

# Push the cherry pick commit to the remote repository and open a pull request
git push origin fix/foo-stable26

More info at https://docs.nextcloud.com/server/latest/developer_manual/getting_started/development_process.html#manual-backport

@backportbot-nextcloud
Copy link

The backport to stable25 failed. Please do this backport manually.

# Switch to the target branch and update it
git checkout stable25
git pull origin/stable25

# Create the new backport branch
git checkout -b fix/foo-stable25

# Cherry pick the change from the commit sha1 of the change against the default branch
# This might cause conflicts. Resolve them.
git cherry-pick abc123

# Push the cherry pick commit to the remote repository and open a pull request
git push origin fix/foo-stable25

More info at https://docs.nextcloud.com/server/latest/developer_manual/getting_started/development_process.html#manual-backport

@tanganellilore tanganellilore deleted the fix_delete_user_syslink branch June 19, 2023 12:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants