Cyberduck Mountain Duck CLI

#933 closed defect (fixed)

Bookmark with '/' in nickname can't be saved to Finder

Reported by: jamescat Owned by: dkocher
Priority: normal Milestone: 2.7
Component: interface Version: 2.6.2
Severity: normal Keywords: bookmarks
Cc: Architecture:
Platform:

Description

When creating a bookmark with a '/' character in the nickname field, Cyberduck will fail to allow you to drag the file to the Finder.

Unfortunately, it does not give any indication that it has failed, it simply doesn't create the file.

(Additional testing shows that if a folder matching the pre-/ portion of the nickname exists, Cyberduck will create a file inside that folder with only the post-/ portion of the nickname as the bookmark filename. - I.e. Cyberduck is not escaping path components well in its file creation/naming routine.)

The fix would appear to simply be checking for the '/' character in nicknames before completing the drag operation and converting any and all of them that are found into ':' characters (which the Finder represents as '/' to the user) so that the bookmark is created in the expected location with it's appropriate name.

(Bookmarks with ':' characters might ought to be a special case too due to their special history as path separators in old Mac OS versions... but they appear to work just fine as is and merely appear in the Finder with a '/' instead of the ':' as might be expected anyway. So it isn't really "necessary" to handle them in any special way.)

Optionally, if there is some exceptional problem I haven't foreseen in fixing this, then there should at the very least be a warning message generated by Cyberduck if dragging the bookmark fails. Currently, absolutely nothing happens at the end of the drag operation, and that is not good for the user experience.

Change History (5)

comment:1 Changed on Oct 18, 2006 at 2:09:38 PM by jamescat

  • Component changed from core to interface
  • Milestone set to 2.6.3

Actually, I suppose this should have been marked for the interface component. And I hope this is minor enough of a fix to make 2.6.3, so that's what I set it to, though I'm sure you'll change that if it was presumptuous of me.

comment:2 Changed on Oct 18, 2006 at 7:31:00 PM by dkocher

  • Resolution set to fixed
  • Status changed from new to closed

Fixed in r2462.

comment:3 Changed on Oct 19, 2006 at 5:51:26 PM by jamescat

I don't want to second guess you too much, because I don't know the code for Cyberduck well (or at all really), and am only a Java programmer in the loosest sense of the term...

But should you perhaps also change line 312 of http://trac.cyberduck.ch/browser/trunk/source/ch/cyberduck/ui/cocoa/CDBookmarkTableDataSource.java?rev=2462 ... which I presume are the filenames the receiving app will "see", so that they match the filenames from line 310, which I assume are the filenames you actually end up using to write into, correct? ... Or are those names not used the way I think they are?

Just checking. Please ignore me if I'm mistaken.

comment:4 Changed on Oct 20, 2006 at 5:44:36 AM by dkocher

jamescat, many thanks for spotting this error! See r2483.

comment:5 Changed on Feb 4, 2011 at 8:10:39 AM by dkocher

Revised patch in r8316.

Note: See TracTickets for help on using tickets.
swiss made software