GSOC contribution summary

Secure .desktop handling (Thunar !117, !121, Exo !44, Libxfce4util !16)

.desktop file is a special kind of script that is optimized for launching application. It can use custom icon and name to represent application. However, this feature can be abused as it can disguise it as any type of file. To prevent this security breach, I introduced a “trused” flag to mark whether this .desktop file is safe to execute. By utilizing GVFS-metadata, there is no way that the flag of any downloaded file. A user will be warned about the safety hazard until the user sets “trusted” flag up.

Sponsored
id=”file-copy-improvements”>File copy improvements

Implement queued transfer management (Thunar !116)

Sequential transfer, which is introduced in 4.16, caused freuqent freeze and/or crash. Now sequential transfer is handled by a queue, and now this feature works without a problem.

Keep modified time for the file copied from foreign location (Thunar !127)

When copying from remote locations, all the metadata gets lost. The original plan was to use g_file_build_attribute_list_for_copy() to overwrite metadata of the copied file, but for now, it only copies modified time of the original file.

Use “copy name” when copying from gvfs-google backend (Thunar !121)

When copying a file from gvfs-google (google-drive:// protocol), the filename was replaced with unreadable number-alphabet combination. Now the filename is maintained without a problem.

Use intermediate file to copy files (!130)

When a file transfer gets interrupted for any reason, the file that is not fully transferred is left on the destination. Since that the single file on the destination is guaranteed to be corrupted, a user cannot just retry copying the same file on the destination and skip duplicate files. To solve this problem, Thunar will try to delete the incomplete file if it can. In case the destination is not accessible at the time, there is a safer option that first copies a file with a different name than the original and then change the name of the copied file to its original.

Fix invalid filenames when copying to FAT-like filesystem (!137, !138)

FAT and NTFS have a stricter naming rule than EXT filesystem. Also, Windows has a reserved word for filename. For this reason, when copying a file to FAT-like system, Thunar will automatically rename to avoid illegal names before copy.

Check if a target directory is a subdirectory of the moved folder (!139)

Now Thunar will check if a target directory is a subdirectory of the moved folder before trying to copy files.

Sponsored

Implement “safe copy” (!144)

New option “safe copy” will compare checksum of the original and the copy if enabled. This will largely increase copy time, but it would be useful if the source location or the destination is unreliable.

Miscellaneous

For directories, leave size column blank (Thunar !83)

For some reason, Thunar has shown a block size of the filesystem as the “file size” of the directory. This value might be confusing to a user, so now the file size is only shown for regular files.

On “Select by Pattern” add option for case sensitivity (Thunar !89, !98)

“Select by Pattern” feature was not case sensitive, so now case insensitive select is introduced and set as a default.

Improve computer:// panel (Thunar !92)

Detail view for computer:// was incomplete since it cannot be handled like a normal directory. Now “size” column shows disk usage info, and “type” column shows a device type.

Deprecate ExoBinding (Exo !42, ThunarMediaTagsPlugin !4, Xfce4PlacesPlugin !7, Thunar !113, ThunarVolman !8)

Since ExoBinding in Exo can be replaced with GBinding in GLib, ExoBinding is deprecated and the usage within XFCE project is replaced with GBinding.

Preserve metadata when editing desktop item (Exo !43)

When editing a desktop item with exo-desktop-item-edit, all the metadata got lost since the modified file was actually a new file that replaces older one. This problem is fixed and the file modified maintains its info.

Ubuntu Server Admin

Recent Posts

Building RAG with enterprise open source AI infrastructure

One of the most critical gaps in traditional Large Language Models (LLMs) is that they…

7 hours ago

Life at Canonical: Victoria Antipova’s perspective as a new joiner in Product Marketing

Canonical is continuously hiring new talent. Being a remote- first company, Canonical’s new joiners receive…

1 day ago

What is patching automation?

What is patching automation? With increasing numbers of vulnerabilities, there is a growing risk of…

2 days ago

A beginner’s tutorial for your first Machine Learning project using Charmed Kubeflow

Wouldn’t it be wonderful to wake up one day with a desire to explore AI…

3 days ago

Ubuntu brings comprehensive support to Azure Cobalt 100 VMs

Ubuntu and Ubuntu Pro supports Microsoft’s Azure Cobalt 100 Virtual Machines (VMs), powered by their…

3 days ago

Ubuntu Weekly Newsletter Issue 870

Welcome to the Ubuntu Weekly Newsletter, Issue 870 for the week of December 8 –…

4 days ago