Opened 7 years ago

Last modified 3 years ago

#4753 new Bug

Transmission doesn't escape/replace illegal characters for file/directory names

Reported by: IAmTheClaw Owned by: jordan
Priority: Normal Milestone: None Set
Component: libtransmission Version: 2.42+
Severity: Normal Keywords:
Cc:

Description

I have a couple torrents with characters that the file system I'm using (NTFS) does not allow, and Transmission doesn't replace them, instead trying to read/write files that cannot exist.

OS: Windows 7 SP1 (using transmission-daemon with a separate UI, not the unified Transmission-Qt program) Version: 2.42+

Change History (10)

comment:1 follow-up: Changed 7 years ago by collegeitdept

Lets go ahead and close this ticket please. Transmission doesn't maintain an official Windows port - nor should they. Therefore, lets actually use the developers time on actual important things.

comment:2 in reply to: ↑ 1 Changed 7 years ago by IAmTheClaw

How is this a Windows-specific issue? This has to do with filesystems, not OSes. NTFS and FAT32 both have several illegal characters, and both are used on platforms other than Windows. It affects users of those filesystems (and other filesystems with similar restrictions), regardless of OS.

comment:3 Changed 7 years ago by collegeitdept

Transmission works perfectly with HFS... your bug applies certain rules for file names on NTFS and FAT (Windows).

comment:4 Changed 7 years ago by rb07

The point of this bug report is valid, if a file cannot be created for any reason the OS returns an error and transmission should report that error and act accordingly.

The original description uses "read/write" instead of create, it would be interesting to know how did you see it was trying to read or write since the open or create is what would fail? (i.e. the file name is only used with create and open).

comment:5 Changed 7 years ago by IAmTheClaw

"Create" makes more sense when leeching. I was trying to seed something and Transmission couldn't find the path during verification. In any case, Transmission seems to be completely ignorant of disallowed characters.

comment:6 Changed 7 years ago by x190

See #4759.

comment:7 Changed 5 years ago by nixname

Hi,

This is not windows specific, you can have NTFS mounted on Linux.

However I download to a fat filesystem, there are quite some characters which are not allowed but are used by inexperienced uploaders: colon, slash. Those might be allowed in their operating system but not on every downloaders system.

To fix this issue by saying: inform the uploader is not the answer as every single one of them needs to do it correctly, which cannot be expected.

This should be fixed on the downloaders side to fix it once and for all. If someone would fix it, then other things like accentuated character .. could be fixed as well in the same way with little extra effort.

See for example item 4759 https://trac.transmissionbt.com/ticket/4759, and I am sure there are others.

regards

comment:8 Changed 5 years ago by mike.dld

  • Component changed from Daemon to libtransmission
  • Owner set to jordan

comment:9 Changed 3 years ago by mike.dld

Closed #6152 as duplicate of this ticket.

comment:10 Changed 3 years ago by Tomato

A good example when this situation is a real issue is the following:

I use Transmission over Tomato Firmware (Linux based Router with an external hard drive), and a Windows PC.

When downloading some media (books, music) there are filenames created with special Linux or Mac characters, which they are invalid in Windows. Ex: "|", "\", "/", ":", "*", "?", """, "<", ">".

There should be an option to automatically replace such characters in filenames, so then it will be possible to read the files on Windows, from the external hard drive.

Now the only way to read such files on Windows is first to rename the invalid filenames one by one on a Linux system...

uTorrent windows client doesn't have this problem, it fixes invalid filenames automatically.

Note: See TracTickets for help on using tickets.