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

[stable-3.12] prevent event loop reentrance when handling ENCRYPT socket requests #6981

Merged
merged 1 commit into from
Aug 8, 2024

Conversation

mgallien
Copy link
Collaborator

@mgallien mgallien commented Aug 8, 2024

Backport of PR #6958

when receiving a shell integration socket command for ENCRYPT, a generic
interface and generic code paths was used

the assumption was that the listener socket would need (and remain)
valid while hanlding teh request

some code paths need to display error messages to the user via a
QMessageBox

the issue is that this will execute a Qt event loop that will handle the
socket disconnection while the socket variable from the caller seems it
will stay valid and alive

prevent that by not using a blocking method invocation such that life
time mishandling about the socket listener is not possible

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
@mgallien mgallien modified the milestones: 3.12.7, 3.12.8 Aug 8, 2024
@nextcloud-desktop-bot
Copy link

AppImage file: nextcloud-PR-6981-585c4d5eddfba6708e27446e4787b56d2fa7e743-x86_64.AppImage

To test this change/fix you can simply download above AppImage file and test it.

Please make sure to quit your existing Nextcloud app and backup your data.

Copy link

sonarcloud bot commented Aug 8, 2024

@mgallien mgallien merged commit 827f57c into stable-3.12 Aug 8, 2024
11 of 13 checks passed
@mgallien mgallien deleted the backport/6958/stable-3.12 branch August 8, 2024 13:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants