CHANGES revision 1.24
11.10Sgwr$NetBSD: CHANGES,v 1.24 2016/08/20 00:36:41 mrg Exp $
21.1Sgwr
31.5Sgwrchanges in bozohttpd 20160517:
41.5Sgwr	o add a bozo_get_version() function which returns the version number
51.1Sgwr
61.1Sgwrchanges in bozohttpd 20160415:
71.5Sgwr	o  add search-word support for CGI
81.5Sgwr	o  fix a security issue in CGI suffix handler support which would
91.5Sgwr	   allow remote code execution, from shm@netbsd.org
101.1Sgwr	o  -C option supports now CGI scripts only
111.1Sgwr
121.1Sgwrchanges in bozohttpd 20151028:
131.1Sgwr	o  add CGI support for ~user translation (-E switch)
141.1Sgwr	o  add redirects to ~user translation
151.1Sgwr	o  fix bugs around ~user translation
161.1Sgwr	o  add schema detection for absolute redirects
171.1Sgwr	o  fixed few memory leaks
181.5Sgwr	o  bunch of minor tweaks
191.1Sgwr	o  removed -r support
201.5Sgwr	o  smarter redirects 
211.5Sgwr
221.5Sgwrchanges in bozohttpd 20150320:
231.5Sgwr	o  fix redirection handling
241.5Sgwr	o  support transport stream (.ts) and video object (.vob) files
251.1Sgwr	o  directory listings show correct file sizes for large files
261.5Sgwr
271.5Sgwrchanges in bozohttpd 20140717:
281.5Sgwr	o  properly handle SSL errors
291.7Sgwr
301.7Sgwrchanges in bozohttpd 20140708:
311.5Sgwr	o  fixes for virtual host support, from rajeev_v_pillai@yahoo.com
321.5Sgwr	o  avoid printing double errors, from shm@netbsd.org
331.5Sgwr	o  fix a security issue in basic HTTP authentication which would allow
341.5Sgwr	   authentication to be bypassed, from shm@netbsd.org
351.5Sgwr
361.5Sgwrchanges in bozohttpd 20140201:
371.1Sgwr	o  support .svg files
381.1Sgwr	o  fix a core dump when requests timeout
391.1Sgwr
401.1Sgwrchanges in bozohttpd 20140102:
411.1Sgwr	o  update a few content types
421.1Sgwr	o  add support for directly calling lua scripts to handle
431.1Sgwr	   processes, from mbalmer@netbsd.org
441.1Sgwr	o  properly escape generated HTML
451.1Sgwr	o  add authentication for redirections, from martin@netbsd.org
461.1Sgwr	o  handle chained ssl certifications, from elric@netbsd.org
471.1Sgwr	o  add basic support for gzipped files, from elric@netbsd.org
481.1Sgwr	o  properly escape generated URIs
491.1Sgwr
501.1Sgwrchanges in bozohttpd 20111118:
511.1Sgwr	o  add -P <pidfile> option, from jmmv@netbsd.org
521.1Sgwr	o  avoid crashes with http basic auth, from pooka@netbsd.org
531.1Sgwr	o  add support for REDIRECT_STATUS variable, from tls@netbsd.org
541.1Sgwr	o  support .mp4 files in the default map
551.1Sgwr	o  directory indexes with files with : are now displayed properly, from
561.1Sgwr	   reed@netbsd.org
571.1Sgwr	o  allow -I option to be useful in non-inetd mode as well
581.10Sgwr
591.10Sgwrchanges in bozohttpd 20100920:
601.10Sgwr	o  properly fully disable multi-file mode for now
611.10Sgwr	o  fix the -t and -U options when used without the -e option, broken since
621.10Sgwr	   the library-ifcation
631.10Sgwr	o  be explicit that logs go to the FTP facility in syslog
641.1Sgwr	o  use scandir() with alphasort() for sorted directory lists, from moof
651.1Sgwr	o  fix a serious error in vhost handling; "Host:.." would allow access to
661.2Sgwr	   the next level directory from the virtual root directory, from seanb
671.1Sgwr	o  fix some various non standard compile time errors, from rudolf
681.6Sgwr	o  fix dynamic CGI content maps, from rudolf
691.6Sgwr
701.1Sgwrchanges in bozohttpd 20100617:
711.1Sgwr	o  fix some compile issues
721.1Sgwr	o  fix SSL mode.  from rtr
731.1Sgwr	o  fix some cgi-bin issues, as seen with cvsweb
741.1Sgwr	o  disable multi-file daemon mode for now, it breaks
751.2Sgwr	o  return 404's instead of 403's when chdir of ~user dirs fail
761.1Sgwr	o  remove "noreturn" attribute from bozo_http_error() that was
771.1Sgwr	   causing incorrect runtime behaviour
781.1Sgwr
791.1Sgwrchanges in bozohttpd 20100509:
801.1Sgwr	o  major rework and clean up of internal interfaces.  move the main
811.1Sgwr	   program into main.c, the remaining parts are useable as library.
821.1Sgwr	   add bindings for lua.  by Alistair G. Crooks <agc@netbsd.org>
831.1Sgwr	o  fix http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=566325
841.1Sgwr
851.1Sgwrchanges in bozohttpd 20090522:
861.1Sgwr	o  avoid dying in daemon mode for some uncommon, but recoverable, errors
871.1Sgwr	o  close leaking file descriptors for CGI and daemon mode
881.2Sgwr	o  handle poll errors properly
891.2Sgwr	o  don't try to handle more than one request per process yet
901.1Sgwr	o  add subdirs for build "debug" and "small" versions
911.1Sgwr	o  clean up a bad merge / duplicate code
921.1Sgwr	o  make mmap() usage portable, fixes linux & ranges: support
931.1Sgwr	o  document the -f option
941.2Sgwr	o  daemon mode now serves 6 files per child
951.1Sgwr
961.1Sgwrchanges in bozohttpd 20090417:
971.1Sgwr	o  make bozohttpd internally more modular, preparing the way
981.1Sgwr	   to handle more than one request per process
991.1Sgwr	o  fix http-auth, set $REMOTE_USER not $REMOTEUSER.  also fix
1001.1Sgwr	   cgi-bin with cvsweb, from Holger Weiss <holger@CIS.FU-Berlin.DE>
1011.1Sgwr	o  fix an uninitialised variable use in daemon mode
1021.1Sgwr	o  fix ssl mode with newer OpenSSL
1031.1Sgwr	o  mmap large files in manageable sizes so we can serve any size file
1041.1Sgwr	o  refactor url processing to handle query strings correctly for CGI
1051.2Sgwr	   from Sergey Katsev at Coyote Point
1061.1Sgwr	o  add If-Modified-Since support, from Joerg Sonnenberger
1071.1Sgwr	   <joerg@netbsd.org>
1081.1Sgwr	o  many more manual fixes, from NetBSD
1091.1Sgwr
1101.1Sgwrchanges in bozohttpd 20080303:
1111.1Sgwr	o  fix some cgi header processing, from <thelsdj@gmail.com>
1121.1Sgwr	o  add simple Range: header processing, from <bad@bsd.de>
1131.1Sgwr	o  man page fixes, from NetBSD
1141.1Sgwr	o  clean up various parts, from NetBSD
1151.1Sgwr
1161.1Sgwrchanges in bozohttpd 20060710:
1171.1Sgwr	o  prefix some function names with "bozo"
1181.2Sgwr	o  align directory indexing <hr> markers
1191.2Sgwr	o  clean up some code GCC4 grumbled about
1201.1Sgwr
1211.1Sgwrchanges in bozohttpd 20060517:
1221.1Sgwr	o  don't allow "/.." or "../" files
1231.1Sgwr	o  don't write ":80" into urls for the http port
1241.2Sgwr	o  fix a fd leak when fork() fails
1251.1Sgwr	o  make directory indexing mode not look so ugly
1261.1Sgwr	o  build a text version of the manual page
1271.1Sgwr	o  make "make clean" work properly
1281.1Sgwr
1291.1Sgwrchanges in bozohttpd 20050410:
1301.1Sgwr	o  fix some off-by-one errors from <roland.illig@gmx.de>
1311.1Sgwr	o  properly support nph- CGI
1321.1Sgwr	o  make content maps case insensitive
1331.1Sgwr	o  fix proto header merging to include the missing comma
1341.2Sgwr	o  major source reorganisation; most features are in separate files now
1351.1Sgwr	o  new -V flag that makes unknown virtualhosts use slashdir
1361.1Sgwr	   from <rumble@ephemeral.org>
1371.1Sgwr	o  HTTP/1.x protocol headers are now properly merged for CGI
1381.1Sgwr
1391.1Sgwrchanges in bozohttpd 20040808:
1401.1Sgwr	o  CGI status is now properly handled (-a flag has been removed)
1411.1Sgwr	o  CGI file upload support works
1421.1Sgwr	o  %xy translations are no longer ever applied after the first '?',
1431.1Sgwr	   ala RFC2396.  from lukem
1441.2Sgwr	o  daemon mode (-b) should no longer hang spinning forever if it
1451.2Sgwr	   sees no children.  from lukem
1461.1Sgwr	o  new .bzabsredirect file support. from <martin@netbsd.org>
1471.1Sgwr	o  return a 404 error if we see %00 or %2f (/)
1481.1Sgwr	o  don't print 2 "200" headers for CGI
1491.1Sgwr	o  support .torrent files
1501.2Sgwr
1511.1Sgwrchanges in bozohttpd 20040218:
1521.1Sgwr	o  new .bzredirect file support for sane directory redirection
1531.1Sgwr	o  new -Z option that enables SSL mode, from <rtr@eterna.com.au>
1541.1Sgwr	o  the -C option has been changed to take two explicit options, rather
1551.1Sgwr	   than a single option with a space separating the suffix and the
1561.1Sgwr	   interpreter.  ``-C ".foo /path/to/bar"'' should now be written
1571.1Sgwr	   as ``-C .foo /path/to/bar''
1581.1Sgwr	o  the -M option has been changed like -C and no longer requires or
1591.1Sgwr	   supports a single argument with space-separated options
1601.2Sgwr	o  with -a, still print the 200 OK.  from <rtr@eterna.com.au>
1611.1Sgwr	o  with -r, if a .bzdirect file appears in a directory, allow direct
1621.1Sgwr	   access to this directory
1631.1Sgwr
1641.1Sgwrchanges in bozohttpd 20031005:
1651.1Sgwr	o  fixes for basic authorisation.  from <ecu@ipv42.net>
1661.1Sgwr	o  always display file size in directory index mode
1671.1Sgwr	o  add .xbel, .xml & .xsl -> text/xml mappings.  from
1681.1Sgwr	   <wiz@danbala.ifoer.tuwien.ac.at>
1691.1Sgwr
1701.2Sgwrchanges in bozohttpd 20030626:
1711.2Sgwr	o  fix a recent core dump when given no input
1721.1Sgwr	o  add new -r flag that ensures referrer is set to this host
1731.1Sgwr	o  fix several compile time errors with -DNO_CGIBIN_SUPPORT
1741.1Sgwr	o  fix some man page details. from lukem@wasabisystems.com
1751.1Sgwr	o  re-add a missing memset(), fixing a core dump. from lukem
1761.2Sgwr	o  support HTTP basic authorisation, disabled by default.  from lukem
1771.1Sgwr	o  print the port number in redirects and errors. from lukem
1781.1Sgwr	o  only syslog the basename of the program. from lukem
1791.1Sgwr	o  add __attribute__() format checking. from lukem
1801.1Sgwr	o  fix cgibin SCRIPT_NAME to have a leading /.  from zakj@nox.cx
1811.1Sgwr	o  simplify some code in -C to avoid a core dump.  from lukem
1821.1Sgwr	o  add a .css -> css/text entry to the content_map[].  from zakj@nox.cx
1831.1Sgwr
1841.1Sgwrchanges in bozohttpd 20030409:
1851.1Sgwr	o  -d without DEBUG enabled only prints one warning and continues
1861.1Sgwr	o  one can now define the C macro SERVER_SOFTWARE when building to
1871.1Sgwr	   change the Server: header and CGI variable of the same name
1881.1Sgwr	o  add new -s flag the force logging output to stderr. from zakj@nox.cx
1891.1Sgwr	o  add new -a flag for CGI bin that stops bozohttpd from outputting
1901.1Sgwr	   any HTTP reply, the CGI program must output these.  from zakj@nox.cx
1911.1Sgwr	o  new REQUEST_URI and DATE_GMT environment variables for CGI.  from
1921.1Sgwr	   zakj@nox.cx
1931.1Sgwr	o  add a "Makefile.boot" that should work with any make program
1941.1Sgwr	o  build on linux again
1951.9Sgwr	o  fix core dumps when using -C
1961.10Sgwr
1971.9Sgwrchanges in bozohttpd 20030313:
1981.1Sgwr	o  deprecate -r flag; make this the default and silently ignore -r now
1991.1Sgwr	o  add support for file extentions to call CGI programs (from lukem)
2001.4Schristos	o  add dynamic support to add new content map entries, allowing both
2011.1Sgwr	   new file types and non /cgi-bin CGI programs to be run with the
202	   new -C "suffix cgihandler" and -M "suffix type encoding encoding11"
203	   options
204	o  in -b mode, set the http date after accept() returns, not before we
205	   call accept()
206	o  in -b mode, bind all addresses found not just the first one
207	o  unsupport old hostname API
208	o  in -b mode, set the SO_REUSEADDR socket option (lukem)
209	o  allow -x (index.html) mode to work with CGI handlers
210
211changes in bozohttpd 20021106:
212	o  add .bz2 support
213	o  properly escape <, > and & in error messages, partly from
214	   Nicolas Jombart <ecu@mariejeanne.net>
215	o  new -H flag to hide .* files in directory index mode
216	o  fix buffer reallocation when parsing a request, to avoid
217	   overflowing the buffer with carriage returns (\r)
218	o  do not decode "%XY"-style cgi-bin data beyond the "?"
219
220changes in bozohttpd 5.15 (20020913):
221	o  add .ogg support -> `application/x-ogg'
222	o  fix CGI requests with "/" in the query part
223
224changes in bozohttpd 5.14 (20020823):
225	o  allow -X mode to work for "/"
226	o  work on systems without MADV_SEQUENTIAL
227	o  make a local cut-down copy of "queue.h" (fixes linux & solaris
228	   support at the very least)
229	o  portability fixes for pre-ipv6 socket api systems (eg, solaris 7)
230	o  portability fixes for missing _PATH_DEFPATH, LOG_FTP and __progname
231	o  better documentation on virtual host support
232
233changes in bozohttpd 5.13 (20020804):
234	o  support .mp3 files (type audio/mpeg)
235	o  use stat() to find out if something is a directory, for -X mode
236
237changes in bozohttpd 5.12 (20020803):
238	o  constification
239	o  fixes & enhancements for directory index mode (-X)
240
241changes in bozohttpd 5.11 (20020730):
242	o  more man page fixes from Thomas Klausner
243	   <wiz@danbala.ifoer.tuwien.ac.at>
244	o  de-K&R C-ification
245	o  fix Date: header for daemon mode
246	o  fix core dump when asking for /cgi-bin/ when CGI isn't configured
247	o  use a valid Server: header
248
249changes in bozohttpd 5.10 (20020710):
250	- add freebsd support 
251	- fix a couple of header typos
252	- many cgi-bin fixes from lukem@netbsd.org
253	- add -T chrootdir and -U user, plus several minor other cleanups
254	with signals and return values.  from xs@kittenz.org
255	- add -e that does not clear the environment for -T/-U
256	- fix a formatting error noticed by ISIHARA Takanori <ishit@oak.dti.ne.jp>
257
258changes in bozohttpd 5.09 (20010922):
259	- add a daemon mode
260	- document how to use bozohttpd in netbsd inetd with more than 40 
261	connections per minute and also with cgibin
262	- man page fixes from wiz@netbsd.org
263
264changes in bozohttpd 5.08 (20010812):
265	- add directory index generation support (-X) from ad@netbsd.org
266	- add .pa as an alias for .pac
267	- make server software version configurable (RFC)
268
269changes in bozohttpd 5.07 (20010610):
270	- add .png support 
271	- new "-x index.html" flag to change default file
272	- new "-p public_html" flag to change default ~user directory
273	- fixes cgi-bin support and more from chuck@research.att.com
274	- add many new content-types, now support most common ones
275
276changes in bozohttpd 5.06 (20000825):
277	- add IPv6 suppor from itojun@iijlab.net
278	- man page fixes from jlam@netbsd.org
279
280changes in bozohttpd 5.05 (20000815):
281	- fix a virtual host bug, from kleink@netbsd.org
282
283changes in bozohttpd 5.04 (20000427):
284	- fix virtual host support; URI takes precedence over Host:
285
286changes in bozohttpd 5.03 (20000427):
287	- fix a bug with chdir() 
288
289changes in bozohttpd 5.02 (20000426):
290	- .pac spport from simonb
291
292changes in bozohttpd 5.01 (20000421):
293	- .swf support 
294	- virtual hosting support 
295