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