Ftp-WG: NLST vs MLSD

"D. J. Bernstein" <[email protected]> Sat, 19 Oct 2002 14:48:27 -0500
Newsgroups gmane.ietf.ftpext
Message-ID <[email protected]>
> However, there's no reason why an MLSW command couldn't be specified,

It's awful protocol design. Here's the picture:

   Protocol   Servers           Clients without mget   Clients with mget
   --------   ---------         --------------------   ---------------------
   standard   no effort         no effort              parse wildcards, loop
   fantasy    parse wildcards   no effort              loop
   your mix   parse wildcards   no effort              parse wildcards, loop

The first line is how the standard FTP protocol works. By moving the
wildcard handling as close as possible to the user, it puts the burden
on the smallest number of programs---the programs that actually care.

The second line is how some confused implementors think FTP works. It
puts a burden on every server, including servers that would otherwise be
substantially simpler, for the benefit of some clients that have to be
fairly complicated anyway.

The third line, your MLSW proposal, is absurd. It has all the burdens of
the first two lines without any of the benefits.

> > The mget argument is a wildcard, not a directory name.
> The client has no way of knowing that.

The client's mget documentation states explicitly that wildcards are
allowed. RTFM.

> > Bottom line: Certain client implementors have led the users to believe
> > that mget * will retrieve all files in the current directory, but they
> > are not implementing this function correctly.
> Perhaps you can point me to the documentation that has led these users down 
> the garden path.

The Kermit FTP client mget documentation, for example, explicitly allows
wildcards. Its implementation of this feature fails to interoperate with
some compliant servers.

---D. J. Bernstein, Associate Professor, Department of Mathematics,
Statistics, and Computer Science, University of Illinois at Chicago