mirror of
https://kernel.googlesource.com/pub/scm/network/tftp/tftp-hpa
synced 2025-04-28 02:49:53 +03:00
Factor out a lot of information out of the README file
This commit is contained in:
parent
02a2558d11
commit
a426cbf9a3
3 changed files with 150 additions and 147 deletions
138
CHANGES
Normal file
138
CHANGES
Normal file
|
@ -0,0 +1,138 @@
|
||||||
|
$Id$
|
||||||
|
|
||||||
|
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.
|
|
@ -29,3 +29,10 @@ client installing as /usr/bin/tftp and the tftpd server installing as
|
||||||
"make install" supports specifying an INSTALLROOT, which points to
|
"make install" supports specifying an INSTALLROOT, which points to
|
||||||
what will be the root of the filesystem at runtime; this is typically
|
what will be the root of the filesystem at runtime; this is typically
|
||||||
used when preparing packages for package-management systems.
|
used when preparing packages for package-management systems.
|
||||||
|
|
||||||
|
You almost certainly will need GNU make to build tftp-hpa. If you
|
||||||
|
don't already have it, you can find GNU make at:
|
||||||
|
|
||||||
|
ftp://ftp.gnu.org/pub/make/
|
||||||
|
or
|
||||||
|
ftp://mirrors.kernel.org/gnu/make/
|
||||||
|
|
152
README
152
README
|
@ -18,151 +18,9 @@ server. Although a tftp client is included, it is by and large the
|
||||||
stock OpenBSD version, with a small handful of portability
|
stock OpenBSD version, with a small handful of portability
|
||||||
improvements.
|
improvements.
|
||||||
|
|
||||||
You almost certainly will need to use GNU make to build tftp-hpa; GNU
|
Please see the INSTALL and INSTALL.tftp files for compilation and
|
||||||
make can be obtained at:
|
installation instructions.
|
||||||
|
|
||||||
ftp://ftp.gnu.org/pub/make/
|
|
||||||
or
|
|
||||||
ftp://mirrors.kernel.org/gnu/make/
|
|
||||||
|
|
||||||
|
|
||||||
===> IMPORTANT: SEE THE FILE "README.security" FOR IMPORTANT SECURITY
|
|
||||||
===> CHANGES ENACTED IN VERSION 0.17!!!!!!!!!
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
|
===> IMPORTANT: IF YOU ARE UPGRADING FROM ANOTHER TFTP SERVER, OR FROM
|
||||||
|
===> A VERSION OF TFTP-HPA OLDER THAN 0.17 SEE THE FILE
|
||||||
|
===> "README.security" FOR IMPORTANT SECURITY CHANGES!
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue