forked from mirrors/tftp-hpa-google
		
	- Move missing header file stuff consistently into config.h. - Make "make -j" work correctly.
		
			
				
	
	
		
			171 lines
		
	
	
	
		
			5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			171 lines
		
	
	
	
		
			5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
$Id$
 | 
						|
 | 
						|
Changes in 0.26:
 | 
						|
	Fix the configuration process so tftpd doesn't end up
 | 
						|
	depending on readline, which apparently could happen on some
 | 
						|
	platforms before.
 | 
						|
 | 
						|
	Make parallel builds (make -j) work correctly.
 | 
						|
 | 
						|
	Improve parsing of the "connect" command in the tftp client.
 | 
						|
 | 
						|
	Add a -V option to both tftp and tftpd to print the version
 | 
						|
	number on stdout and immediately exit.
 | 
						|
 | 
						|
	Add a -v option to tftp to start out in verbose mode.
 | 
						|
	
 | 
						|
 | 
						|
Changes in 0.25:
 | 
						|
	Fixed Sorcerer's Apprentice bug in both the client and the
 | 
						|
	server.  These bugs were inherited from the original BSD code.
 | 
						|
 | 
						|
 | 
						|
Changes in 0.24:
 | 
						|
	Fix bugs in both client and server dealing with block number
 | 
						|
	wraparound, usually manifesting themselves as failure to
 | 
						|
	handle files over 32 MB in size.
 | 
						|
 | 
						|
	Officially make the client a part of the tftp-hpa project.
 | 
						|
 | 
						|
 | 
						|
Changes in 0.23:
 | 
						|
	Correct memory overwrite bug in the tftp client when compiled
 | 
						|
	with readline.
 | 
						|
 | 
						|
 | 
						|
Changes in 0.22:
 | 
						|
	Even more portability improvements: FreeBSD and
 | 
						|
	Tru64/Digital Unix.
 | 
						|
 | 
						|
	Fix tsize option on systems on which off_t is "long long".
 | 
						|
 | 
						|
	Support large files on systems which need _LARGE_FILE_BITS or
 | 
						|
	similar.
 | 
						|
 | 
						|
	Some source cleanups; change to autoconf 2.52.
 | 
						|
 | 
						|
	Add support for readline command-line editing in tftp.
 | 
						|
 | 
						|
 | 
						|
Changes in 0.21:
 | 
						|
	Support running in standalone mode, without inetd.
 | 
						|
 | 
						|
	Even more portability improvements.  Now known to compile and
 | 
						|
	run on Linux, Solaris 5, 5.1, 6, 7 and 8, and AIX.  Reports of
 | 
						|
	success or failure on other modern systems always appreciated.
 | 
						|
 | 
						|
	Clean and modernize some really ugly old code.
 | 
						|
 | 
						|
	Fix a potential illegal memory access when running in "totally
 | 
						|
	insecure mode" - no -s, no directories listed.
 | 
						|
 | 
						|
 | 
						|
Changes in 0.20:
 | 
						|
	Portability improvements.  Now known to compile and run on
 | 
						|
	Solaris 8.
 | 
						|
 | 
						|
 | 
						|
Changes in 0.19:
 | 
						|
	Fork before performing tcpwrappers check.
 | 
						|
 | 
						|
	Don't rely on nonstandard bsd_signal() function, instead
 | 
						|
	require that the platform has sigaction().  This is 2001,
 | 
						|
	after all.  This may resolve some potential portability
 | 
						|
	problems.
 | 
						|
 | 
						|
	Log a message if memory allocation fails, instead of dying
 | 
						|
	silently.
 | 
						|
 | 
						|
	Clean up the main dispatch loop.
 | 
						|
 | 
						|
	Use <sysexits.h> for exit codes, if it exists.
 | 
						|
 | 
						|
	Add support for debugging remapping rulefiles; if logging with
 | 
						|
	-vvv tftpd will log all rules actions.
 | 
						|
 | 
						|
	Correct the error code issued by an "abort" rule.
 | 
						|
 | 
						|
 | 
						|
Changes in 0.18:
 | 
						|
	Support (almost) arbitrary filename remappings via regular
 | 
						|
	expression-based rulesets.
 | 
						|
 | 
						|
	Added -v option for more verbose logging.
 | 
						|
 | 
						|
 | 
						|
Changes in 0.17:
 | 
						|
 | 
						|
	Add support for tcpwrapper checking (/etc/hosts.allow;
 | 
						|
	/etc/hosts.deny) in tftpd.
 | 
						|
 | 
						|
	Compile correctly on glibc 2.1.2.
 | 
						|
 | 
						|
	Add -u option to specify the user id to run as (default
 | 
						|
	"nobody".)
 | 
						|
 | 
						|
	Operate in "daemon mode" as long as we keep getting requests.
 | 
						|
	This should speed up handling large amounts of requests at
 | 
						|
	once, as can happen when a client starts up, and avoids inetd
 | 
						|
	misconfiguration problems.
 | 
						|
	
 | 
						|
 | 
						|
Changes in 0.16:
 | 
						|
 | 
						|
	Correct massive lossage from 0.15: apparently 0.15 was based
 | 
						|
	on an out-of-date CVS repository, somehow.
 | 
						|
 | 
						|
	Fix for ACKs in TFTP PUT; patch by Roger Venning.
 | 
						|
 | 
						|
 | 
						|
Changes in 0.15:
 | 
						|
 | 
						|
	If the operating system allows, try to obtain the local
 | 
						|
	address used for the request packet, and reply using the same
 | 
						|
	local IP address.  Some embedded TFTP clients are (probably
 | 
						|
	incorrectly) picky about this.
 | 
						|
 | 
						|
 | 
						|
Changes in 0.14:
 | 
						|
 | 
						|
	Hacks to signal handling to avoid "zombie servers."
 | 
						|
 | 
						|
 | 
						|
Changes in 0.13:
 | 
						|
 | 
						|
	Added the non-standard option "blksize2".  The "blksize"
 | 
						|
	option is limited in its usability, since TFTP is designed to
 | 
						|
	be implemented in a ROM, and ROM code might find it painful to
 | 
						|
	deal with packets that don't meet certain alignment
 | 
						|
	restrictions.
 | 
						|
 | 
						|
	The "blksize2" option tells the server that the block size
 | 
						|
	must be a power of 2 to be usable to the client.  The server
 | 
						|
	SHALL respond with a block size that is a power of two, up to
 | 
						|
	a maximum of 32768, or reject the option.  Furthermore, the
 | 
						|
	server SHALL grant a block size that is no smaller than 512
 | 
						|
	bytes unless the client explicitly requested a smaller block
 | 
						|
	size.  If the client request both options, the server MAY
 | 
						|
	accept one or the other, but not both.  At some point I will
 | 
						|
	probably write up an IETF draft for this option.
 | 
						|
 | 
						|
 | 
						|
General information on the tftp-hpa series:
 | 
						|
 | 
						|
The core software was taken from OpenBSD (CVS source as of
 | 
						|
1999-09-21).  I believe this was the most secure source base available
 | 
						|
at the time I obtained this code, and it included support for the -s
 | 
						|
and -c options.
 | 
						|
 | 
						|
The un-BSD-ized Makefiles and a lot of the configure macros were taken
 | 
						|
from netkit-tftp-0.10 by David Holland; I also followed this example
 | 
						|
and modernized the code style throughout.
 | 
						|
 | 
						|
Patches by Markus Gutschke and Gero Kuhlmann were the basis for the
 | 
						|
option negotiation as well as the "blksize" and "tsize" option
 | 
						|
support, although I made a fair amount of mostly stylistic changes to
 | 
						|
their code.
 | 
						|
 | 
						|
Adding the -r option (disable a specific option), the "timeout"
 | 
						|
option, converting to using autoconf for setup, and any additions
 | 
						|
listed in the Changes list above, has all been my own code, as are any
 | 
						|
bugs introduced in the merge.
 |