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