Bug 782467

Summary: cannot rename .desktop, .kdelnk, .theme files
Product: Red Hat Enterprise Linux 6 Reporter: Vladimir Benes <vbenes>
Component: nautilusAssignee: Tomáš Bžatek <tbzatek>
Status: CLOSED ERRATA QA Contact: Desktop QE <desktop-qa-list>
Severity: low Docs Contact:
Priority: low    
Version: 6.3CC: tpelka, tsmetana
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: nautilus-2.28.4-19.el6 Doc Type: Bug Fix
Doc Text:
Cause: Empty file with name ending with ".desktop" has been automatically considered as a special file Consequence: Some operations like file rename failed Fix: A fallback case leading to use of regular file rename has been added Result: File rename now works properly
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-20 14:24:47 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Attachments:
Description Flags
The Patch none

Description Vladimir Benes 2012-01-17 15:02:10 UTC
Description of problem:
when I create one of those files I cannot rename it anymore

Version-Release number of selected component (if applicable):
nautilus-2.28.4-18.el6.x86_64

How reproducible:
100%

Steps to Reproduce:
1.create a file via rightclick and empty document
2.name it a.{desktop, kdelnk, theme}
3.rename it via F2
  
Actual results:
cannot rename it
Sorry, could not rename "a.kdelnk" to "b.kdelnk": Unable to rename desktop file

Expected results:
should be able to rename all 3 of them

Additional info:

Comment 1 Tomáš Bžatek 2012-01-19 13:52:11 UTC
So, looking into the code, desktop files are treated specially. If you please a desktop file on the desktop, you should see desktop file name extracted from the file, not the actual file name.

Renaming a desktop file actually changes the "Name" field inside the desktop file. Since your desktop files are invalid, operation fails as expected.

What we can do is to validate each desktop file and if it doesn't pass, treat it as ordinary file. We only check file MIME type for the moment. Personally I think it's worth the change.

Comment 3 Tomáš Bžatek 2012-03-02 17:04:54 UTC
Created attachment 567109 [details]
The Patch

I've gone the easiest possible way to fix this - falling back to regular file rename when updating desktop file contents fails, e.g. when it's empty or have invalid keys.

The reason is that we don't have a reliable desktop file data validation, MIME type is sniffed by file name extension.

Comment 4 Tomáš Bžatek 2012-03-02 17:45:13 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause: Empty file with name ending with ".desktop" has been automatically considered as a special file

Consequence: Some operations like file rename failed

Fix: A fallback case leading to use of regular file rename has been added

Result: File rename now works properly

Comment 7 errata-xmlrpc 2012-06-20 14:24:47 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2012-0914.html