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

How to Fix VMware’s “Could not open /dev/vmmon” Error on Ubuntu

You’ve recently installed VMware Workstation on your Ubuntu system and encountered the frustrating “Could not…

4 hours ago

How to Fix Ubuntu 404 Errors While Fetching Dependencies

Have you ever found yourself staring at a terminal full of 404 errors while trying…

4 hours ago

How to Fix ‘Please Install All Available Updates’ Error When Upgrading Ubuntu 18.04 to 20.04 LTS

One particularly frustrating error that many users face when trying to upgrade from Ubuntu 18.04 …

4 hours ago

How to fix “Release is not valid yet” Error in Docker Containers

In the world of containerization, time synchronization issues can create unexpected roadblocks when working with…

4 hours ago

How to fix “Externally Managed Environment” Pip Errors on Ubuntu

If you’ve recently upgraded to Ubuntu 23.04 or newer, you might have encountered a frustrating…

4 hours ago

Ubuntu now officially supports NVIDIA Jetson: powering the future of AI at the edge

Canonical announces the General Availability of Ubuntu for the NVIDIA® Jetson Orin™ for edge AI…

11 hours ago