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