
/************************************************************************
 *									*
 * 	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
Version 4.2:	Updates to all sources except mbftp_tool.c to make them
		compile and link properly on an SGI running IRIX 6.4.
		This involved adding lots of "return(0)" statements
		to remove warning messages and converting from sgtty
		to termios terminal handling.  The compiler also caught
		a couple of bugs like "if (a=b)" instead of "if (a==b)".
		Finally, an X-Window interface, via a script for the
		Stanford Exploration Project "xtpanel" utility is included.
		(Stewart A. Levin  stew@sep.stanford.edu)
