Subject: CVS commit: basesrc
To: None <source-changes@netbsd.org>
From: Luke Mewburn <lukem@netbsd.org>
List: source-changes
Date: 06/19/2000 08:15:06
Module Name:	basesrc
Committed By:	lukem
Date:		Mon Jun 19 15:15:06 UTC 2000

Modified Files:
	basesrc/libexec/ftpd: cmds.c conf.c extern.h ftpcmd.y ftpd.8 ftpd.c
	    version.h

Log Message:
various fixes suggested by Robert Elz:
* implement closedataconn() and use appropriately (including in mlsd())
* only put leading space in front of MLST output (not MLSD output)
* MLSD: only output pdir and cdir entries when the type fact is requested.
* change error code for giving MLSD a non-directory from 550 to 501
* remove MLSx Type fact support for UNIX.* for now; it's not standardised yet.
* do a check_login when MLSD and MLST are given no args
* detect & complain about null facts in OPTS MLST
* cache getgroups() at login instead of calling each time in fact_perm()

other mods:
* implement cprintf(); as per fprintf() but increments total_bytes{,_out}
* implement CPUTC(); as per putc() but increments total_bytes{,_out}
* implement base64_encode()
* fact_unique() display base64 encoding of dev_t and ino_t rather than
  hex output; should scale if size of those changes
* change reply() so that a negative code acts as the initial line in a reply,
  code == 0 prefixes the line with 4 spaces, and code > 0 works as before.
  deprecate lreply(code, ) and lreply(0, ) in favour of reply(-code, ) and
  reply(0, ) respectively.
* use cprintf() and CPUTC() appropriately (often instead of printf(),
  lreply(-2, ) or lreply(-1, ).
  now we actually account for the data sent by MLST and MLSD.
* remove DEBUG support for sending MLSD output to control connection instead
  of data connection (my ftp client now supports MLSD :-)


To generate a diff of this commit:
cvs rdiff -r1.2 -r1.3 basesrc/libexec/ftpd/cmds.c
cvs rdiff -r1.30 -r1.31 basesrc/libexec/ftpd/conf.c
cvs rdiff -r1.27 -r1.28 basesrc/libexec/ftpd/extern.h
cvs rdiff -r1.47 -r1.48 basesrc/libexec/ftpd/ftpcmd.y
cvs rdiff -r1.52 -r1.53 basesrc/libexec/ftpd/ftpd.8
cvs rdiff -r1.94 -r1.95 basesrc/libexec/ftpd/ftpd.c
cvs rdiff -r1.11 -r1.12 basesrc/libexec/ftpd/version.h

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