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