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