11.11:
2  add comment at the top to document #define COLF for common log file
3    format
4  The following patches are from Peter Conrad:
5    add "ico" mime type
6    fix headers for keep-alive requests
7    add content-length: 0 for redirects (work around bug in ucspi-ssl)
8  sanitize more control characters from logs
9  the sendfile code for large files would sometimes not serve the whole
10    file (Henrik Langos, Frank Bergmann)
11
121.10:
13  have fallback in case sendfile fails
14
151.9:
16  chdir to cgi's base dir (Kuba Winnicki)
17  set HTTP_ACCEPT_ENCODING environment variable (Kuba Winnicki)
18    We actually should export all HTTP headers as HTTP_[header]
19    Any takers?
20  Try not to send error message HTTP headers if we already sent the
21    headers from the CGI (Kuba Winnicki)
22  <ims -> <=ims (Gerrit Pape)
23  64-bit file I/O cleanliness
24  fix HTTP ranges (Joachim Berdal Haga via Gerrit Pape)
25
261.8:
27  keep current environment in CGI (Laurent Bercot)
28  make fnord-conf use the UID and not the user name (Fridtjof Busse)
29  fix typo in buffer_putulonglong (Gerrit Pape)
30  fix CGI POST off-by-two typo (Mark Hopf)
31  fix gif->png conversion (Thomas Seck)
32  remove == bashism from fnord-conf (Thomas Seck)
33  add bittorrent mime type
34  make authorization data available to CGIs for GET, too (Paul Jarc)
35  fix conversion of host name to lower case (Gerrit Pape)
36  add small test cgi: cgi-post.c
37  fix CGI POST bug (Moe Wibble)
38  fix CGI PATH_TRANSLATED bug (Nicolas George)
39  add optional authentication support (Nicolas George, see README.auth)
40  make sure error messages are text/html
41  move /. -> /: conversion before demangling so it can actually be
42    used as security measure for installations that don't use chroot
43
441.7:
45  add .mov and .qt for quicktime, .mpg for video/mpeg and .wav for audio/x-wav
46  add mmap based file serving (should do zero-copy tcp just like sendfile)
47  add Pragma: no-cache to CGI responses
48  fix (apparently not exploitable) buffer overrun in do_cgi
49    This bug was found by Ralf Wildenhues.  To my knowledge it is
50    impossible to exploit this bug on any platform known to me.
51  fix (harmless) access to uninitialized data
52
531.6:
54  add support for $PATH_INFO in CGI environment.
55  add .pac for netscape proxy autoconfig
56  add .sig for application/pgp-signature
57
581.5:
59  fix write timeout handling (found by Lukas Beeler)
60  fix fnord-conf to use the symbolic account name in run script
61    (Sebastian D.B. Krause)
62
631.4:
64  add dangling symlink based whole-host redirection (see README).  This
65    has the advantage that it can serve normal sites and redirect sites
66    on the same IP.
67  add support for non-TCP UCSPI environments (like ucspi-ssl).  Please
68    get the latest version of my ucspi-tcp IPv6 patch as I violated the
69    UCSPI spec with all versions before 0.88-diff11.
70  change logging from "127.0.0.1 200 23 Links_(0.96;_Unix) none /index.html"
71    to "127.0.0.1 200 23 localhost Links_(0.96;_Unix) none /index.html"
72    (i.e. include the Host: header).  Suggested by Thomas Bader.
73  add "immediate mode".  If you give fnord a command line argument, it
74    will change to that directory and if no "default" directory is
75    given, it will assume there are no virtual hosts and serve from the
76    current directory.  I have a shell script called "http" that does
77      tcpserver -RHl localhost 0 8000 /home/leitner/bin/fnord-idx .
78    to share some directory on my hard drive with some poor Windows
79    users without npoll (http://www.fefe.de/ncp/).  fnord-idx is a new
80    target (a fnord with DIR_LIST) that is auto-built by make.
81
821.3:
83  make directory listings use non-proportional fonts (thanks, Antonio Dias)
84  fnord will now optionally (default: enabled) normalize the incoming
85    host name, i.e. "www.domain.com" -> "www.domain.com:80".  That
86    should cut down on the number of symbolic links. ;)
87  remove timeout error message.  fnord will not drop the connection
88    without error message.  Mozilla used to display the error message
89    when the user caused another request on the connection with the
90    timeout.
91  Uwe Ohse found two more compilation problems.
92
931.2:
94  Olaf: I changed my initial CGI-interface to NOT use the filesystem but
95    two pipes.
96  Add whole-host redirect (see README)
97  Olaf: added direcory-lists and "index.cgi" support (normal CGI only !
98    "nph-index.cgi" is not supported). Fixed some problematic parts in the
99    CGI-interface (\n -> \r\n converter for http-header and CGI crash
100    handling)
101  Fix gzip encoding bug that only happened with keep-alive
102
1031.1:
104  ship with the parts from libowfat that we actually use
105  minor speed-up.  sendfile is a drag for very small files, so those are
106    now sent through the same buffer the header is sent through.  That
107    sends the whole answer in one TCP packet if you are lucky, even
108    without the TCP_CORK magic from Linux.  Major speed-up for
109    benchmarks ;)
110
1111.0:
112  initial release
113