Subject: CVS commit: basesrc
To: None <source-changes@netbsd.org>
From: Luke Mewburn <lukem@netbsd.org>
List: source-changes
Date: 07/18/2000 00:16:58
Module Name:	basesrc
Committed By:	lukem
Date:		Tue Jul 18 07:16:57 UTC 2000

Modified Files:
	basesrc/usr.bin/ftp: cmds.c cmdtab.c extern.h ftp.1 ftp.c ftp_var.h
	    main.c util.c version.h

Log Message:
add support for FEAT and OPTS commands with `features' and `opts'.
(from RFC 2389).

add support for MLST & MLSD (machine parseble listings) with 'mlst', 'mlsd'
and 'pmlsd' (mlsd |$PAGER) commands.  (from draft-ietf-ftpext-mlst-11)

rename remotesyst() to getremoteinfo(), and modify to parse the result from
FEAT (if supported), and take into account the support for the various
extensions such as MDTM, SIZE, REST (STREAM), MLSD, and FEAT/OPTS.
put each feature into one of the following categories:
	- known to work (explicit FEAT)
	- unknown but assume works until explicit failure, when it's
	  then tagged as `known not to work'.
	- known not to work (FEAT succeeded but didn't return anything,
	  or was unknown and then explicit failure)
assign results into features[] matrix.

add support to getreply() so that an optional callback will be called
for each line received from the server except for the first and last.
this is used in FEAT (and MLST) parsing.

modify various commands to check if REST (STREAM), MDTM and SIZE are
explicitly or implicitly supported before using.

fix `syst' when verbose is off.

minor knf (indent goto labels by one space, etc).

simply various command usage handlers by assuming that argv != NULL except
for quit() and disconnect().


To generate a diff of this commit:
cvs rdiff -r1.87 -r1.88 basesrc/usr.bin/ftp/cmds.c
cvs rdiff -r1.35 -r1.36 basesrc/usr.bin/ftp/cmdtab.c
cvs rdiff -r1.57 -r1.58 basesrc/usr.bin/ftp/extern.h
cvs rdiff -r1.69 -r1.70 basesrc/usr.bin/ftp/ftp.1
cvs rdiff -r1.101 -r1.102 basesrc/usr.bin/ftp/ftp.c
cvs rdiff -r1.54 -r1.55 basesrc/usr.bin/ftp/ftp_var.h
cvs rdiff -r1.72 -r1.73 basesrc/usr.bin/ftp/main.c
cvs rdiff -r1.96 -r1.97 basesrc/usr.bin/ftp/util.c
cvs rdiff -r1.14 -r1.15 basesrc/usr.bin/ftp/version.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.