From owner-freebsd-chat Sat May 2 06:42:23 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id GAA22754 for freebsd-chat-outgoing; Sat, 2 May 1998 06:42:23 -0700 (PDT) (envelope-from owner-freebsd-chat@FreeBSD.ORG) Received: from implode.root.com (implode.root.com [198.145.90.17]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id GAA22700 for ; Sat, 2 May 1998 06:42:11 -0700 (PDT) (envelope-from root@implode.root.com) Received: from implode.root.com (localhost [127.0.0.1]) by implode.root.com (8.8.5/8.8.5) with ESMTP id GAA22661; Sat, 2 May 1998 06:41:32 -0700 (PDT) Message-Id: <199805021341.GAA22661@implode.root.com> To: Eivind Eklund cc: chat@FreeBSD.ORG Subject: Re: ftp.freebsd.org acting funny? In-reply-to: Your message of "Sat, 02 May 1998 14:17:57 +0200." <19980502141757.54394@follo.net> From: David Greenman Reply-To: dg@root.com Date: Sat, 02 May 1998 06:41:32 -0700 Sender: owner-freebsd-chat@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org >On Fri, May 01, 1998 at 05:10:32PM -0700, David Greenman wrote: >> I said: >> >> >a much smaller set. -C would be the default in any case, and -F will be >> >ignored. >> >> Oops, actually -C is not the default of course and it will also be >> ignored. >> I now know why the problem is occuring with ncftp and it has to do with >> it not conforming to the RFC regarding the NLST command. I don't think I'm >> going to work around that. > >A large fraction of Unix people use ncftp2. I'd hope you would >reconsider - or if not, at least add a warning and a suggestion for >another useable commandline FTP client to the login message. I've not >yet seen another usable commandline FTP for Unix :-( ncftp and ncftp2 work fine. What is broken is that people expect that passing arguments to the "ls" command will be interpreted on the other end when the RFC specifically says otherwise. RFC 959 is quite specific about the behavior of the NLST command (which is what 'ls' does in ncftp): NAME LIST (NLST) This command causes a directory listing to be sent from server to user site. The pathname should specify a directory or other system-specific file group descriptor; a null argument implies the current directory. The server will return a stream of names of files and no other information. The data will be transferred in ASCII or EBCDIC type over the data connection as valid pathname strings separated by or . (Again the user must ensure that the TYPE is correct.) This command is intended to return information that can be used by a program to further process the files automatically. For example, in the implementation of a "multiple get" function. It specifically does not provide for multicolumn output, funny characters added to the filenames to indicate their type, or provide for the passing and processing of any command options. It takes a pathname argument and nothing more. The reason that it worked at all with the standard BSD ftpd server is that that had a kludge in the code to work around getting bogus arguments to NLST, even though this makes it violate the FTP RFC. If I wanted to support this in my code, it is more than a matter of adding a similar kludge - I'll also have to write the code to do those (-C -F, etc) options, and I'm not too excited about doing that, especially when the whole point of this exercise was to reduce CPU and memory overhead on the machine. I am still listening to people's comments, however... :-) -DG David Greenman Co-founder/Principal Architect, The FreeBSD Project To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-chat" in the body of the message