1 This is tftp-hpa-0.18; this version was put out by H. Peter Anvin
4 ===> IMPORTANT: SEE THE FILE "README.security" FOR IMPORTANT SECURITY
5 ===> CHANGES IN THIS VERSION!!!!!!!!!
8 Support (almost) arbitrary filename remappings via regular
9 expression-based rulesets.
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
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.
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.
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.
46 Hacks to signal handling to avoid "zombie servers."
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
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
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
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