CHANGES revision 1.29
1$NetBSD: CHANGES,v 1.29 2018/11/25 23:37:09 mrg Exp $
2
3changes in bozohttpd 20181125:
4	o  fixes for option parsing introduced in bozohttpd 20181123.
5
6changes in bozohttpd 20181121:
7	o  add url remap support via .bzremap file, from martin@netbsd.org
8	o  handle redirections for any protocol, not just http:
9	o  fix a denial of service attack against header contents, which
10	   is now bounded at 16KiB.  reported by JP
11	o  reduce default timeouts, and add expand timeouts to handle the
12	   initial line, each header, and the total time spent
13	o  add -T option to expose new timeout settings
14	o  minor RFC fixes related to timeout handling
15	o  fix special file (.htpasswd, .bz*) bypass.  reported by JP.
16
17changes in bozohttpd 20170201:
18	o  fix an infinite loop in cgi processing
19	o  fixes and clean up for the testsuite
20	o  no longer sends encoding header for compressed formats
21
22changes in bozohttpd 20160517:
23	o  add a bozo_get_version() function which returns the version number
24
25changes in bozohttpd 20160415:
26	o  add search-word support for CGI
27	o  fix a security issue in CGI suffix handler support which would
28	   allow remote code execution, from shm@netbsd.org
29	o  -C option supports now CGI scripts only
30
31changes in bozohttpd 20151028:
32	o  add CGI support for ~user translation (-E switch)
33	o  add redirects to ~user translation
34	o  fix bugs around ~user translation
35	o  add schema detection for absolute redirects
36	o  fixed few memory leaks
37	o  bunch of minor tweaks
38	o  removed -r support
39	o  smarter redirects 
40
41changes in bozohttpd 20150320:
42	o  fix redirection handling
43	o  support transport stream (.ts) and video object (.vob) files
44	o  directory listings show correct file sizes for large files
45
46changes in bozohttpd 20140717:
47	o  properly handle SSL errors
48
49changes in bozohttpd 20140708:
50	o  fixes for virtual host support, from rajeev_v_pillai@yahoo.com
51	o  avoid printing double errors, from shm@netbsd.org
52	o  fix a security issue in basic HTTP authentication which would allow
53	   authentication to be bypassed, from shm@netbsd.org
54
55changes in bozohttpd 20140201:
56	o  support .svg files
57	o  fix a core dump when requests timeout
58
59changes in bozohttpd 20140102:
60	o  update a few content types
61	o  add support for directly calling lua scripts to handle
62	   processes, from mbalmer@netbsd.org
63	o  properly escape generated HTML
64	o  add authentication for redirections, from martin@netbsd.org
65	o  handle chained ssl certifications, from elric@netbsd.org
66	o  add basic support for gzipped files, from elric@netbsd.org
67	o  properly escape generated URIs
68
69changes in bozohttpd 20111118:
70	o  add -P <pidfile> option, from jmmv@netbsd.org
71	o  avoid crashes with http basic auth, from pooka@netbsd.org
72	o  add support for REDIRECT_STATUS variable, from tls@netbsd.org
73	o  support .mp4 files in the default map
74	o  directory indexes with files with : are now displayed properly, from
75	   reed@netbsd.org
76	o  allow -I option to be useful in non-inetd mode as well
77
78changes in bozohttpd 20100920:
79	o  properly fully disable multi-file mode for now
80	o  fix the -t and -U options when used without the -e option, broken since
81	   the library-ifcation
82	o  be explicit that logs go to the FTP facility in syslog
83	o  use scandir() with alphasort() for sorted directory lists, from moof
84	o  fix a serious error in vhost handling; "Host:.." would allow access to
85	   the next level directory from the virtual root directory, from seanb
86	o  fix some various non standard compile time errors, from rudolf
87	o  fix dynamic CGI content maps, from rudolf
88
89changes in bozohttpd 20100617:
90	o  fix some compile issues
91	o  fix SSL mode.  from rtr
92	o  fix some cgi-bin issues, as seen with cvsweb
93	o  disable multi-file daemon mode for now, it breaks
94	o  return 404's instead of 403's when chdir of ~user dirs fail
95	o  remove "noreturn" attribute from bozo_http_error() that was
96	   causing incorrect runtime behaviour
97
98changes in bozohttpd 20100509:
99	o  major rework and clean up of internal interfaces.  move the main
100	   program into main.c, the remaining parts are useable as library.
101	   add bindings for lua.  by Alistair G. Crooks <agc@netbsd.org>
102	o  fix http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=566325
103
104changes in bozohttpd 20090522:
105	o  avoid dying in daemon mode for some uncommon, but recoverable, errors
106	o  close leaking file descriptors for CGI and daemon mode
107	o  handle poll errors properly
108	o  don't try to handle more than one request per process yet
109	o  add subdirs for build "debug" and "small" versions
110	o  clean up a bad merge / duplicate code
111	o  make mmap() usage portable, fixes linux & ranges: support
112	o  document the -f option
113	o  daemon mode now serves 6 files per child
114
115changes in bozohttpd 20090417:
116	o  make bozohttpd internally more modular, preparing the way
117	   to handle more than one request per process
118	o  fix http-auth, set $REMOTE_USER not $REMOTEUSER.  also fix
119	   cgi-bin with cvsweb, from Holger Weiss <holger@CIS.FU-Berlin.DE>
120	o  fix an uninitialised variable use in daemon mode
121	o  fix ssl mode with newer OpenSSL
122	o  mmap large files in manageable sizes so we can serve any size file
123	o  refactor url processing to handle query strings correctly for CGI
124	   from Sergey Katsev at Coyote Point
125	o  add If-Modified-Since support, from Joerg Sonnenberger
126	   <joerg@netbsd.org>
127	o  many more manual fixes, from NetBSD
128
129changes in bozohttpd 20080303:
130	o  fix some cgi header processing, from <thelsdj@gmail.com>
131	o  add simple Range: header processing, from <bad@bsd.de>
132	o  man page fixes, from NetBSD
133	o  clean up various parts, from NetBSD
134
135changes in bozohttpd 20060710:
136	o  prefix some function names with "bozo"
137	o  align directory indexing <hr> markers
138	o  clean up some code GCC4 grumbled about
139
140changes in bozohttpd 20060517:
141	o  don't allow "/.." or "../" files
142	o  don't write ":80" into urls for the http port
143	o  fix a fd leak when fork() fails
144	o  make directory indexing mode not look so ugly
145	o  build a text version of the manual page
146	o  make "make clean" work properly
147
148changes in bozohttpd 20050410:
149	o  fix some off-by-one errors from <roland.illig@gmx.de>
150	o  properly support nph- CGI
151	o  make content maps case insensitive
152	o  fix proto header merging to include the missing comma
153	o  major source reorganisation; most features are in separate files now
154	o  new -V flag that makes unknown virtualhosts use slashdir
155	   from <rumble@ephemeral.org>
156	o  HTTP/1.x protocol headers are now properly merged for CGI
157
158changes in bozohttpd 20040808:
159	o  CGI status is now properly handled (-a flag has been removed)
160	o  CGI file upload support works
161	o  %xy translations are no longer ever applied after the first '?',
162	   ala RFC2396.  from lukem
163	o  daemon mode (-b) should no longer hang spinning forever if it
164	   sees no children.  from lukem
165	o  new .bzabsredirect file support. from <martin@netbsd.org>
166	o  return a 404 error if we see %00 or %2f (/)
167	o  don't print 2 "200" headers for CGI
168	o  support .torrent files
169
170changes in bozohttpd 20040218:
171	o  new .bzredirect file support for sane directory redirection
172	o  new -Z option that enables SSL mode, from <rtr@eterna.com.au>
173	o  the -C option has been changed to take two explicit options, rather
174	   than a single option with a space separating the suffix and the
175	   interpreter.  ``-C ".foo /path/to/bar"'' should now be written
176	   as ``-C .foo /path/to/bar''
177	o  the -M option has been changed like -C and no longer requires or
178	   supports a single argument with space-separated options
179	o  with -a, still print the 200 OK.  from <rtr@eterna.com.au>
180	o  with -r, if a .bzdirect file appears in a directory, allow direct
181	   access to this directory
182
183changes in bozohttpd 20031005:
184	o  fixes for basic authorisation.  from <ecu@ipv42.net>
185	o  always display file size in directory index mode
186	o  add .xbel, .xml & .xsl -> text/xml mappings.  from
187	   <wiz@danbala.ifoer.tuwien.ac.at>
188
189changes in bozohttpd 20030626:
190	o  fix a recent core dump when given no input
191	o  add new -r flag that ensures referrer is set to this host
192	o  fix several compile time errors with -DNO_CGIBIN_SUPPORT
193	o  fix some man page details. from lukem@wasabisystems.com
194	o  re-add a missing memset(), fixing a core dump. from lukem
195	o  support HTTP basic authorisation, disabled by default.  from lukem
196	o  print the port number in redirects and errors. from lukem
197	o  only syslog the basename of the program. from lukem
198	o  add __attribute__() format checking. from lukem
199	o  fix cgibin SCRIPT_NAME to have a leading /.  from zakj@nox.cx
200	o  simplify some code in -C to avoid a core dump.  from lukem
201	o  add a .css -> css/text entry to the content_map[].  from zakj@nox.cx
202
203changes in bozohttpd 20030409:
204	o  -d without DEBUG enabled only prints one warning and continues
205	o  one can now define the C macro SERVER_SOFTWARE when building to
206	   change the Server: header and CGI variable of the same name
207	o  add new -s flag the force logging output to stderr. from zakj@nox.cx
208	o  add new -a flag for CGI bin that stops bozohttpd from outputting
209	   any HTTP reply, the CGI program must output these.  from zakj@nox.cx
210	o  new REQUEST_URI and DATE_GMT environment variables for CGI.  from
211	   zakj@nox.cx
212	o  add a "Makefile.boot" that should work with any make program
213	o  build on linux again
214	o  fix core dumps when using -C
215
216changes in bozohttpd 20030313:
217	o  deprecate -r flag; make this the default and silently ignore -r now
218	o  add support for file extentions to call CGI programs (from lukem)
219	o  add dynamic support to add new content map entries, allowing both
220	   new file types and non /cgi-bin CGI programs to be run with the
221	   new -C "suffix cgihandler" and -M "suffix type encoding encoding11"
222	   options
223	o  in -b mode, set the http date after accept() returns, not before we
224	   call accept()
225	o  in -b mode, bind all addresses found not just the first one
226	o  unsupport old hostname API
227	o  in -b mode, set the SO_REUSEADDR socket option (lukem)
228	o  allow -x (index.html) mode to work with CGI handlers
229
230changes in bozohttpd 20021106:
231	o  add .bz2 support
232	o  properly escape <, > and & in error messages, partly from
233	   Nicolas Jombart <ecu@mariejeanne.net>
234	o  new -H flag to hide .* files in directory index mode
235	o  fix buffer reallocation when parsing a request, to avoid
236	   overflowing the buffer with carriage returns (\r)
237	o  do not decode "%XY"-style cgi-bin data beyond the "?"
238
239changes in bozohttpd 5.15 (20020913):
240	o  add .ogg support -> `application/x-ogg'
241	o  fix CGI requests with "/" in the query part
242
243changes in bozohttpd 5.14 (20020823):
244	o  allow -X mode to work for "/"
245	o  work on systems without MADV_SEQUENTIAL
246	o  make a local cut-down copy of "queue.h" (fixes linux & solaris
247	   support at the very least)
248	o  portability fixes for pre-ipv6 socket api systems (eg, solaris 7)
249	o  portability fixes for missing _PATH_DEFPATH, LOG_FTP and __progname
250	o  better documentation on virtual host support
251
252changes in bozohttpd 5.13 (20020804):
253	o  support .mp3 files (type audio/mpeg)
254	o  use stat() to find out if something is a directory, for -X mode
255
256changes in bozohttpd 5.12 (20020803):
257	o  constification
258	o  fixes & enhancements for directory index mode (-X)
259
260changes in bozohttpd 5.11 (20020730):
261	o  more man page fixes from Thomas Klausner
262	   <wiz@danbala.ifoer.tuwien.ac.at>
263	o  de-K&R C-ification
264	o  fix Date: header for daemon mode
265	o  fix core dump when asking for /cgi-bin/ when CGI isn't configured
266	o  use a valid Server: header
267
268changes in bozohttpd 5.10 (20020710):
269	- add freebsd support 
270	- fix a couple of header typos
271	- many cgi-bin fixes from lukem@netbsd.org
272	- add -T chrootdir and -U user, plus several minor other cleanups
273	with signals and return values.  from xs@kittenz.org
274	- add -e that does not clear the environment for -T/-U
275	- fix a formatting error noticed by ISIHARA Takanori <ishit@oak.dti.ne.jp>
276
277changes in bozohttpd 5.09 (20010922):
278	- add a daemon mode
279	- document how to use bozohttpd in netbsd inetd with more than 40 
280	connections per minute and also with cgibin
281	- man page fixes from wiz@netbsd.org
282
283changes in bozohttpd 5.08 (20010812):
284	- add directory index generation support (-X) from ad@netbsd.org
285	- add .pa as an alias for .pac
286	- make server software version configurable (RFC)
287
288changes in bozohttpd 5.07 (20010610):
289	- add .png support 
290	- new "-x index.html" flag to change default file
291	- new "-p public_html" flag to change default ~user directory
292	- fixes cgi-bin support and more from chuck@research.att.com
293	- add many new content-types, now support most common ones
294
295changes in bozohttpd 5.06 (20000825):
296	- add IPv6 suppor from itojun@iijlab.net
297	- man page fixes from jlam@netbsd.org
298
299changes in bozohttpd 5.05 (20000815):
300	- fix a virtual host bug, from kleink@netbsd.org
301
302changes in bozohttpd 5.04 (20000427):
303	- fix virtual host support; URI takes precedence over Host:
304
305changes in bozohttpd 5.03 (20000427):
306	- fix a bug with chdir() 
307
308changes in bozohttpd 5.02 (20000426):
309	- .pac spport from simonb
310
311changes in bozohttpd 5.01 (20000421):
312	- .swf support 
313	- virtual hosting support 
314