Subject: Ftp-WG: Coming changes in -11 mlst draft

From: Robert Elz <[email-masked]>
Date: Mon, 12 Jun 2000 13:47:59 -0500

Aside from the changes mentioned in the last 2 messages
(pathname, file name, 200 response to OPTS MLST, and
typos fixed), I have made two changes of substance to
the -11 draft (which I will submit after you all have
had a chance to review the following two pargraphs).

First, I wanted to make it clear that clients should not
send "." (or anything else) when they want to reference the
current directory in a MLSD (or even MLST) command.  That's
an attempt to force a fix for some unix clients that require
the user to enter "dir . |more" or "dir . /tmp/foo", and then
send "LIST ." to the server, or there is no way to send a listing
of the current directory to a process, or file.

The text I added for that was (in the marked lines, the unmarked
ones were there already) ...

   If no argument is given then MLSD must return a listing of the
   contents of the current working directory, and MLST must return a
   listing giving information about the current working directory
   itself.  For these purposes, the contents of a directory are whatever
   file names (not pathnames) the server-PI will allow to be referenced
   when the current working directory is the directory named, and which 
   the server-PI desires to reveal to the user-PI.  Note that omitting   |
   the argument is the only defined way to obtain a listing of the	 |
   current directory, unless a pathname that represents the directory  	 |
   happens to be known.  In particular, there is no defined shorthand	 |
   name for the current directory.  This does not prohibit any		 |
   particular server-PI implementing such a shorthand.			 |

And second, some more information on error responses to MLSx.  This
entire paragraph is new...

7.2.1. Error responses to MLSx commands
   
   Many of the 4xy and 5xy responses defined in section 4.2 of RFC959
   [3] are possible in response to the MLST and MLSD commands.  In
   particular, syntax errors can generate 500 or 501 replies.  Giving a
   pathname that is not a directory as the argument to a MLSD command
   generates a 501 reply.  Giving a name which does not exist, or for  
   which access permission (to obtain directory information as
   requested) is not granted will elicit a 550 reply.  Other replies
   (530, 553, 503, 504, and any of the 4xy replies) are also possible in
   appropriate circumstances. 

If anyone has any comments on either of those, please send them soon,
so I can submit the updated drafts soon.  If anyone believes that we
need a new WG last call because of any of these changes, also speak up.
The default (depending upon what our chair thinks of course) is likely
to be no new WG last call.

kre

---

From: Stephen Head <[email-masked]>
Date: Mon, 12 Jun 2000 14:05:54 -0500

>    appropriate circumstances.

Just for consistency's sake, it could be considered to mention explicitly
the possibility of encountering (some or all) 4xy responses
throughout (that is, in 3.2 and 4.2 as well).

-s

---

From: "Mark Symons" <[email-masked]>
Date: Mon, 12 Jun 2000 17:30:20 -0500

> ...I have made two changes of substance to

> First, I wanted to make it clear that clients should
> not send "." (or anything else) when they want to
> reference the current directory in a MLSD (or even
> MLST) command.

OK.  But note that section 7.7.6. (A different server) gives an example of
"MLSD ." as if it were perfectly valid.  Is that right?

Mark Symons
Ipswitch, Inc
Augusta, GA

---

From: Robert Elz <[email-masked]>
Date: Tue, 13 Jun 2000 01:45:42 -0500

Date:        Mon, 12 Jun 2000 17:30:20 -0500
    From:        "Mark Symons" <[email-masked]>
    Message-ID:  <[email-masked]>

  | But note that section 7.7.6. (A different server) gives an example of
  | "MLSD ." as if it were perfectly valid.  Is that right?

There's nothing invalid about it, "." is a perfectly valid TVFS pathname
(or just NVFS file name), that the server might support, or might not
support.   However there's nothing anywhere (other than perhaps MLST
output with type=cdir facts included) that suggests that "." is any
different a pathname than "random-file" (or "random-dir" in this case).
Either might refer to any kind of object whatever.

If people feel that the "." in the example is in any way suggesting that
'.' is something that servers should support to refer to the current
directory (because this doc says so, as distinct from because the market
demands it because some clients essentially require it), then I will
change the example (in this case, I'd probably even cheat, and just
erase the "." from the command passed...).   Or I could add some more
explanatory text after that example making it clear that "." is working
here due to the whim of the server implementor, not because it is required,
or even expected, to work.

What do people think?

kre

---

From: "Brad Clements" <[email-masked]>
Date: Tue, 13 Jun 2000 09:11:48 -0500

On 13 Jun 2000, at 1:45, Robert Elz wrote:

> demands it because some clients essentially require it), then I will change
> the example (in this case, I'd probably even cheat, and just erase the "."
> from the command passed...).   Or I could add some more explanatory text
> after that example making it clear that "." is working here due to the whim
> of the server implementor, not because it is required, or even expected, to
> work.
> 
> What do people think?

Remove the '.' from the examples, it only serves to confuse. 

Brad Clements,                [email-masked]   (315)268-1000
http://www.murkworks.com                          (315)268-9812 Fax
netmeeting: ils://ils.murkworks.com               AOL-IM: BKClements

---

From: Alun Jones <[email-masked]>
Date: Tue, 13 Jun 2000 10:01:56 -0500

>Remove the '.' from the examples, it only serves to confuse.

Agreed - examples should include as little as possible in the way of 
undocumented, system-dependent extensions to the standard.  I'm already 
anticipating someone insisting that the unique fact needs to contain lots 
of uppercase 'A's, or start with a 'k'. :-)

Alun.
~~~~

--
Texas Imperial Software | Try WFTPD, the Windows FTP Server. Find us
1602 Harvest Moon Place | at web site http://www.wftpd.com or email
Cedar Park TX 78613     | us at [email-masked].  VISA / MC accepted.
Fax +1 (512) 378 3246   | NT-based ISPs, be sure to read details of
Phone +1 (512) 378 3246 | WFTPD Pro, NT service version - $100.

---

From: Robert Elz <[email-masked]>
Date: Tue, 13 Jun 2000 10:17:32 -0500

Date:        Tue, 13 Jun 2000 10:01:56 -0500
    From:        Alun Jones <[email-masked]>
    Message-ID:  <[email-masked]>

  | >Remove the '.' from the examples, it only serves to confuse.
  | Agreed

OK, I will fix them.   I will need to remember how to check the
servers for what response message thy return to "MLSD" instead
of "MLSD ." though - I suspect mine is unchanged (you don't give
a path, my server just pretends you said "." ...)

But you're right, this stuff should remain as invisible as possible...

kre

---

From: Stephen Tihor <[email-masked]>
Date: Tue, 13 Jun 2000 11:00:45 -0500

I can see an argument for adding a section on common failings and 
mentioning presumptions of unix file naming or that . is part of the 
TVS or that $ and | are not characters in file and directory names, etc. 

If MSLD . is mention you might as well add an example with MLSD C$| and 
MLSD SYS$DISK:[] etc.