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