CHANGES revision 1.6
11.6Smrg$eterna: CHANGES,v 1.70 2010/05/10 02:24:30 mrg Exp $
21.6Smrg
31.6Smrgchanges since bozohttpd 20090522:
41.6Smrg	o  major rework and clean up of internal interfaces.  move the main
51.6Smrg	   program into main.c, the remaining parts are useable as library.
61.6Smrg	   add bindings for lua.  by Alistair G. Crooks <agc@netbsd.org>
71.6Smrg	o  fix http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=566325
81.4Smrg
91.4Smrgchanges since bozohttpd 20090417:
101.4Smrg	o  avoid dying in daemon mode for some uncommon, but recoverable, errors
111.4Smrg	o  close leaking file descriptors for CGI and daemon mode
121.4Smrg	o  handle poll errors properly
131.4Smrg	o  don't try to handle more than one request per process yet
141.5Smrg	o  add subdirs for build "debug" and "small" versions
151.5Smrg	o  clean up a bad merge / duplicate code
161.5Smrg	o  make mmap() usage portable, fixes linux & ranges: support
171.5Smrg	o  document the -f option
181.5Smrg	o  daemon mode now serves 6 files per child
191.3Smrg
201.3Smrgchanges since bozohttpd 20080303:
211.3Smrg	o  make bozohttpd internally more modular, preparing the way
221.3Smrg	   to handle more than one request per process
231.3Smrg	o  fix http-auth, set $REMOTE_USER not $REMOTEUSER.  also fix
241.3Smrg	   cgi-bin with cvsweb, from Holger Weiss <holger@CIS.FU-Berlin.DE>
251.3Smrg	o  fix an uninitialised variable use in daemon mode
261.3Smrg	o  fix ssl mode with newer OpenSSL
271.3Smrg	o  mmap large files in manageable sizes so we can serve any size file
281.3Smrg	o  refactor url processing to handle query strings correctly for CGI
291.3Smrg	   from Sergey Katsev at Coyote Point
301.3Smrg	o  add If-Modified-Since support, from Joerg Sonnenberger
311.3Smrg	   <joerg@netbsd.org>
321.3Smrg	o  many more manual fixes, from NetBSD
331.3Smrg
341.3Smrgchanges since bozohttpd 20060710:
351.3Smrg	o  fix some cgi header processing, from <thelsdj@gmail.com>
361.3Smrg	o  add simple Range: header processing, from <bad@bsd.de>
371.3Smrg	o  man page fixes, from NetBSD
381.3Smrg	o  clean up various parts, from NetBSD
391.3Smrg
401.3Smrgchanges since bozohttpd 20060517:
411.3Smrg	o  prefix some function names with "bozo"
421.3Smrg	o  align directory indexing <hr> markers
431.3Smrg	o  clean up some code GCC4 grumbled about
441.1Stls
451.1Stlschanges since bozohttpd 20050410:
461.1Stls	o  don't allow "/.." or "../" files
471.1Stls	o  don't write ":80" into urls for the http port
481.1Stls	o  fix a fd leak when fork() fails
491.1Stls	o  make directory indexing mode not look so ugly
501.1Stls	o  build a text version of the manual page
511.1Stls	o  make "make clean" work properly
521.1Stls
531.1Stlschanges since bozohttpd 20040808:
541.1Stls	o  fix some off-by-one errors from <roland.illig@gmx.de>
551.1Stls	o  properly support nph- CGI
561.1Stls	o  make content maps case insensitive
571.1Stls	o  fix proto header merging to include the missing comma
581.1Stls	o  major source reorganisation; most features are in separate files now
591.1Stls	o  new -V flag that makes unknown virtualhosts use slashdir
601.1Stls	   from <rumble@ephemeral.org>
611.1Stls	o  HTTP/1.x protocol headers are now properly merged for CGI
621.1Stls
631.1Stlschanges since bozohttpd 20040218:
641.1Stls	o  CGI status is now properly handled (-a flag has been removed)
651.1Stls	o  CGI file upload support works
661.1Stls	o  %xy translations are no longer ever applied after the first '?',
671.1Stls	   ala RFC2396.  from lukem
681.1Stls	o  daemon mode (-b) should no longer hang spinning forever if it
691.1Stls	   sees no children.  from lukem
701.1Stls	o  new .bzabsredirect file support. from <martin@netbsd.org>
711.1Stls	o  return a 404 error if we see %00 or %2f (/)
721.1Stls	o  don't print 2 "200" headers for CGI
731.1Stls	o  support .torrent files
741.1Stls
751.1Stlschanges since bozohttpd 20031005:
761.1Stls	o  new .bzredirect file support for sane directory redirection
771.1Stls	o  new -Z option that enables SSL mode, from <rtr@eterna.com.au>
781.1Stls	o  the -C option has been changed to take two explicit options, rather
791.1Stls	   than a single option with a space separating the suffix and the
801.1Stls	   interpreter.  ``-C ".foo /path/to/bar"'' should now be written
811.1Stls	   as ``-C .foo /path/to/bar''
821.1Stls	o  the -M option has been changed like -C and no longer requires or
831.1Stls	   supports a single argument with space-separated options
841.1Stls	o  with -a, still print the 200 OK.  from <rtr@eterna.com.au>
851.1Stls	o  with -r, if a .bzdirect file appears in a directory, allow direct
861.1Stls	   access to this directory
871.1Stls
881.1Stlschanges since bozohttpd 20030626:
891.1Stls	o  fixes for basic authorisation.  from <ecu@ipv42.net>
901.1Stls	o  always display file size in directory index mode
911.1Stls	o  add .xbel, .xml & .xsl -> text/xml mappings.  from
921.1Stls	   <wiz@danbala.ifoer.tuwien.ac.at>
931.1Stls
941.1Stlschanges since bozohttpd 20030409:
951.1Stls	o  fix a recent core dump when given no input
961.1Stls	o  add new -r flag that ensures referrer is set to this host
971.1Stls	o  fix several compile time errors with -DNO_CGIBIN_SUPPORT
981.1Stls	o  fix some man page details. from lukem@wasabisystems.com
991.1Stls	o  re-add a missing memset(), fixing a core dump. from lukem
1001.1Stls	o  support HTTP basic authorisation, disabled by default.  from lukem
1011.1Stls	o  print the port number in redirects and errors. from lukem
1021.1Stls	o  only syslog the basename of the program. from lukem
1031.1Stls	o  add __attribute__() format checking. from lukem
1041.1Stls	o  fix cgibin SCRIPT_NAME to have a leading /.  from zakj@nox.cx
1051.1Stls	o  simplify some code in -C to avoid a core dump.  from lukem
1061.1Stls	o  add a .css -> css/text entry to the content_map[].  from zakj@nox.cx
1071.1Stls
1081.1Stlschanges since bozohttpd 20030313:
1091.1Stls	o  -d without DEBUG enabled only prints one warning and continues
1101.1Stls	o  one can now define the C macro SERVER_SOFTWARE when building to
1111.1Stls	   change the Server: header and CGI variable of the same name
1121.1Stls	o  add new -s flag the force logging output to stderr. from zakj@nox.cx
1131.1Stls	o  add new -a flag for CGI bin that stops bozohttpd from outputting
1141.1Stls	   any HTTP reply, the CGI program must output these.  from zakj@nox.cx
1151.1Stls	o  new REQUEST_URI and DATE_GMT environment variables for CGI.  from
1161.1Stls	   zakj@nox.cx
1171.1Stls	o  add a "Makefile.boot" that should work with any make program
1181.1Stls	o  build on linux again
1191.1Stls	o  fix core dumps when using -C
1201.1Stls
1211.1Stlschanges since bozohttpd 20021106:
1221.1Stls	o  deprecate -r flag; make this the default and silently ignore -r now
1231.1Stls	o  add support for file extentions to call CGI programs (from lukem)
1241.1Stls	o  add dynamic support to add new content map entries, allowing both
1251.1Stls	   new file types and non /cgi-bin CGI programs to be run with the
1261.1Stls	   new -C "suffix cgihandler" and -M "suffix type encoding encoding11"
1271.1Stls	   options
1281.1Stls	o  in -b mode, set the http date after accept() returns, not before we
1291.1Stls	   call accept()
1301.1Stls	o  in -b mode, bind all addresses found not just the first one
1311.1Stls	o  unsupport old hostname API
1321.1Stls	o  in -b mode, set the SO_REUSEADDR socket option (lukem)
1331.1Stls	o  allow -x (index.html) mode to work with CGI handlers
1341.1Stls
1351.1Stlschanges since bozohttpd 5.15 (20020913):
1361.1Stls	o  add .bz2 support
1371.1Stls	o  properly escape <, > and & in error messages, partly from
1381.1Stls	   Nicolas Jombart <ecu@mariejeanne.net>
1391.1Stls	o  new -H flag to hide .* files in directory index mode
1401.1Stls	o  fix buffer reallocation when parsing a request, to avoid
1411.1Stls	   overflowing the buffer with carriage returns (\r)
1421.1Stls	o  do not decode "%XY"-style cgi-bin data beyond the "?"
1431.1Stls
1441.1Stlschanges since bozohttpd 5.14 (20020823):
1451.1Stls	o  add .ogg support -> `application/x-ogg'
1461.1Stls	o  fix CGI requests with "/" in the query part
1471.1Stls
1481.1Stlschanges since bozohttpd 5.13 (20020804):
1491.1Stls	o  allow -X mode to work for "/"
1501.1Stls	o  work on systems without MADV_SEQUENTIAL
1511.1Stls	o  make a local cut-down copy of "queue.h" (fixes linux & solaris
1521.1Stls	   support at the very least)
1531.1Stls	o  portability fixes for pre-ipv6 socket api systems (eg, solaris 7)
1541.1Stls	o  portability fixes for missing _PATH_DEFPATH, LOG_FTP and __progname
1551.1Stls	o  better documentation on virtual host support
1561.1Stls
1571.1Stlschanges since bozohttpd 5.12 (20020803):
1581.1Stls	o  support .mp3 files (type audio/mpeg)
1591.1Stls	o  use stat() to find out if something is a directory, for -X mode
1601.1Stls
1611.1Stlschanges since bozohttpd 5.11 (20020730):
1621.1Stls	o  constification
1631.1Stls	o  fixes & enhancements for directory index mode (-X)
1641.1Stls
1651.1Stlschanges since bozohttpd 5.10 (20020710):
1661.1Stls	o  more man page fixes from Thomas Klausner
1671.1Stls	   <wiz@danbala.ifoer.tuwien.ac.at>
1681.1Stls	o  de-K&R C-ification
1691.1Stls	o  fix Date: header for daemon mode
1701.1Stls	o  fix core dump when asking for /cgi-bin/ when CGI isn't configured
1711.1Stls	o  use a valid Server: header
1721.1Stls
1731.1Stlschanges since bozohttpd 5.09 (20010922):
1741.1Stls	- add freebsd support 
1751.1Stls	- fix a couple of header typos
1761.1Stls	- many cgi-bin fixes from lukem@netbsd.org
1771.1Stls	- add -T chrootdir and -U user, plus several minor other cleanups
1781.1Stls	with signals and return values.  from xs@kittenz.org
1791.1Stls	- add -e that does not clear the environment for -T/-U
1801.1Stls	- fix a formatting error noticed by ISIHARA Takanori <ishit@oak.dti.ne.jp>
1811.1Stls
1821.1Stlschanges since bozohttpd 5.08 (20010812):
1831.1Stls	- add a daemon mode
1841.1Stls	- document how to use bozohttpd in netbsd inetd with more than 40 
1851.1Stls	connections per minute and also with cgibin
1861.1Stls	- man page fixes from wiz@netbsd.org
1871.1Stls
1881.1Stlschanges since bozohttpd 5.07 (20010610):
1891.1Stls	- add directory index generation support (-X) from ad@netbsd.org
1901.1Stls	- add .pa as an alias for .pac
1911.1Stls	- make server software version configurable (RFC)
1921.1Stls
1931.1Stlschanges since bozohttpd 5.06 (20000825):
1941.1Stls	- add .png support 
1951.1Stls	- new "-x index.html" flag to change default file
1961.1Stls	- new "-p public_html" flag to change default ~user directory
1971.1Stls	- fixes cgi-bin support and more from chuck@research.att.com
1981.1Stls	- add many new content-types, now support most common ones
1991.1Stls
2001.1Stlschanges since bozohttpd 5.05 (20000815):
2011.1Stls	- add IPv6 suppor from itojun@iijlab.net
2021.1Stls	- man page fixes from jlam@netbsd.org
2031.1Stls
2041.1Stlschanges since bozohttpd 5.04 (20000427):
2051.1Stls	- fix a virtual host bug, from kleink@netbsd.org
2061.1Stls
2071.1Stlschanges since bozohttpd 5.03 (20000427):
2081.1Stls	- fix virtual host support; URI takes precedence over Host:
2091.1Stls
2101.1Stlschanges since bozohttpd 5.02 (20000426):
2111.1Stls	- fix a bug with chdir() 
2121.1Stls
2131.1Stlschanges since bozohttpd 5.01 (20000421):
2141.1Stls	- .pac spport from simonb
2151.1Stls
2161.1Stlschanges since bozohttpd 5.00 (19990519):
2171.1Stls	- .swf support 
2181.1Stls	- virtual hosting support 
2191.1Stls
220