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