
/************************************************************************
 *									*
 * 	Background File Transfer Program (BFTP)				*
 *	May, 1991							*
 *									*
 *	Copyright (c) 1991 University of Southern California.		*
 *	All rights reserved.						*
 *									*
 *	Redistribution and use in source and binary forms are permitted	*
 * 	provided that the above copyright notice and this paragraph are	*
 * 	duplicated in all such forms and that any documentation,	*
 * 	advertising materials, and other materials related to such	*
 * 	distribution and use acknowledge that the software was		*
 *	developed by the University of Southern California, Information	*
 *	Sciences Institute.  The name of the University may not be used *
 *	to endorse or promote products derived from this software 	*
 * 	without specific prior written permission.			*
 *	THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR	*
 * 	IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED	*
 * 	WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 	*
 * 	PURPOSE.							*
 *									*
 ************************************************************************/

Questions and comments to:

    Annette DeSchon <deschon@isi.edu>
    Bob Braden <braden@isi.edu>
    
Tar file includes:   

    README
    "man" pages (nroff format)
	bftp.n
	bftptool.n
	mbftptool.n
    Makefile.sun (for Sun OS 3.4) -- used to build the following
	bftp
	bftpd
	bftptool
	mbftptool
	fts
    Makefile.vax (for BSD 4.3) -- used to build the following
	bftp
	bftpd
	fts
    Sources:
	andrewOS.h (used in parsedate.y) -- IBM and MIT
	bftp.c
	bftp.h
	bftp.icon
	bftpd.c
	bftp_req.c
	bftp_share.c
	bftp_tool.c
	clbftp.c
	fts.c
	fts.h
	fts_code.c
        hostname.c
	mbftp_tool.c
	parsedate.y -- IBM
	parsedlib.c -- IBM
	tool_lib.c
	ucb_cp.h -- UCB
	ucb_cp.c -- UCB
	
Instructions:

    1.	Edit the site-specific definitions in "bftp.h".

    2.	Copy either "Makefile.sun" or "Makefile.vax" to "Makefile".

	The flag ISI4_2, which is found in "Makefile.sun", is used to
	indicate that "netdb.h-bind", which supports ISI custom nameserver
	code, should be included instead of "netdb.h".

	The flag BSD4_3, which is defined in "/usr/include/sys/param.h" on
	4.3 systems, is used needed for the 4.3 version of "gethostbyname".
	For Sun OS 4 systems the flags SUNOS4 and BSD4_3 should be
	defined in the Makefile.

    3.  At this point you should be ready to do a "make".

    4.  To have BFTP put all request files in a directory other than
	the "HOME" directory, a user may set the environment variable
	"BFTPDIR".  For example
		mkdir .bftp
		setenv BFTPDIR ~deschon/.bftp
	The "setenv" command may be placed in ones ".login" file.

    5.  The "bftpd" module is used to provide an internet server that can
	be accessed with no login, via a telnet connection on port 152.
	If you want to try out ISI's server, try 
		"telnet hobgoblin.isi.edu 152".

	To set up your own "bftpd", which will be run by "inetd":
	    The following entry should be added to "/etc/services":
                bftp    152/tcp   # Background File Transfer Server
	    An entry should also be added to "/etc/servers":
                bftp    tcp       /your-directory-here/bftpd
	    Note: on 4.3BSD systems the entry will be made in "/etc/inetd.conf"
	    rather than in "/etc/servers".

Summary of changes:

Version 1:	Initial release
	2:	Fixed reference to include-file in bftp.c
	3:	Added SUNOS4 flag to parse.c
	4:	Fixed "define" flag names ("_" instead of ".")
		Fixed ";" typo in bftp_tool.c
		Included Paul Pomes' Makefile -- Makefile.uiuc.
	5:	Fixed time zone problem (GMT+1, etc.): Ken Harrenstien's
		    new time parsing routines.
	6:	Added Dave Curry's fixes for handling suspend and
		    interrupt signals -- parse.c
		Changed "unknown host" error to an "ERR_RETRY" -- fts.c
	7:	Included bftpd.c which is based on the Tahoe version of
		    Berkeley's telnetd.c.
	8:	Added version number.
		Error check port returned in reply to PASV command.
		Fixed "at: too late" bug in SUNOS4 version (prevented
		    requests from being submitted "now").
	9:	Fixed bug in OS4 version which caused "at" printout to 
		    be sent to user in messages from "root".
		    -- fts.c, bftp_req.c
	10:	Fixed bug in the handling of continuation lines in FTP
		    replies -- fts.c
	11:	The "cancel" command now deletes ".list" files that
		    may remain when BFTP is interrupted in the middle of
		    a transfer attempt. -- bftp.c, bftp_tool.c, 
		    bftp_req.c, bftp_share.c
		Alternate directory capability (for BFTP request files).
		    -- bftp.c, bftp_tool.c, bftp_req.c, bftp_share.c
		Changes for Sun OS 4.0 "at" -- bftp_req.c
		Deleted extra parameter on "bind" -- fts.c
		In bftp, "time" command changed to "set time" -- bftp.c
		Man pages for bftp and bftptool.
		Compatible with new Berkeley ftpd -- fts.c
	12:	Removed requirement for directory to end with a delimiter.
		    -- bftp_share.c, bftp.c, bftp_tool.c
		Allow "." and "-" in names of request files
		    -- bftp.c, bftp_tool.c
		Several minor bugs -- fts.c
Version 2.0:
		FTS code is now called directly from the bftptool.
		bftptool status windows are now scrollable text windows.
		In addition several minor bugs were fixed.
		    -- fts.h, fts_code.c, bftp_tool.c, bftp_share.c
	2.01	Minor bugs fixed -- bftp_tool.c
		More code moved into tool_lib.c in preparation for
		    upcoming release of the mbftptool.

	2.1	Minor bugs fixed -- fts_code.c
		The mbftptool, which is used to transfer files to multiple
		sites, is included in this release -- mbftp_tool.c

	2.11	Conference mode has been added to the mbftptool --
		    mbftp_tool.c, fts_code.c
		The bftptool and the mbftptool have more routines in
		    common, inluding the help procedures.
		    -- tool_lib.c, mbftp_tool.c, bftp_tool.c
	2.12	Fixed bug in which ByteSize field displayed in the wrong
		    place -- tool_lib.c, mbftp_tool.c, bftp_tool.c
	2.13	Minor additions to the help text -- tool_lib.c
	2.14	Added DST_FIRST flag to signify that the PASV command
		    should be sent to the destination host first 
		    (before the source host is tried)
		    -- fts_code.c
		Fixed bug in BFTPTool request storage code
		    -- bftp_tool.c, mbftptool.c, tool_lib.c
	2.15	Fixed bug in which fts would not skip files that had
		    been sent in a previous attempt -- fts_code.c
Version	3.0	Replaced the command parser -- ucb_cp.h, ucb_cp.h, bftp.c
		Replaced the time parsing code -- andrewOS.h, parsedate.y,
		    parsedlib.c, bftp_req.c, bftp_share.c, bftp.c, 
		    bftp_tool.c, and mbftp_tool.c
		Don't forget to pick up a new Makefile; parse.h, parse.c,
		    timex.h, timemk.c, timepa.c, and timezn.c are no longer
		    in use.
		Minor bug fix -- added "-s" flag on "at" -- bftp_req.c
		Fixed disappearing window following a "submit" --
		    bftp_tool.c
	3.1	Fixed minor typo in prompt -- bftp.c
		Added code to handle ftpd's that start out in the "/pub"
		    directory (which I don't think that ftpd should do) --
		    fts_code.c
	3.11	Fixed bug in mbftptool conference mode file naming -- 
		    mbftp_tool.c
		Fixed bug in tools in which status window was positioned at
		    the top after error checking -- tool_lib.c, bftp_tool.c
		Fixed bug in mbftptool in which file name was not properly
		    displayed following multiple-flag change -- mbftp_tool.c
		Raised the limit on the length of an FTP greeting line
		    from 255 to 1024 -- fts.h
	3.12    getc really returns an "int", and MIPS-120/5 under RISC/os
		    4.01 cares -- fts_code.c
Version 4.0:	Made BFTP more tolerant of FTP servers that don't properly
		    include carriage-returns in the NLST response -- fts_code.c
		Included code for Cray/System V systems from Andy Nicholson, 
		    of Cray.  See the SYSV, the CRAY, and the __STDC__
		    ifdef's.  (If anyones uses __STDC__, please verify that
		    the code in fts_code.c works for you and let me know.)
		Introduced a new command-line user interface for BFTP,
		    "clbftp".  For online help try "clbftp -H" and "clbftp -X".
		    There is no official man-page yet.

	4.01    Fixed typo in the Makefile's.
	4.02	Added missing dependencies to Makefile's.
		Deleted some extra includes from clbftp.c and bftp.c.
		Added checks for FTP replies that indicate a permanent 
		    error rather than a temporary error, as they should.
		    -- fts_code.c
	4.03	Fixed bug in check for bogus permanent error -- fts_code.c
Version	4.1:	Improvements in the BFTPTOOL and the MBFTPTOOL --
		mbftp_tool.c, bftp_tool.c, tool_lib.c
