?TC doesn't recognize FTP server locked file error

The behaviour described in the bug report is either by design, or would be far too complex/time-consuming to be changed

Moderators: Hacker, petermad, Stefan2, white

Post Reply
Abmea
Junior Member
Junior Member
Posts: 19
Joined: 2013-10-02, 15:45 UTC

?TC doesn't recognize FTP server locked file error

Post by *Abmea »

This may be specific for a Microsoft FTP server, but TC does not handle a 550 FTP server error code well.

A MS IIS server would return such an error when you try to download a file that is being uploaded by another user or is locked in some other way. The exact error is "550 The process cannot access the file because it is being used by another process".

TC would receive this error on the SIZE command before the actual transfer. Instead of aborting and displaying an error, TC simply continues with a RETR command and nothing happens for a very long time.
If the user then tries to abort the download nothing happens either for a very long time (probably some time-out value) and then a generic error message is displayed. During that period, TC is totally inresponsive to the user.

TC could do better by:
-recognizing a 550 (5xx in general?) status code, displaying the error to the user and abort the transfer.
-be responsive when "cancel" is pressed while a FTP command is in progress.

As a side-note: the upload that was in progress was also done with TC on another computer. If TC could perform uploads with TEMP names on the server (and rename when finished), the other user would not be tempted to download the file. I know this is a much debated FTP feature with many pittfals, but it would certainly help me a lot.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50541
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Indeed TC interprets everything other than 2xx in return to SIZE as an error of the size command. In addition, 50x is treated as "SIZE command not available".

Here are the known replies:
500 Syntax error, command unrecognized.
501 Syntax error in parameters or arguments.
502 Command not implemented.
503 Bad sequence of commands.
504 Command not implemented for that parameter.
550 File unavailable

Unfortunately 550 can mean multiple things, the general meaning seems to be just "File unavailable". It's not clear how TC should react to that...
Author of Total Commander
https://www.ghisler.com
Abmea
Junior Member
Junior Member
Posts: 19
Joined: 2013-10-02, 15:45 UTC

Post by *Abmea »

Ok, thanks for the reply.

So if TC interprets 550 as "file unavailable", why does it then still continue with the transfer? Anything I can configure on my side?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50541
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

Because it cannot why SIZE is reporting this - and it should work also without SIZE when the file appears in the directory listing...
Author of Total Commander
https://www.ghisler.com
Post Reply