Try to get the release process to actually work...
[tftp-hpa.git] / CHANGES
blobc220b6e9ff5babd4c514f9cde4ead0d6dfb0e3bd
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).
13         Allow relying on Unix permissions rather than o+r magic if the
14         -p option is specified.  As part of this, set all groups if
15         initgroups() is specified on the platform.
17         Clean up race conditions inherited from the BSD source base.
20 Changes in 0.26:
21         Fix the configuration process so tftpd doesn't end up
22         depending on readline, which apparently could happen on some
23         platforms before.
25         Make parallel builds (make -j) work correctly.
27         Improve parsing of the "connect" command in the tftp client.
29         Add a -V option to both tftp and tftpd to print the version
30         number on stdout and immediately exit.
32         Add a -v option to tftp to start out in verbose mode.
33         
34         Rewrite the man pages using standard "man" troff macros.
36         Enable the (limited) use of readline on systems which don't
37         have readline/history.h.
39         Support compiling under MacOS X with filk (see
40         <http://filk.sourceforge.net/>).  Thanks for Justin Hallett
41         and Eric Eslinger for their help in getting this working!
44 Changes in 0.25:
45         Fixed Sorcerer's Apprentice bug in both the client and the
46         server.  These bugs were inherited from the original BSD code.
49 Changes in 0.24:
50         Fix bugs in both client and server dealing with block number
51         wraparound, usually manifesting themselves as failure to
52         handle files over 32 MB in size.
54         Officially make the client a part of the tftp-hpa project.
57 Changes in 0.23:
58         Correct memory overwrite bug in the tftp client when compiled
59         with readline.
62 Changes in 0.22:
63         Even more portability improvements: FreeBSD and
64         Tru64/Digital Unix.
66         Fix tsize option on systems on which off_t is "long long".
68         Support large files on systems which need _LARGE_FILE_BITS or
69         similar.
71         Some source cleanups; change to autoconf 2.52.
73         Add support for readline command-line editing in tftp.
76 Changes in 0.21:
77         Support running in standalone mode, without inetd.
79         Even more portability improvements.  Now known to compile and
80         run on Linux, Solaris 5, 5.1, 6, 7 and 8, and AIX.  Reports of
81         success or failure on other modern systems always appreciated.
83         Clean and modernize some really ugly old code.
85         Fix a potential illegal memory access when running in "totally
86         insecure mode" - no -s, no directories listed.
89 Changes in 0.20:
90         Portability improvements.  Now known to compile and run on
91         Solaris 8.
94 Changes in 0.19:
95         Fork before performing tcpwrappers check.
97         Don't rely on nonstandard bsd_signal() function, instead
98         require that the platform has sigaction().  This is 2001,
99         after all.  This may resolve some potential portability
100         problems.
102         Log a message if memory allocation fails, instead of dying
103         silently.
105         Clean up the main dispatch loop.
107         Use <sysexits.h> for exit codes, if it exists.
109         Add support for debugging remapping rulefiles; if logging with
110         -vvv tftpd will log all rules actions.
112         Correct the error code issued by an "abort" rule.
115 Changes in 0.18:
116         Support (almost) arbitrary filename remappings via regular
117         expression-based rulesets.
119         Added -v option for more verbose logging.
122 Changes in 0.17:
124         Add support for tcpwrapper checking (/etc/hosts.allow;
125         /etc/hosts.deny) in tftpd.
127         Compile correctly on glibc 2.1.2.
129         Add -u option to specify the user id to run as (default
130         "nobody".)
132         Operate in "daemon mode" as long as we keep getting requests.
133         This should speed up handling large amounts of requests at
134         once, as can happen when a client starts up, and avoids inetd
135         misconfiguration problems.
136         
138 Changes in 0.16:
140         Correct massive lossage from 0.15: apparently 0.15 was based
141         on an out-of-date CVS repository, somehow.
143         Fix for ACKs in TFTP PUT; patch by Roger Venning.
146 Changes in 0.15:
148         If the operating system allows, try to obtain the local
149         address used for the request packet, and reply using the same
150         local IP address.  Some embedded TFTP clients are (probably
151         incorrectly) picky about this.
154 Changes in 0.14:
156         Hacks to signal handling to avoid "zombie servers."
159 Changes in 0.13:
161         Added the non-standard option "blksize2".  The "blksize"
162         option is limited in its usability, since TFTP is designed to
163         be implemented in a ROM, and ROM code might find it painful to
164         deal with packets that don't meet certain alignment
165         restrictions.
167         The "blksize2" option tells the server that the block size
168         must be a power of 2 to be usable to the client.  The server
169         SHALL respond with a block size that is a power of two, up to
170         a maximum of 32768, or reject the option.  Furthermore, the
171         server SHALL grant a block size that is no smaller than 512
172         bytes unless the client explicitly requested a smaller block
173         size.  If the client request both options, the server MAY
174         accept one or the other, but not both.  At some point I will
175         probably write up an IETF draft for this option.
178 General information on the tftp-hpa series:
180 The core software was taken from OpenBSD (CVS source as of
181 1999-09-21).  I believe this was the most secure source base available
182 at the time I obtained this code, and it included support for the -s
183 and -c options.
185 The un-BSD-ized Makefiles and a lot of the configure macros were taken
186 from netkit-tftp-0.10 by David Holland; I also followed this example
187 and modernized the code style throughout.
189 Patches by Markus Gutschke and Gero Kuhlmann were the basis for the
190 option negotiation as well as the "blksize" and "tsize" option
191 support, although I made a fair amount of mostly stylistic changes to
192 their code.
194 Adding the -r option (disable a specific option), the "timeout"
195 option, converting to using autoconf for setup, and any additions
196 listed in the Changes list above, has all been my own code, as are any
197 bugs introduced in the merge.