Add documentation for matching options; more verbose logging.
[tftp-hpa.git] / README
blob237819768dc8cd17835ae0dc09f18f7fd863159a
1 This is tftp-hpa-0.18; this version was put out by H. Peter Anvin
2 <hpa@zytor.com>.
4 ===> IMPORTANT: SEE THE FILE "README.security" FOR IMPORTANT SECURITY
5 ===> CHANGES IN THIS VERSION!!!!!!!!!
7 Changes in 0.18:
8         Support (almost) arbitrary filename remappings via regular
9         expression-based rulesets.
12 Changes in 0.17:
14         Add support for tcpwrapper checking (/etc/hosts.allow;
15         /etc/hosts.deny) in tftpd.
17         Compile correctly on glibc 2.1.2.
19         Add -u option to specify the user id to run as (default
20         "nobody".)
22         Operate in "daemon mode" as long as we keep getting requests.
23         This should speed up handling large amounts of requests at
24         once, as can happen when a client starts up, and avoids inetd
25         misconfiguration problems.
26         
28 Changes in 0.16:
30         Correct massive lossage from 0.15: apparently 0.15 was based
31         on an out-of-date CVS repository, somehow.
33         Fix for ACKs in TFTP PUT; patch by Roger Venning.
36 Changes in 0.15:
38         If the operating system allows, try to obtain the local
39         address used for the request packet, and reply using the same
40         local IP address.  Some embedded TFTP clients are (probably
41         incorrectly) picky about this.
44 Changes in 0.14:
46         Hacks to signal handling to avoid "zombie servers."
49 Changes in 0.13:
51         Added the non-standard option "blksize2".  The "blksize"
52         option is limited in its usability, since TFTP is designed to
53         be implemented in a ROM, and ROM code might find it painful to
54         deal with packets that don't meet certain alignment
55         restrictions.
57         The "blksize2" option tells the server that the block size
58         must be a power of 2 to be usable to the client.  The server
59         SHALL respond with a block size that is a power of two, up to
60         a maximum of 32768, or reject the option.  Furthermore, the
61         server SHALL grant a block size that is no smaller than 512
62         bytes unless the client explicitly requested a smaller block
63         size.  If the client request both options, the server MAY
64         accept one or the other, but not both.  At some point I will
65         probably write up an IETF draft for this option.
68 General information on the tftp-hpa series:
70 This is a conglomerate of a number of versions of the BSD TFTP code,
71 ported to Linux, although it should work on mostly any POSIX-compliant
72 OS with sockets.  You may have to use GNU make to build it.
74 The core software was taken from OpenBSD (CVS source as of
75 1999-09-21).  I believe this was the most secure source base available
76 at the time I obtained this code, and it included support for the -s
77 and -c options.
79 The un-BSD-ized Makefiles and a lot of the configure macros were taken
80 from netkit-tftp-0.10 by David Holland; I also followed this example
81 and modernized the code style throughout.
83 Patches by Markus Gutschke and Gero Kuhlmann were the basis for the
84 option negotiation as well as the "blksize" and "tsize" option
85 support, although I made a fair amount of mostly stylistic changes to
86 their code.
88 Adding the -r option (disable a specific option), the "timeout"
89 option, and converting to using autoconf for setup was my own code, as
90 are any bugs introduced in this merge, and any features added to the
91 Changes list above.