Opened 17 years ago

Closed 11 years ago

Last modified 10 years ago

#3227 closed Bug report (fixed)

Filter invalid characters from filename

Reported by: invasion13 Owned by:
Priority: high Component: FileZilla Client
Keywords: ADS, NTFS, alternate data stream Cc: invasion13, Tim Kosse, Alexander Schuch, patpowerman2, underground78, emaze@…
Component version: Operating system type: Windows
Operating system version: XP Pro SP3

Description (last modified by Tim Kosse)

Hi,
with filezilla 3.0 , when i want to ftp from my pvr(KISS DP558) a file named
AUX - Mar 11-09-2007 20_30_21.vob
In my pc folder it appears as "30" (without extension) with a size of 0ko,
and filezilla says the transfert has been successful!
this problem doesnt occur with filezilla 2.2.32
with the same settings(pasv mode and ascii file "auto")
best regards

Change History (19)

comment:1 by Tim Kosse, 17 years ago

Please set debug level to 3 in settings dialog and enable raw directory listing. Restart FileZilla and attempt to download the file. Next post the complete contents of the message log here. Please do not leave out parts of the log or otherwise obfuscate the log in any way.

comment:2 by invasion13, 17 years ago

Trace : ControlSocket.cpp(948): CRealControlSocket::ContinueConnect(0022D1AC) m_pEngine=01307148 caller=01CA9750
Statut : Connexion sur 192.168.0.5:21...
Statut : Connexion établie, attente du message d'accueil
Trace : CFtpControlSocket::OnReceive()
Réponse : 220 FTP server ready.
Commande : USER anonymous
Trace : CFtpControlSocket::OnReceive()
Réponse : 331 Any password will work
Commande : PASS
Trace : CFtpControlSocket::OnReceive()
Réponse : 230 14217.5 Mbytes free disk space
Commande : SYST
Trace : CFtpControlSocket::OnReceive()
Réponse : 215 UNIX Type: L8
Commande : FEAT
Trace : CFtpControlSocket::OnReceive()
Réponse : 500 Unknown command
Statut : Connecté
Trace : CFtpControlSocket::ResetOperation(0)
Trace : CControlSocket::ResetOperation(0)
Statut : Lecture du contenu du répertoire...
Trace : CFtpControlSocket::SendNextCommand(0)
Commande : PWD
Trace : CFtpControlSocket::OnReceive()
Réponse : 257 "/" is your current location
Trace : CFtpControlSocket::ResetOperation(0)
Trace : CControlSocket::ResetOperation(0)
Trace : CFtpControlSocket::SendNextCommand(0)
Trace : CFtpControlSocket::ListSend(0)
Trace : CFtpControlSocket::SendNextCommand(0)
Trace : CFtpControlSocket::TransferSend(0)
Commande : TYPE I
Trace : CFtpControlSocket::OnReceive()
Réponse : 200 TYPE is now 8-bit binary
Trace : CFtpControlSocket::TransferParseResponse()
Trace : CFtpControlSocket::TransferSend(0)
Commande : PASV
Trace : CFtpControlSocket::OnReceive()
Réponse : 227 Entering Passive Mode (192,168,0,5,125,20)
Trace : CFtpControlSocket::TransferParseResponse()
Trace : CFtpControlSocket::TransferSend(0)
Commande : LIST
Trace : CTransferSocket::OnConnect
Trace : CFtpControlSocket::OnReceive()
Réponse : 150 Accepted data connection
Trace : CFtpControlSocket::TransferParseResponse()
Trace : CFtpControlSocket::TransferSend(0)
Trace : CTransferSocket::OnClose
Trace : CTransferSocket::TransferEnd(1)
Trace : CFtpControlSocket::TransferEnd()
Trace : CFtpControlSocket::OnReceive()
Réponse : 226-ASCII
Réponse : 226-Options: -l
Réponse : 226 3 matches total
Trace : CFtpControlSocket::TransferParseResponse()
Trace : CFtpControlSocket::ResetOperation(0)
Trace : CControlSocket::ResetOperation(0)
Trace : CFtpControlSocket::SendNextCommand(0)
Trace : CFtpControlSocket::ListSend(0)
Trace : CFtpControlSocket::ResetOperation(0)
Trace : CControlSocket::ResetOperation(0)
Statut : Lecture du contenu du répertoire achevée.
Statut : Lecture du contenu du répertoire...
Trace : CFtpControlSocket::SendNextCommand(0)
Commande : CWD pvr
Trace : CFtpControlSocket::OnReceive()
Réponse : 250 OK. Current directory is /pvr
Commande : PWD
Trace : CFtpControlSocket::OnReceive()
Réponse : 257 "/pvr" is your current location
Trace : CFtpControlSocket::ResetOperation(0)
Trace : CControlSocket::ResetOperation(0)
Trace : CFtpControlSocket::SendNextCommand(0)
Trace : CFtpControlSocket::ListSend(0)
Trace : CFtpControlSocket::SendNextCommand(0)
Trace : CFtpControlSocket::TransferSend(0)
Commande : PASV
Trace : CFtpControlSocket::OnReceive()
Réponse : 227 Entering Passive Mode (192,168,0,5,75,96)
Trace : CFtpControlSocket::TransferParseResponse()
Trace : CFtpControlSocket::TransferSend(0)
Commande : LIST
Trace : CTransferSocket::OnConnect
Trace : CFtpControlSocket::OnReceive()
Réponse : 150 Accepted data connection
Trace : CFtpControlSocket::TransferParseResponse()
Trace : CFtpControlSocket::TransferSend(0)
Trace : CTransferSocket::OnClose
Trace : CTransferSocket::TransferEnd(1)
Trace : CFtpControlSocket::TransferEnd()
Trace : CFtpControlSocket::OnReceive()
Réponse : 226-ASCII
Réponse : 226-Options: -l
Réponse : 226 30 matches total
Trace : CFtpControlSocket::TransferParseResponse()
Trace : CFtpControlSocket::ResetOperation(0)
Trace : CControlSocket::ResetOperation(0)
Trace : CFtpControlSocket::SendNextCommand(0)
Trace : CFtpControlSocket::ListSend(0)
Trace : CFtpControlSocket::ResetOperation(0)
Trace : CControlSocket::ResetOperation(0)
Statut : Lecture du contenu du répertoire achevée.
Trace : ControlSocket.cpp(948): CRealControlSocket::ContinueConnect(0022DD04) m_pEngine=013229C8 caller=01CA0730
Statut : Connexion sur 192.168.0.5:21...
Statut : Connexion établie, attente du message d'accueil
Trace : CFtpControlSocket::OnReceive()
Réponse : 220 FTP server ready.
Commande : USER anonymous
Trace : CFtpControlSocket::OnReceive()
Réponse : 331 Any password will work
Commande : PASS

Trace : CFtpControlSocket::OnReceive()
Réponse : 230 14217.5 Mbytes free disk space
Statut : Connecté
Trace : CFtpControlSocket::ResetOperation(0)
Trace : CControlSocket::ResetOperation(0)
Trace : CFtpControlSocket::FileTransfer()
Statut : Commencer le téléchargement de /pvr/AUX - Mar 11-09-2007 20:30:21.vob
Trace : CFtpControlSocket::SendNextCommand(0)
Commande : CWD /pvr/
Trace : CFtpControlSocket::OnReceive()
Réponse : 250 OK. Current directory is /pvr
Commande : PWD
Trace : CFtpControlSocket::OnReceive()
Réponse : 257 "/pvr" is your current location
Trace : CFtpControlSocket::ResetOperation(0)
Trace : CControlSocket::ResetOperation(0)
Trace : CFtpControlSocket::SendNextCommand(0)
Trace : FileTransferSend()
Trace : CFtpControlSocket::SendNextCommand(0)
Trace : FileTransferSend()
Trace : CFtpControlSocket::SendNextCommand(0)
Trace : CFtpControlSocket::TransferSend(0)
Commande : TYPE I
Trace : CFtpControlSocket::OnReceive()
Réponse : 200 TYPE is now 8-bit binary
Trace : CFtpControlSocket::TransferParseResponse()
Trace : CFtpControlSocket::TransferSend(0)
Commande : PASV
Trace : CFtpControlSocket::OnReceive()
Réponse : 227 Entering Passive Mode (192,168,0,5,57,95)
Trace : CFtpControlSocket::TransferParseResponse()
Trace : CFtpControlSocket::TransferSend(0)
Commande : RETR AUX - Mar 11-09-2007 20:30:21.vob
Trace : CTransferSocket::OnConnect
Trace : CFtpControlSocket::OnReceive()
Réponse : 150-Accepted data connection
Réponse : 150 3555392.0 kbytes to download
Trace : CFtpControlSocket::TransferParseResponse()
Trace : CFtpControlSocket::TransferSend(0)
Trace : CFtpControlSocket::OnReceive()
Réponse : 421 Timeout
Trace : Unexpected reply, no reply was pending.
Trace : CRealControlSocket::OnClose()
Erreur : Déconnecté du serveur.
Trace : CFtpControlSocket::ResetOperation(66)
Trace : CControlSocket::ResetOperation(66)
Trace : CFtpControlSocket::OnReceive()
Réponse : 226-File successfully transferred
Réponse : 226 3725.150 seconds (measured here), 0.93 Mbytes per second
Trace : CFtpControlSocket::TransferParseResponse()
Trace : CFtpControlSocket::TransferSend(0)
Trace : CTransferSocket::OnClose
Trace : CTransferSocket::TransferEnd(1)
Trace : CFtpControlSocket::TransferEnd()
Trace : CFtpControlSocket::ResetOperation(0)
Trace : CTransferSocket::TransferEnd(1)
Trace : CControlSocket::ResetOperation(0)
Trace : CFtpControlSocket::SendNextCommand(0)
Trace : FileTransferSend()
Trace : CFtpControlSocket::ResetOperation(0)
Trace : CControlSocket::ResetOperation(0)
Statut : Transfert de fichier réussi
Statut : Déconnecté du serveur.
Trace : CFtpControlSocket::ResetOperation(66)
Trace : CControlSocket::ResetOperation(66)

comment:3 by Tim Kosse, 17 years ago

Actually two problems:
a) Server (or client) behind firewall which blocks the transfers
b) Client needs to filter out invalid characters from filenames, like :

comment:4 by Alexander Schuch, 17 years ago

Taken from now closed:
[ 1213540 ] Creating illegal filenames

"I would be nice if FileZilla could translate or remove such characters, without miscreating them like this, or like most other file transfer software seem to do; just fail silently and not bother to create the misnamed file at all."

comment:5 by Alexander Schuch, 17 years ago

Taken from now closed:
[ 587170 ] Convert illegal filename characters

"Rename files, converting characters that would be illegal on the destination host to acceptable characters.

As an example, when transferring a file whose name contains ":" (colon) from unix to a PC running Windows NT, FileZilla truncates the filename just prior to the colon and writes no bytes. It also claims in the status window that the transfer was successful.

Simply converting all such illegal characters to "_" (underscore) would be ok, since that is what some other FTP clients do. If you want to go a step beyond that, you might allow the user to specify the character to use or even allow a mapping table."

comment:6 by invasion13, 17 years ago

Hi,
i didnt have these worries(and have to rename the files) with filezilla 2.2.32
before and a ftp transfert with "AUX - Mar 11-09-2007 20_30_21.vob"
is successful with version 2.2.32.(i have both the 3.0 and 2.2.32).
regards

comment:7 by Alexander Schuch, 17 years ago

Taken from now deleted item, which explains the current behaviour of FileZilla 3:
[ 1798271 ] Colons in file names not replaced

"Reproduce: Have four files named '4:30.jpg' through '4:33.jpg', and try transferring them to a Windows machine. The result will be a single empty file with name '4'."

comment:8 by Alexander Schuch, 17 years ago

Taken from now closed (applies to FileZilla 2):
[ 1656701 ] Colon in directory name not replaced

Make sure invalid characters get replaced in filename *and* in directory name.

comment:9 by invasion13, 17 years ago

Hi,
i am sorry,
i have understood that ":" isnt allowed in a file name or directory
but why it's working with filezilla 2.2.32:
It is replacing the ":" with "_" that, without any action from my side?
(and so ftp transfert is successful)
Is it a default setting ?
And so why filezilla 3 isnt able to do the same?
regards

comment:10 by patpowerman2, 16 years ago

The problem with the special characters (like : ) in filenames still appears!

Could you please have a look at that? It prevents to transfer recorded movies to my PC...

Trace: ControlSocket.cpp(979): CRealControlSocket::ContinueConnect(0p22d1d4) m_pEngine=0p10eeb08 caller=0p12c9030
Status: Verbinde mit 192.168.1.99:21...
Status: Verbindung hergestellt, warte auf Willkommensnachricht...
Trace: CFtpControlSocket::OnReceive()
Antwort: 220 FTP server ready.
Trace: CFtpControlSocket::SendNextCommand()
Befehl: USER anonymous
Trace: CFtpControlSocket::OnReceive()
Antwort: 331 Any password will work
Trace: CFtpControlSocket::SendNextCommand()
Befehl: PASS
Trace: CFtpControlSocket::OnReceive()
Antwort: 230 51665.7 Mbytes free disk space
Trace: CFtpControlSocket::SendNextCommand()
Befehl: SYST
Trace: CFtpControlSocket::OnReceive()
Antwort: 215 UNIX Type: L8
Trace: CFtpControlSocket::SendNextCommand()
Befehl: FEAT
Trace: CFtpControlSocket::OnReceive()
Antwort: 500 Unknown command
Status: Verbunden
Trace: CFtpControlSocket::ResetOperation(0)
Trace: CControlSocket::ResetOperation(0)
Status: Empfange Verzeichnisinhalt...
Trace: CFtpControlSocket::SendNextCommand()
Trace: CFtpControlSocket::ChangeDirSend()
Befehl: PWD
Trace: CFtpControlSocket::OnReceive()
Antwort: 257 "/" is your current location
Trace: CFtpControlSocket::ResetOperation(0)
Trace: CControlSocket::ResetOperation(0)
Trace: CFtpControlSocket::ParseSubcommandResult(0)
Trace: CFtpControlSocket::ListSubcommandResult()
Trace: CFtpControlSocket::SendNextCommand()
Trace: CFtpControlSocket::TransferSend()
Befehl: TYPE I
Trace: CFtpControlSocket::OnReceive()
Antwort: 200 TYPE is now 8-bit binary
Trace: CFtpControlSocket::TransferParseResponse()
Trace: CFtpControlSocket::SendNextCommand()
Trace: CFtpControlSocket::TransferSend()
Befehl: PORT 192,168,1,100,7,47
Trace: CFtpControlSocket::OnReceive()
Antwort: 200 PORT command successful
Trace: CFtpControlSocket::TransferParseResponse()
Trace: CFtpControlSocket::SendNextCommand()
Trace: CFtpControlSocket::TransferSend()
Befehl: LIST
Trace: CTransferSocket::OnConnect
Trace: CFtpControlSocket::OnReceive()
Antwort: 150 Connecting to port 1839
Trace: CFtpControlSocket::TransferParseResponse()
Trace: CFtpControlSocket::SendNextCommand()
Trace: CFtpControlSocket::TransferSend()
Auflistung: drwxr-xr-x 5 0 0 24576 Dec 1 14:11 audio
Auflistung: drwx------ 2 0 0 16384 Jun 10 2005 lost+found
Auflistung: drwxr-xr-x 4 0 0 4096 Jan 30 18:37 pictures
Auflistung: drwxr-xr-x 2 0 0 4096 Feb 24 22:38 pvr
Auflistung: drwxr-xr-x 13 0 0 4096 Sep 24 2006 stage2
Auflistung: drwxr-xr-x 6 0 0 4096 Mar 21 15:22 video
Trace: CTransferSocket::OnClose
Trace: CTransferSocket::TransferEnd(1)
Trace: CFtpControlSocket::TransferEnd()
Trace: CFtpControlSocket::OnReceive()
Antwort: 226-ASCII
Antwort: 226-Options: -l
Antwort: 226 6 matches total
Trace: CFtpControlSocket::TransferParseResponse()
Trace: CFtpControlSocket::ResetOperation(0)
Trace: CControlSocket::ResetOperation(0)
Trace: CFtpControlSocket::ParseSubcommandResult(0)
Trace: CFtpControlSocket::ListSubcommandResult()
Trace: CFtpControlSocket::SendNextCommand()
Trace: CFtpControlSocket::TransferSend()
Befehl: PORT 192,168,1,100,7,48
Trace: CFtpControlSocket::OnReceive()
Antwort: 200 PORT command successful
Trace: CFtpControlSocket::TransferParseResponse()
Trace: CFtpControlSocket::SendNextCommand()
Trace: CFtpControlSocket::TransferSend()
Befehl: LIST -a
Trace: CTransferSocket::OnConnect
Trace: CFtpControlSocket::OnReceive()
Antwort: 150 Connecting to port 1840
Trace: CFtpControlSocket::TransferParseResponse()
Trace: CFtpControlSocket::SendNextCommand()
Trace: CFtpControlSocket::TransferSend()
Auflistung: drwxr-xr-x 8 0 0 4096 Sep 24 2006 .
Auflistung: drwxr-xr-x 8 0 0 4096 Sep 24 2006 ..
Auflistung: drwxr-xr-x 5 0 0 24576 Dec 1 14:11 audio
Auflistung: drwx------ 2 0 0 16384 Jun 10 2005 lost+found
Auflistung: drwxr-xr-x 4 0 0 4096 Jan 30 18:37 pictures
Auflistung: drwxr-xr-x 2 0 0 4096 Feb 24 22:38 pvr
Auflistung: drwxr-xr-x 13 0 0 4096 Sep 24 2006 stage2
Auflistung: drwxr-xr-x 6 0 0 4096 Mar 21 15:22 video
Trace: CTransferSocket::OnClose
Trace: CTransferSocket::TransferEnd(1)
Trace: CFtpControlSocket::TransferEnd()
Trace: CFtpControlSocket::OnReceive()
Antwort: 226-ASCII
Antwort: 226-Options: -a -l
Antwort: 226 8 matches total
Trace: CFtpControlSocket::TransferParseResponse()
Trace: CFtpControlSocket::ResetOperation(0)
Trace: CControlSocket::ResetOperation(0)
Trace: CFtpControlSocket::ParseSubcommandResult(0)
Trace: CFtpControlSocket::ListSubcommandResult()
Trace: Server seems to support LIST -a
Trace: CFtpControlSocket::ResetOperation(0)
Trace: CControlSocket::ResetOperation(0)
Status: Anzeigen des Verzeichnisinhalts abgeschlossen
Status: Empfange Verzeichnisinhalt...
Trace: CFtpControlSocket::SendNextCommand()
Trace: CFtpControlSocket::ChangeDirSend()
Befehl: CWD pvr
Trace: CFtpControlSocket::OnReceive()
Antwort: 250 OK. Current directory is /pvr
Trace: CFtpControlSocket::SendNextCommand()
Trace: CFtpControlSocket::ChangeDirSend()
Befehl: PWD
Trace: CFtpControlSocket::OnReceive()
Antwort: 257 "/pvr" is your current location
Trace: CFtpControlSocket::ResetOperation(0)
Trace: CControlSocket::ResetOperation(0)
Trace: CFtpControlSocket::ParseSubcommandResult(0)
Trace: CFtpControlSocket::ListSubcommandResult()
Trace: CFtpControlSocket::SendNextCommand()
Trace: CFtpControlSocket::TransferSend()
Befehl: PORT 192,168,1,100,7,49
Trace: CFtpControlSocket::OnReceive()
Antwort: 200 PORT command successful
Trace: CFtpControlSocket::TransferParseResponse()
Trace: CFtpControlSocket::SendNextCommand()
Trace: CFtpControlSocket::TransferSend()
Befehl: LIST -a
Trace: CTransferSocket::OnConnect
Trace: CFtpControlSocket::OnReceive()
Antwort: 150 Connecting to port 1841
Trace: CFtpControlSocket::TransferParseResponse()
Trace: CFtpControlSocket::SendNextCommand()
Trace: CFtpControlSocket::TransferSend()
Auflistung: drwxr-xr-x 2 0 0 4096 Feb 24 22:38 .
Auflistung: drwxr-xr-x 8 0 0 4096 Sep 24 2006 ..
Auflistung: -rw-r--r-- 1 0 0 94788 Aug 12 2005 James und der Riesenpfirsich - Fr 12-08-2005 20:48:00.idx
Auflistung: -rw-r--r-- 1 0 0 4198957056 Aug 12 2005 James und der Riesenpfirsich - Fr 12-08-2005 20:48:00.vob
Auflistung: -rw-r--r-- 1 0 0 136800 Jul 22 2005 Spaceballs - Fr 22-07-2005 20:13:00.idx
Auflistung: -rw-r--r-- 1 0 0 6035963904 Jul 22 2005 Spaceballs - Fr 22-07-2005 20:13:00.vob
Auflistung: -rw-r--r-- 1 0 0 194400 Feb 4 00:45 The Punisher - So 03-02-2008 23:03:00.idx
Auflistung: -rw-r--r-- 1 0 0 8213495808 Feb 4 00:45 The Punisher - So 03-02-2008 23:03:00.vob
Trace: CTransferSocket::OnClose
Trace: CTransferSocket::TransferEnd(1)
Trace: CFtpControlSocket::TransferEnd()
Trace: CFtpControlSocket::OnReceive()
Antwort: 226-ASCII
Antwort: 226-Options: -a -l
Antwort: 226 22 matches total
Trace: CFtpControlSocket::TransferParseResponse()
Trace: CFtpControlSocket::ResetOperation(0)
Trace: CControlSocket::ResetOperation(0)
Trace: CFtpControlSocket::ParseSubcommandResult(0)
Trace: CFtpControlSocket::ListSubcommandResult()
Trace: CFtpControlSocket::ResetOperation(0)
Trace: CControlSocket::ResetOperation(0)
Status: Anzeigen des Verzeichnisinhalts abgeschlossen
Trace: ControlSocket.cpp(979): CRealControlSocket::ContinueConnect(0p22e158) m_pEngine=0p12c7458 caller=0p12e3ad8
Status: Verbinde mit 192.168.1.99:21...
Status: Verbindung hergestellt, warte auf Willkommensnachricht...
Trace: CFtpControlSocket::OnReceive()
Antwort: 220 FTP server ready.
Trace: CFtpControlSocket::SendNextCommand()
Befehl: USER anonymous
Trace: CFtpControlSocket::OnReceive()
Antwort: 331 Any password will work
Trace: CFtpControlSocket::SendNextCommand()
Befehl: PASS

Trace: CFtpControlSocket::OnReceive()
Antwort: 230 51665.7 Mbytes free disk space
Status: Verbunden
Trace: CFtpControlSocket::ResetOperation(0)
Trace: CControlSocket::ResetOperation(0)
Trace: CFtpControlSocket::FileTransfer()
Status: Starte Download von /pvr/Spaceballs - Fr 22-07-2005 20:13:00.idx
Trace: CFtpControlSocket::SendNextCommand()
Trace: CFtpControlSocket::ChangeDirSend()
Befehl: CWD /pvr/
Trace: CFtpControlSocket::OnReceive()
Antwort: 250 OK. Current directory is /pvr
Trace: CFtpControlSocket::SendNextCommand()
Trace: CFtpControlSocket::ChangeDirSend()
Befehl: PWD
Trace: CFtpControlSocket::OnReceive()
Antwort: 257 "/pvr" is your current location
Trace: CFtpControlSocket::ResetOperation(0)
Trace: CControlSocket::ResetOperation(0)
Trace: CFtpControlSocket::ParseSubcommandResult(0)
Trace: FileTransferSubcommandResult()
Trace: CFtpControlSocket::SendNextCommand()
Trace: FileTransferSend()
Fehler: C:\Temp\Spaceballs - Fr 22-07-2005 20:13:00.idx konnte nicht zum Schreiben geöffnet werden
Trace: CFtpControlSocket::ResetOperation(2)
Trace: CControlSocket::ResetOperation(2)
Trace: CFtpControlSocket::FileTransfer()
Status: Starte Download von /pvr/Spaceballs - Fr 22-07-2005 20:13:00.idx
Trace: CFtpControlSocket::ParseSubcommandResult(0)
Trace: FileTransferSubcommandResult()
Trace: CFtpControlSocket::SendNextCommand()
Trace: FileTransferSend()
Fehler: C:\Temp\Spaceballs - Fr 22-07-2005 20:13:00.idx konnte nicht zum Schreiben geöffnet werden
Trace: CFtpControlSocket::ResetOperation(2)
Trace: CControlSocket::ResetOperation(2)
Trace: CFtpControlSocket::FileTransfer()
Status: Starte Download von /pvr/Spaceballs - Fr 22-07-2005 20:13:00.idx
Trace: CFtpControlSocket::ParseSubcommandResult(0)
Trace: FileTransferSubcommandResult()
Trace: CFtpControlSocket::SendNextCommand()
Trace: FileTransferSend()
Fehler: C:\Temp\Spaceballs - Fr 22-07-2005 20:13:00.idx konnte nicht zum Schreiben geöffnet werden
Trace: CFtpControlSocket::ResetOperation(2)
Trace: CControlSocket::ResetOperation(2)

comment:11 by underground78, 16 years ago

I can confirm that the problem is not solved on FileZilla 3, when I download a file named for example "aaaa:bbbb.txt", the file I get is named "bbbb.txt" (but isn't corrupted) ...

comment:12 by Gerhard Olsson, 15 years ago

Still in 3.1.6 on Vista (Swedish)
Similar bug in FireFox extension FireFTP:
https://www.mozdev.org/bugs/show_bug.cgi?id=20348

Note: Handled in ftp clients built in to FF/IE

There is some handling for colon, but only fr the first one...

comment:13 by Gerhard Olsson, 15 years ago

Still in 3.2.0-rc2 on Vista (Swedish)

in reply to:  11 comment:14 by underground78, 15 years ago

This bug is still on 3.2.3-rc1 : if you try downloading a file named "aaaa:bbbb.txt", you get a file named "aaaa" with a size of 0Ko ... :s

comment:15 by CrazyGolem, 15 years ago

Operating system type: Windows
Operating system version: XP Pro SP3
Priority: normalhigh

The bug is still not resolved on 3.2.4 (2009-04-21).
Downloading files over SFTP, FileZilla does not filter illegal Win32 folder names (e.g.: "blablabla..." that contains trailing dots). It results in a folder that is not accessible by Windows (but still accessible and renamable on others OS like Ubuntu, and when renamed, it becomes accessible in Windows).

FileZilla seems to manage correctly (i.e: trailing dots are removed) folders with only one ending dot in name, or empty folders with more ending dots.

FileZilla can access such folders when downloading (it downloads all files correctly, can add files in it, and so on) but accessing it from the explorer pane of FileZilla doesn't work.

It is a limitation of Windows, not of the file system (in this case NTFS) : http://support.microsoft.com/kb/320081/en-us (see Cause 6)

FileZilla on Windows should filter such filenames, or refuse to download them, since Windows Explorer can't manage such files or folders.

comment:16 by eMaze, 15 years ago

Cc: emaze@… added
Keywords: ADS NTFS alternate data stream added

Hi!
This posting is only about files having a colon (:) in their names!

The Bug is still there in 3.2.4.1 (tested on Win XP Pro SP3, NTFS). But technically speaking this is NOT a bug of Filezilla but an unexpected behaviour, confusing users.

The cause is not a limitation of Windows or NTFS - it's a feature! This feature is called "alternate data streams" (ADS) and is widely used on Windows.

How to reproduce:
I created a file called AAA:nothing.txt (size 63 kb) on the ftp server (linux). Downloaded it using Filezilla onto a drive formatted with NTFS. Download completes and the file is shown on the LOCAL directory listing with the name AAA:nothing.txt. After refreshing the directory listing in Filezilla the file name is shown only as AAA (just like in Windows Explorer).
Using the command line tool "streams" from Microsoft/Sysinternals you can see this:
D:\>streams A*

Streams v1.56 - Enumerate alternate NTFS data streams
Copyright (C) 1999-2007 Mark Russinovich
Sysinternals - www.sysinternals.com

D:\AAA:

:nothing.txt:$DATA 63000

The file AAA was created with the alternate data stream called "nothing.txt" with the correct file size+data.

Here some links onto this topic:

http://support.microsoft.com/?scid=kb%3Ben-us%3B105763&x=6&y=12
http://www.heysoft.de/nt/ntfs-ads.htm

ADS-Tools:
http://www.safer-networking.org/de/tools/tools_ads.html
http://technet.microsoft.com/en-us/sysinternals/bb897440.aspx
http://www.heysoft.de/nt/ep-lads.htm

Hopefully this helps with improving Filezilla :>

regards,
eMaze

comment:17 by Tim Kosse, 15 years ago

Description: modified (diff)
Resolution: fixed
Status: newclosed

Filtering of invalid characters will be implemented in the next version.

comment:18 by Gerhard Olsson, 15 years ago

Resolution: fixed
Status: closedreopened

It works when fetching files, but not exactly as I would expect:

  • When fetching files, FileZilla does not compare size/mod date, ie that the file already exists.
  • When comparing directories, files with different naming are not reconized as the same file.

This may only be feasible to handle fetching to FileZilla, but not to external.
This should maybe be opened as a new issue instead.

/Gerhard

FileZilla Client


Version: 3.2.7.1-nightly

Build information:

Compiled for: i586-pc-mingw32msvc
Compiled on: x86_64-unknown-linux-gnu
Build date: 2009-09-06
Compiled with: i586-mingw32msvc-gcc (GCC) 4.2.1-sjlj (mingw32-2)
Compiler flags: -g -O2 -Wall -g -fexceptions

Linked against:

wxWidgets: 2.8.10
GnuTLS: 2.8.3

comment:19 by Alexander Schuch, 11 years ago

Resolution: fixed
Status: reopenedclosed

I put this in a separate feature request: #8288.

Note: See TracTickets for help on using tickets.