Bug 782467 - cannot rename .desktop, .kdelnk, .theme files
Summary: cannot rename .desktop, .kdelnk, .theme files
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: nautilus
Version: 6.3
Hardware: All
OS: Linux
low
low
Target Milestone: rc
: ---
Assignee: Tomáš Bžatek
QA Contact: Desktop QE
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-01-17 15:02 UTC by Vladimir Benes
Modified: 2015-03-03 23:04 UTC (History)
2 users (show)

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
Clone Of:
Environment:
Last Closed: 2012-06-20 14:24:47 UTC
Target Upstream Version:


Attachments (Terms of Use)
The Patch (1.27 KB, patch)
2012-03-02 17:04 UTC, Tomáš Bžatek
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2012:0914 0 normal SHIPPED_LIVE nautilus bug fix update 2012-06-19 20:46:27 UTC

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


Note You need to log in before you can comment on or make changes to this bug.