Ticket #1448 (new defect)

Opened 10 years ago

Last modified 3 years ago

FTP protocol in Midnight Commander is unusable [metabug]

Reported by: birdie Owned by:
Priority: major Milestone: Future Releases
Component: mc-vfs Version: master
Keywords: Cc:
Blocked By: Blocking:
Branch state: no branch Votes for changeset:

Description

  1. It doesn't support many FTP servers.
  1. It doesn't support servers with non ISO8859-1 locale (it can support them if remote server locale matches local system locale but that's not a solution).
  1. When you hit F5/F6 (copy/move) button while being at a remote FTP directory MC rereads the remote FTP directory which is not necessary.
  1. After *copying* a file from FTP server a remote FTP directory is reread which is not necessary (and even detrimental since a remote directory can contain thousands of files).
  1. If MC has lost connection with an FTP server, it doesn't reconnect automatically.
  1. If MC has lost the connection with an FTP server, it returns to a .. directory, not . directory (say you were in ftp://server.com/pub/files, after reconnect MC will show you ftp://server.com/pub directory)
  1. MC is unable to do/complete any operations with a remote FTP server, after the connection has been lost (F5/F6/F8/etc).


Feature requests:

  1. There's no directory cache in MC, please, implement it.
  1. Implement aggressive directory cache in MC, so that when you copy/move/create/remove file from/to remote FTP server, MC mentally calculates the operation result and shows it *without* rereading a remote directory.
  1. Implement FTP hotlist where you can set up

a) Remote FTP server filenames codepage
b) Active/Passive? FTP
c) Aggressive caching
d) Usage of firewall/proxy

  1. Implement HTTP Proxy support (at least squid)

Change History

comment:1 follow-up: ↓ 3 Changed 10 years ago by slavazanko

  • Component changed from mc-core to mc-vfs
  • Milestone changed from 4.7 to VFS Standardisation

We have plan for review all VFS code. In any case, FTP will review (and reworked) too.

comment:2 Changed 10 years ago by iNode

FTP protocol in Midnight Commander is unusable

It's almost not true.

About your bugs:

  1. What ftp servers do you mean?
  2. please compile and test with latest mc version before report invalid bugs
  3. ftp server does not notify us when dir content changes, so we should reread it (unless Options->Configuration:[ ] Fast dir reload, did you try it?).

4,5,6 - yes, it's bugs

About your requests:

  1. - yes it should be implemented

    MC mentally calculates the operation result and shows it *without* rereading a remote directory.

  2. - see above about caching

3a. - implemented, just try it.
3b. - implemented at least for whole mc, see Options->VirtualFS, mostly useless as per host setting
3c. - maybe, it should be another ticket
3d. - see 4. if Options->VirtualFS, proxy does not work for you.

  1. - now you can use proxychains or any other proxy binding tool, but your proposal considered

Please, create correct bug report per each bug/request after you test lastest version
of mc or just wait for VFS rework finished.

comment:3 in reply to: ↑ 1 Changed 10 years ago by quasaro

I'd just want to add a specific case where FTP support fails:

When I connect to a ftp server running nullFTP, right after the login, I got a set of red-error pop-ups saying:

┌───────────────── Cannot parse: ──────────────────┐
│ │
│ 07-06-09 10:39AM <DIR> External. │
│ │
└──────────────────────────────────────────────────┘

I guess there's a problem parsing the dir, because of NT-based file-system.

And then I get the empty panel, with no dirs/files.

Replying to slavazanko:

We have plan for review all VFS code. In any case, FTP will review (and reworked) too.

comment:4 Changed 10 years ago by birdie

OK, MC 4.7.0 pre2:

  1. [NEEDINFO] I will try to find them ;) right now MC opens pretty much all FTPs that I have around me.
  1. [RESOLVED] Ctrl + T did it. thanks!
  1. [NEW] It even happens even with Fast Dir Reload
  1. [NEW] It even happens even with Fast Dir Reload

I will comment upon other issues later.

comment:5 in reply to: ↑ description ; follow-up: ↓ 7 Changed 10 years ago by birdie

Replying to birdie:

  1. If MC has lost the connection with an FTP server, it returns to a .. directory, not . directory (say you were in ftp://server.com/pub/files, after reconnect MC will show you ftp://server.com/pub directory)

Still true.

  1. MC is unable to do/complete any operations with a remote FTP server, after the connection has been lost (F5/F6/F8/etc).

It's absolutely annoying when you select 10 out of 5000 files on a remote server only to know that MC has lost the connection and upon reconnect it doesn't show the same FTP directory and of course loses the selection.


Feature requests:

  1. There's no directory cache in MC, please, implement it.

Fast dir reload does NOT work and does NOT help.

All other feature requests are still relevant.

comment:6 Changed 8 years ago by andrew_b

  • Branch state set to no branch
  • Milestone changed from 4.8 to Future Releases

comment:7 in reply to: ↑ 5 Changed 8 years ago by phil

Replying to birdie:

Replying to birdie:

  1. If MC has lost the connection with an FTP server, it returns to a .. directory, not . directory (say you were in ftp://server.com/pub/files, after reconnect MC will show you ftp://server.com/pub directory)

Still true.

Still true after 3 more years and with the new VFS.

  1. MC is unable to do/complete any operations with a remote FTP server, after the connection has been lost (F5/F6/F8/etc).

It's absolutely annoying when you select 10 out of 5000 files on a remote server only to know that MC has lost the connection and upon reconnect it doesn't show the same FTP directory and of course loses the selection.

Still there...

comment:8 follow-up: ↓ 9 Changed 5 years ago by kohts

FTP doesn't seem to work in GNU Midnight Commander 4.7.0.2
connecting to Microsoft Internet Information Services FTP site.

Here's corresponding FTP log (mc --ftplog=/tmp/ftp.log):

220 Microsoft FTP Service
MC -- remote_is_amiga =  0
USER anonymous
331 Anonymous access allowed, send identity (e-mail name) as password.
PASS <Password not logged>
230 User logged in.
PWD
257 "/" is current directory.
CWD /
250 CWD command successful.
EPSV
229 Entering Extended Passive Mode (|||58749|)
TYPE A
200 Type set to A.
LIST -la
125 Data connection already open; Transfer starting.
10-15-13  10:08AM       <DIR>          analytics
05-27-14  05:16AM       <DIR>          aspnet_client
11-20-14  12:36PM            161645801 DiscIntercity.tsv
11-20-14  12:47PM              2031110 DiscLocal.tsv
03-22-15  01:15PM       <DIR>          INC0023508
12-23-14  12:35PM           3403603000 Initial_KPI_20141223_62808477.CSV
10-14-13  04:07PM       <DIR>          segment
11-20-14  02:54AM            399282436 SSUnlimAll.tsv
10-14-13  04:07PM       <DIR>          subscriber
03-22-15  05:51PM       <DIR>          tmp
11-20-14  11:45AM            773305597 UnlimOnnet.tsv
226 Transfer complete.
QUIT

In the midnight command UI I get several "Cannot parse" error messages:
10-15-13 10:08AM <DIR> analytics.
05-27-14 05:16AM <DIR> aspnet_client.
11-20-14 12:36PM 161645801 DiscIntercity.tsv.
11-20-14 12:47PM 2031110 DiscLocal.tsv.

And finally:
More parsing errors will be ignored.

There's "FTP Directory browsing" configuration screen in IIS
where I have "Directory Listing Style" option set to "MS-DOS"
(with alternative being "UNIX"), unfortunately I can't change it
(production environment), probably setting it to UNIX would fix the issue.

Anyway, would be nice to support "MS-DOS" option too.

comment:9 in reply to: ↑ 8 Changed 5 years ago by boris

Replying to kohts:

FTP doesn't seem to work in GNU Midnight Commander 4.7.0.2
connecting to Microsoft Internet Information Services FTP site.

Similar problem is described in #3174, probably the patch attached there may help. At present, mc does not understand FTP listings returned by Microsoft servers.

comment:10 in reply to: ↑ description Changed 3 years ago by rpgmaker


  1. If MC has lost connection with an FTP server, it doesn't reconnect automatically.


Seven years after this was reported and it's still true. This makes mc essentially useless as an FTP client.

Last edited 3 years ago by rpgmaker (previous) (diff)
Note: See TracTickets for help on using tickets.