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

Issue with File Transfer with Emojis #9567

Closed
vzvva opened this issue Nov 9, 2024 · 5 comments · Fixed by QubesOS/qubes-core-agent-linux#534
Closed

Issue with File Transfer with Emojis #9567

vzvva opened this issue Nov 9, 2024 · 5 comments · Fixed by QubesOS/qubes-core-agent-linux#534
Labels
affects-4.2 This issue affects Qubes OS 4.2. C: core diagnosed Technical diagnosis has been performed (see issue comments). P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. pr submitted A pull request has been submitted for this issue.

Comments

@vzvva
Copy link

vzvva commented Nov 9, 2024

Hi,

In Fedora 39 with the Xfce desktop environment and Thunar file manager, I can't send files with emojis. When I use the "Copy to other Qube" and "Move to other Qube" buttons, I receive the following error:

qfile-agent: Fatal error: File copy: "Unknown error -84; Last file: Korn - Requiem (2022) Mp3 320kbps [PMEDIA] ______" (error type: Unknown error -84)

A screenshot of the filename is attached.
Korn - Requiem (2022) Mp3 320kbps [PMEDIA] ⭐️

When I use the following commands, I get the same error:

/usr/bin/qvm-copy
/usr/bin/qvm-move

This bug seems to be related to issue #9506.

Screenshot_2024-11-09_12-28-36

@vzvva vzvva added P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. T: bug labels Nov 9, 2024
@DemiMarie
Copy link

I think this is a duplicate of #9506 which is fixed in the testing repository.

@vzvva
Copy link
Author

vzvva commented Nov 9, 2024

I upgraded Fedora 39 to the testing repository using the following command:
sudo dnf update --enablerepo=qubes-vm-r4.2-current-testing
#9506 is fixed, but this new bug has appeared."

@DemiMarie
Copy link

Did you upgrade your destination qube?

@vzvva
Copy link
Author

vzvva commented Nov 9, 2024

I checked now, and both AppVMs are using the same template, which has been updated to the testing repository. Files with emojis are causing errors.

@vzvva
Copy link
Author

vzvva commented Nov 9, 2024

Sorry, one point: the folder has this issue.
You can reproduce it like this:

mkdir  "Korn - Requiem (2022) Mp3 320kbps [PMEDIA] ⭐️"
qvm-copy Korn\ -\ Requiem\ \(2022\)\ Mp3\ 320kbps\ \[PMEDIA\]\ ⭐️

qfile-agent: Fatal error: File copy: "Unknown error -84; Last file: Korn - Requiem (2022) Mp3 320kbps [PMEDIA] ______" (error type: Unknown error -84)

DemiMarie added a commit to DemiMarie/qubes-core-agent-linux that referenced this issue Nov 10, 2024
When processing directories, process_dirent() detected filenames that
are unsafe for display and set "bad" to true, but "bad" was not used to
determine the return value of process_dirent().  Instead, the function
tail-called simple_fs_walk().  Therefore, directories with unsafe
filenames were not detected.  This caused qubes.Filecopy to be used
instead of qubes.Filecopy+allow-all-names.  qubes.Filecopy (correctly)
rejects the directory.

Fix the bug by ensuring that if bad is set to true, process_dirent() is
true even if the function recurses into simple_fs_walk().  This will
cause qubes.Filecopy+allow-all-names to be used, which will accept the
directory.

Fixes: QubesOS/qubes-issues#9567
@andrewdavidwong andrewdavidwong added C: core diagnosed Technical diagnosis has been performed (see issue comments). pr submitted A pull request has been submitted for this issue. affects-4.2 This issue affects Qubes OS 4.2. labels Nov 10, 2024
marmarek pushed a commit to QubesOS/qubes-core-agent-linux that referenced this issue Dec 8, 2024
When processing directories, process_dirent() detected filenames that
are unsafe for display and set "bad" to true, but "bad" was not used to
determine the return value of process_dirent().  Instead, the function
tail-called simple_fs_walk().  Therefore, directories with unsafe
filenames were not detected.  This caused qubes.Filecopy to be used
instead of qubes.Filecopy+allow-all-names.  qubes.Filecopy (correctly)
rejects the directory.

Fix the bug by ensuring that if bad is set to true, process_dirent()
returns true even if the function recurses into simple_fs_walk().  This
will cause qubes.Filecopy+allow-all-names to be used, which will accept
the directory and allow the copy to succeed.

Fixes: QubesOS/qubes-issues#9567
(cherry picked from commit 9004e75)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
affects-4.2 This issue affects Qubes OS 4.2. C: core diagnosed Technical diagnosis has been performed (see issue comments). P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. pr submitted A pull request has been submitted for this issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants