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