Double-double-backslash for double backslash...
[tftp-hpa.git] / CHANGES
blobf2d388034f925fc6356db4234cdf69adf4ac0784
1 $Id$
3 Changes in 0.27:
4         Make the Digital Unix 4.0F platform work again.  Thanks to
5         Alan Sundell for helping out with this platform!
7         Make the AIX 4.3 platform work again.  Thanks to Josef Siemes
8         for helping out with this platform!
10         Allow replacement patterns to include the IP address of the
11         requesting host (\i).
14 Changes in 0.26:
15         Fix the configuration process so tftpd doesn't end up
16         depending on readline, which apparently could happen on some
17         platforms before.
19         Make parallel builds (make -j) work correctly.
21         Improve parsing of the "connect" command in the tftp client.
23         Add a -V option to both tftp and tftpd to print the version
24         number on stdout and immediately exit.
26         Add a -v option to tftp to start out in verbose mode.
27         
28         Rewrite the man pages using standard "man" troff macros.
30         Enable the (limited) use of readline on systems which don't
31         have readline/history.h.
33         Support compiling under MacOS X with filk (see
34         <http://filk.sourceforge.net/>).  Thanks for Justin Hallett
35         and Eric Eslinger for their help in getting this working!
38 Changes in 0.25:
39         Fixed Sorcerer's Apprentice bug in both the client and the
40         server.  These bugs were inherited from the original BSD code.
43 Changes in 0.24:
44         Fix bugs in both client and server dealing with block number
45         wraparound, usually manifesting themselves as failure to
46         handle files over 32 MB in size.
48         Officially make the client a part of the tftp-hpa project.
51 Changes in 0.23:
52         Correct memory overwrite bug in the tftp client when compiled
53         with readline.
56 Changes in 0.22:
57         Even more portability improvements: FreeBSD and
58         Tru64/Digital Unix.
60         Fix tsize option on systems on which off_t is "long long".
62         Support large files on systems which need _LARGE_FILE_BITS or
63         similar.
65         Some source cleanups; change to autoconf 2.52.
67         Add support for readline command-line editing in tftp.
70 Changes in 0.21:
71         Support running in standalone mode, without inetd.
73         Even more portability improvements.  Now known to compile and
74         run on Linux, Solaris 5, 5.1, 6, 7 and 8, and AIX.  Reports of
75         success or failure on other modern systems always appreciated.
77         Clean and modernize some really ugly old code.
79         Fix a potential illegal memory access when running in "totally
80         insecure mode" - no -s, no directories listed.
83 Changes in 0.20:
84         Portability improvements.  Now known to compile and run on
85         Solaris 8.
88 Changes in 0.19:
89         Fork before performing tcpwrappers check.
91         Don't rely on nonstandard bsd_signal() function, instead
92         require that the platform has sigaction().  This is 2001,
93         after all.  This may resolve some potential portability
94         problems.
96         Log a message if memory allocation fails, instead of dying
97         silently.
99         Clean up the main dispatch loop.
101         Use <sysexits.h> for exit codes, if it exists.
103         Add support for debugging remapping rulefiles; if logging with
104         -vvv tftpd will log all rules actions.
106         Correct the error code issued by an "abort" rule.
109 Changes in 0.18:
110         Support (almost) arbitrary filename remappings via regular
111         expression-based rulesets.
113         Added -v option for more verbose logging.
116 Changes in 0.17:
118         Add support for tcpwrapper checking (/etc/hosts.allow;
119         /etc/hosts.deny) in tftpd.
121         Compile correctly on glibc 2.1.2.
123         Add -u option to specify the user id to run as (default
124         "nobody".)
126         Operate in "daemon mode" as long as we keep getting requests.
127         This should speed up handling large amounts of requests at
128         once, as can happen when a client starts up, and avoids inetd
129         misconfiguration problems.
130         
132 Changes in 0.16:
134         Correct massive lossage from 0.15: apparently 0.15 was based
135         on an out-of-date CVS repository, somehow.
137         Fix for ACKs in TFTP PUT; patch by Roger Venning.
140 Changes in 0.15:
142         If the operating system allows, try to obtain the local
143         address used for the request packet, and reply using the same
144         local IP address.  Some embedded TFTP clients are (probably
145         incorrectly) picky about this.
148 Changes in 0.14:
150         Hacks to signal handling to avoid "zombie servers."
153 Changes in 0.13:
155         Added the non-standard option "blksize2".  The "blksize"
156         option is limited in its usability, since TFTP is designed to
157         be implemented in a ROM, and ROM code might find it painful to
158         deal with packets that don't meet certain alignment
159         restrictions.
161         The "blksize2" option tells the server that the block size
162         must be a power of 2 to be usable to the client.  The server
163         SHALL respond with a block size that is a power of two, up to
164         a maximum of 32768, or reject the option.  Furthermore, the
165         server SHALL grant a block size that is no smaller than 512
166         bytes unless the client explicitly requested a smaller block
167         size.  If the client request both options, the server MAY
168         accept one or the other, but not both.  At some point I will
169         probably write up an IETF draft for this option.
172 General information on the tftp-hpa series:
174 The core software was taken from OpenBSD (CVS source as of
175 1999-09-21).  I believe this was the most secure source base available
176 at the time I obtained this code, and it included support for the -s
177 and -c options.
179 The un-BSD-ized Makefiles and a lot of the configure macros were taken
180 from netkit-tftp-0.10 by David Holland; I also followed this example
181 and modernized the code style throughout.
183 Patches by Markus Gutschke and Gero Kuhlmann were the basis for the
184 option negotiation as well as the "blksize" and "tsize" option
185 support, although I made a fair amount of mostly stylistic changes to
186 their code.
188 Adding the -r option (disable a specific option), the "timeout"
189 option, converting to using autoconf for setup, and any additions
190 listed in the Changes list above, has all been my own code, as are any
191 bugs introduced in the merge.