CHANGES revision 1.55
11.55Smrg$NetBSD: CHANGES,v 1.55 2024/01/26 23:19:44 mrg Exp $
21.55Smrg
31.55Smrgchanges in bozohttpd 20240126:
41.55Smrg	o  add some more default mime types.
51.55Smrg	o  fix memory leaks.  from shm.
61.55Smrg	o  fix reading 2 bytes beyond '%', possibly not mapped.  from shm.
71.55Smrg	o  support openssl 3.  from christos.
81.55Smrg	o  add -q option to not log.  from martin.
91.55Smrg	o  fix default return value of bozo_set_defaults(), PR#54785.
101.53Skim
111.53Skimchanges in bozohttpd 20220104:
121.53Skim	o  remove obsolete .bzdirect handling.
131.50Smrg
141.50Smrgchanges in bozohttpd 20210824:
151.50Smrg	o  new "-m tlsversion" option to set the minimum TLS version
161.50Smrg	   available.  partially from <sunil@nimmagadda.net>.
171.51Smrg	o  extend the list of available ciphers to include most of the
181.51Smrg	   openssl "HIGH" with some additional disables.  retain the current
191.51Smrg	   list of bad options.  should deal with PR#51278.
201.49Smrg
211.49Smrgchanges in bozohttpd 20210504:
221.52Sandvar	o  don't assume host BUFSIZ is sufficient.  small BUFSIZ leads to
231.49Smrg	   always happens errors in the testsuite.  switch all these buffers
241.49Smrg	   to be 4KiB sized.  reported by embr <git@liclac.eu>
251.48Smrg
261.48Smrgchanges in bozohttpd 20210403:
271.48Smrg	o  fix a denial of service attack against initial request contents,
281.48Smrg           now bounded at 16KiB.  reported by Justin Parrott in PR#56085
291.47Smrg
301.47Smrgchanges in bozohttpd 20210227:
311.47Smrg	o  new support for content types: .tar.bz2, .tar.xz, .tar.lz,
321.47Smrg	   .tar.zst, .tbz2, .txz, .tlz, .zipx, .xz, .zst, .sz, .lz, .lzma,
331.47Smrg	   .lzo, .7z, .lzo, .cab, .dmg, .jar, and .rar.  should fix
341.47Smrg	   netbsd PR#56026:
351.47Smrg	   MIME type of .tar.xz file on ny{cdn,ftp}.NetBSD.org is invalid
361.45Smrg
371.46Smrgchanges in bozohttpd 20210211:
381.45Smrg	o  fix various NULL derefs from malformed headers.  mostly from
391.45Smrg	   <emily@ingalls.rocks>.
401.46Smrg	o  fix memory leaks in library interface: add bozo_cleanup().
411.43Smrg
421.43Smrgchanges in bozohttpd 20201014:
431.43Smrg	o  also set -D_GNU_SOURCE in Makefile.boot.  from
441.43Smrg	   hadrien.lacour@posteo.net.
451.43Smrg	o  fix array size botch (assertion, not exploitable.)  from
461.43Smrg	   martin@netbsd.org.
471.43Smrg	o  also match %2F as well as %2f.  from leah@vuxu.org.
481.44Smrg	o  many manual and help fixes.  clean ups for higher lint levels,
491.44Smrg	   consistency/style clean ups.  various option fixes including made
501.44Smrg	   -f imply -b.  from <henrik@gulbra.net> for freebsd.
511.42Srhialto
521.42Srhialtochanges in bozohttpd 20200912:
531.42Srhialto	o  add .m4a and .m4v file extensions.
541.41Smrg
551.41Smrgchanges in bozohttpd 20200820:
561.41Smrg	o  make this work on sun2 by reducing mmap window there.
571.41Smrg	o  fix SSL shutdown sequence.  from spz@netbsd.org.
581.41Smrg	o  add readme support to directory indexing.  from jmcneill@netbsd.org
591.41Smrg	o  add blocklist(8) support.  from jruoho@netbsd.org.
601.37Smrg
611.40Smrgchanges in bozohttpd 20190228:
621.40Smrg	o  extend timeout facility to ssl and stop servers hanging forever
631.40Smrg	   if the client never sends anything.  reported by Steffen in netbsd
641.40Smrg	   PR#50655.
651.37Smrg	o  don't display special files in the directory index.  they aren't
661.37Smrg	   served, but links to them are generated.
671.36Smrg	o  fix CGI '+' parameter handling, some error checking, and a double
681.36Smrg	   free.  from rajeev_v_pillai@yahoo.com
691.36Smrg	o  more directory indexing clean up.  from rajeev_v_pillai@yahoo.com
701.32Sleot
711.32Sleotchanges in bozohttpd 20181215:
721.34Smrg	o  fix .htpasswd bypass for authenticated users.  reported by JP,
731.32Sleot	   from leot@netbsd.org
741.32Sleot	o  avoid possible null dereference when receiving a big request that
751.32Sleot	   timeout.  reported by maya@netbsd.org, from leot@netbsd.org
761.32Sleot	o  fix handling of -T option, from leot@netbsd.org
771.32Sleot	o  cleanups and portability improvements, from maya@netbsd.org
781.33Smrg	o  change directory indexing to use html tables, from
791.31Smrg	   rajeev_v_pillai@yahoo.com
801.29Smrg
811.29Smrgchanges in bozohttpd 20181125:
821.30Smrg	o  fixes for option parsing introduced in bozohttpd 20181123
831.26Smrg
841.28Smrgchanges in bozohttpd 20181121:
851.26Smrg	o  add url remap support via .bzremap file, from martin@netbsd.org
861.26Smrg	o  handle redirections for any protocol, not just http:
871.26Smrg	o  fix a denial of service attack against header contents, which
881.27Smrg	   is now bounded at 16KiB.  reported by JP
891.27Smrg	o  reduce default timeouts, and add expand timeouts to handle the
901.27Smrg	   initial line, each header, and the total time spent
911.27Smrg	o  add -T option to expose new timeout settings
921.27Smrg	o  minor RFC fixes related to timeout handling
931.30Smrg	o  fix special file (.htpasswd, .bz*) bypass.  reported by JP
941.25Smrg
951.25Smrgchanges in bozohttpd 20170201:
961.25Smrg	o  fix an infinite loop in cgi processing
971.25Smrg	o  fixes and clean up for the testsuite
981.25Smrg	o  no longer sends encoding header for compressed formats
991.11Smrg
1001.23Sagcchanges in bozohttpd 20160517:
1011.25Smrg	o  add a bozo_get_version() function which returns the version number
1021.23Sagc
1031.22Smrgchanges in bozohttpd 20160415:
1041.22Smrg	o  add search-word support for CGI
1051.22Smrg	o  fix a security issue in CGI suffix handler support which would
1061.22Smrg	   allow remote code execution, from shm@netbsd.org
1071.22Smrg	o  -C option supports now CGI scripts only
1081.22Smrg
1091.21Sshmchanges in bozohttpd 20151028:
1101.21Sshm	o  add CGI support for ~user translation (-E switch)
1111.21Sshm	o  add redirects to ~user translation
1121.21Sshm	o  fix bugs around ~user translation
1131.21Sshm	o  add schema detection for absolute redirects
1141.21Sshm	o  fixed few memory leaks
1151.21Sshm	o  bunch of minor tweaks
1161.21Sshm	o  removed -r support
1171.21Sshm	o  smarter redirects 
1181.21Sshm
1191.20Smrgchanges in bozohttpd 20150320:
1201.20Smrg	o  fix redirection handling
1211.20Smrg	o  support transport stream (.ts) and video object (.vob) files
1221.20Smrg	o  directory listings show correct file sizes for large files
1231.20Smrg
1241.19Smrgchanges in bozohttpd 20140717:
1251.20Smrg	o  properly handle SSL errors
1261.19Smrg
1271.18Smrgchanges in bozohttpd 20140708:
1281.18Smrg	o  fixes for virtual host support, from rajeev_v_pillai@yahoo.com
1291.18Smrg	o  avoid printing double errors, from shm@netbsd.org
1301.18Smrg	o  fix a security issue in basic HTTP authentication which would allow
1311.18Smrg	   authentication to be bypassed, from shm@netbsd.org
1321.18Smrg
1331.15Smrgchanges in bozohttpd 20140201:
1341.16Smrg	o  support .svg files
1351.15Smrg	o  fix a core dump when requests timeout
1361.15Smrg
1371.15Smrgchanges in bozohttpd 20140102:
1381.14Smrg	o  update a few content types
1391.14Smrg	o  add support for directly calling lua scripts to handle
1401.14Smrg	   processes, from mbalmer@netbsd.org
1411.13Smrg	o  properly escape generated HTML
1421.13Smrg	o  add authentication for redirections, from martin@netbsd.org
1431.13Smrg	o  handle chained ssl certifications, from elric@netbsd.org
1441.13Smrg	o  add basic support for gzipped files, from elric@netbsd.org
1451.12Smrg	o  properly escape generated URIs
1461.12Smrg
1471.15Smrgchanges in bozohttpd 20111118:
1481.11Smrg	o  add -P <pidfile> option, from jmmv@netbsd.org
1491.11Smrg	o  avoid crashes with http basic auth, from pooka@netbsd.org
1501.11Smrg	o  add support for REDIRECT_STATUS variable, from tls@netbsd.org
1511.11Smrg	o  support .mp4 files in the default map
1521.11Smrg	o  directory indexes with files with : are now displayed properly, from
1531.11Smrg	   reed@netbsd.org
1541.11Smrg	o  allow -I option to be useful in non-inetd mode as well
1551.9Smrg
1561.15Smrgchanges in bozohttpd 20100920:
1571.9Smrg	o  properly fully disable multi-file mode for now
1581.9Smrg	o  fix the -t and -U options when used without the -e option, broken since
1591.9Smrg	   the library-ifcation
1601.9Smrg	o  be explicit that logs go to the FTP facility in syslog
1611.10Smrg	o  use scandir() with alphasort() for sorted directory lists, from moof
1621.10Smrg	o  fix a serious error in vhost handling; "Host:.." would allow access to
1631.10Smrg	   the next level directory from the virtual root directory, from seanb
1641.10Smrg	o  fix some various non standard compile time errors, from rudolf
1651.10Smrg	o  fix dynamic CGI content maps, from rudolf
1661.7Smrg
1671.15Smrgchanges in bozohttpd 20100617:
1681.7Smrg	o  fix some compile issues
1691.8Smrg	o  fix SSL mode.  from rtr
1701.8Smrg	o  fix some cgi-bin issues, as seen with cvsweb
1711.8Smrg	o  disable multi-file daemon mode for now, it breaks
1721.8Smrg	o  return 404's instead of 403's when chdir of ~user dirs fail
1731.8Smrg	o  remove "noreturn" attribute from bozo_http_error() that was
1741.8Smrg	   causing incorrect runtime behaviour
1751.6Smrg
1761.15Smrgchanges in bozohttpd 20100509:
1771.6Smrg	o  major rework and clean up of internal interfaces.  move the main
1781.30Smrg	   program into main.c, the remaining parts are useable as library
1791.6Smrg	   add bindings for lua.  by Alistair G. Crooks <agc@netbsd.org>
1801.6Smrg	o  fix http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=566325
1811.4Smrg
1821.15Smrgchanges in bozohttpd 20090522:
1831.4Smrg	o  avoid dying in daemon mode for some uncommon, but recoverable, errors
1841.4Smrg	o  close leaking file descriptors for CGI and daemon mode
1851.4Smrg	o  handle poll errors properly
1861.4Smrg	o  don't try to handle more than one request per process yet
1871.5Smrg	o  add subdirs for build "debug" and "small" versions
1881.5Smrg	o  clean up a bad merge / duplicate code
1891.5Smrg	o  make mmap() usage portable, fixes linux & ranges: support
1901.5Smrg	o  document the -f option
1911.5Smrg	o  daemon mode now serves 6 files per child
1921.3Smrg
1931.15Smrgchanges in bozohttpd 20090417:
1941.3Smrg	o  make bozohttpd internally more modular, preparing the way
1951.3Smrg	   to handle more than one request per process
1961.3Smrg	o  fix http-auth, set $REMOTE_USER not $REMOTEUSER.  also fix
1971.3Smrg	   cgi-bin with cvsweb, from Holger Weiss <holger@CIS.FU-Berlin.DE>
1981.3Smrg	o  fix an uninitialised variable use in daemon mode
1991.3Smrg	o  fix ssl mode with newer OpenSSL
2001.3Smrg	o  mmap large files in manageable sizes so we can serve any size file
2011.3Smrg	o  refactor url processing to handle query strings correctly for CGI
2021.3Smrg	   from Sergey Katsev at Coyote Point
2031.3Smrg	o  add If-Modified-Since support, from Joerg Sonnenberger
2041.3Smrg	   <joerg@netbsd.org>
2051.3Smrg	o  many more manual fixes, from NetBSD
2061.3Smrg
2071.15Smrgchanges in bozohttpd 20080303:
2081.3Smrg	o  fix some cgi header processing, from <thelsdj@gmail.com>
2091.3Smrg	o  add simple Range: header processing, from <bad@bsd.de>
2101.3Smrg	o  man page fixes, from NetBSD
2111.3Smrg	o  clean up various parts, from NetBSD
2121.3Smrg
2131.15Smrgchanges in bozohttpd 20060710:
2141.3Smrg	o  prefix some function names with "bozo"
2151.3Smrg	o  align directory indexing <hr> markers
2161.3Smrg	o  clean up some code GCC4 grumbled about
2171.1Stls
2181.15Smrgchanges in bozohttpd 20060517:
2191.1Stls	o  don't allow "/.." or "../" files
2201.1Stls	o  don't write ":80" into urls for the http port
2211.1Stls	o  fix a fd leak when fork() fails
2221.1Stls	o  make directory indexing mode not look so ugly
2231.1Stls	o  build a text version of the manual page
2241.1Stls	o  make "make clean" work properly
2251.1Stls
2261.15Smrgchanges in bozohttpd 20050410:
2271.1Stls	o  fix some off-by-one errors from <roland.illig@gmx.de>
2281.1Stls	o  properly support nph- CGI
2291.1Stls	o  make content maps case insensitive
2301.1Stls	o  fix proto header merging to include the missing comma
2311.1Stls	o  major source reorganisation; most features are in separate files now
2321.1Stls	o  new -V flag that makes unknown virtualhosts use slashdir
2331.1Stls	   from <rumble@ephemeral.org>
2341.1Stls	o  HTTP/1.x protocol headers are now properly merged for CGI
2351.1Stls
2361.15Smrgchanges in bozohttpd 20040808:
2371.1Stls	o  CGI status is now properly handled (-a flag has been removed)
2381.1Stls	o  CGI file upload support works
2391.1Stls	o  %xy translations are no longer ever applied after the first '?',
2401.1Stls	   ala RFC2396.  from lukem
2411.1Stls	o  daemon mode (-b) should no longer hang spinning forever if it
2421.1Stls	   sees no children.  from lukem
2431.1Stls	o  new .bzabsredirect file support. from <martin@netbsd.org>
2441.1Stls	o  return a 404 error if we see %00 or %2f (/)
2451.1Stls	o  don't print 2 "200" headers for CGI
2461.1Stls	o  support .torrent files
2471.1Stls
2481.15Smrgchanges in bozohttpd 20040218:
2491.1Stls	o  new .bzredirect file support for sane directory redirection
2501.1Stls	o  new -Z option that enables SSL mode, from <rtr@eterna.com.au>
2511.1Stls	o  the -C option has been changed to take two explicit options, rather
2521.1Stls	   than a single option with a space separating the suffix and the
2531.1Stls	   interpreter.  ``-C ".foo /path/to/bar"'' should now be written
2541.1Stls	   as ``-C .foo /path/to/bar''
2551.1Stls	o  the -M option has been changed like -C and no longer requires or
2561.1Stls	   supports a single argument with space-separated options
2571.1Stls	o  with -a, still print the 200 OK.  from <rtr@eterna.com.au>
2581.1Stls	o  with -r, if a .bzdirect file appears in a directory, allow direct
2591.1Stls	   access to this directory
2601.1Stls
2611.15Smrgchanges in bozohttpd 20031005:
2621.1Stls	o  fixes for basic authorisation.  from <ecu@ipv42.net>
2631.1Stls	o  always display file size in directory index mode
2641.1Stls	o  add .xbel, .xml & .xsl -> text/xml mappings.  from
2651.1Stls	   <wiz@danbala.ifoer.tuwien.ac.at>
2661.1Stls
2671.15Smrgchanges in bozohttpd 20030626:
2681.1Stls	o  fix a recent core dump when given no input
2691.1Stls	o  add new -r flag that ensures referrer is set to this host
2701.1Stls	o  fix several compile time errors with -DNO_CGIBIN_SUPPORT
2711.1Stls	o  fix some man page details. from lukem@wasabisystems.com
2721.1Stls	o  re-add a missing memset(), fixing a core dump. from lukem
2731.1Stls	o  support HTTP basic authorisation, disabled by default.  from lukem
2741.1Stls	o  print the port number in redirects and errors. from lukem
2751.1Stls	o  only syslog the basename of the program. from lukem
2761.1Stls	o  add __attribute__() format checking. from lukem
2771.1Stls	o  fix cgibin SCRIPT_NAME to have a leading /.  from zakj@nox.cx
2781.1Stls	o  simplify some code in -C to avoid a core dump.  from lukem
2791.1Stls	o  add a .css -> css/text entry to the content_map[].  from zakj@nox.cx
2801.1Stls
2811.15Smrgchanges in bozohttpd 20030409:
2821.1Stls	o  -d without DEBUG enabled only prints one warning and continues
2831.1Stls	o  one can now define the C macro SERVER_SOFTWARE when building to
2841.1Stls	   change the Server: header and CGI variable of the same name
2851.1Stls	o  add new -s flag the force logging output to stderr. from zakj@nox.cx
2861.1Stls	o  add new -a flag for CGI bin that stops bozohttpd from outputting
2871.1Stls	   any HTTP reply, the CGI program must output these.  from zakj@nox.cx
2881.1Stls	o  new REQUEST_URI and DATE_GMT environment variables for CGI.  from
2891.1Stls	   zakj@nox.cx
2901.1Stls	o  add a "Makefile.boot" that should work with any make program
2911.1Stls	o  build on linux again
2921.1Stls	o  fix core dumps when using -C
2931.1Stls
2941.15Smrgchanges in bozohttpd 20030313:
2951.1Stls	o  deprecate -r flag; make this the default and silently ignore -r now
2961.52Sandvar	o  add support for file extensions to call CGI programs (from lukem)
2971.1Stls	o  add dynamic support to add new content map entries, allowing both
2981.1Stls	   new file types and non /cgi-bin CGI programs to be run with the
2991.1Stls	   new -C "suffix cgihandler" and -M "suffix type encoding encoding11"
3001.1Stls	   options
3011.1Stls	o  in -b mode, set the http date after accept() returns, not before we
3021.1Stls	   call accept()
3031.1Stls	o  in -b mode, bind all addresses found not just the first one
3041.1Stls	o  unsupport old hostname API
3051.1Stls	o  in -b mode, set the SO_REUSEADDR socket option (lukem)
3061.1Stls	o  allow -x (index.html) mode to work with CGI handlers
3071.1Stls
3081.15Smrgchanges in bozohttpd 20021106:
3091.1Stls	o  add .bz2 support
3101.1Stls	o  properly escape <, > and & in error messages, partly from
3111.1Stls	   Nicolas Jombart <ecu@mariejeanne.net>
3121.1Stls	o  new -H flag to hide .* files in directory index mode
3131.1Stls	o  fix buffer reallocation when parsing a request, to avoid
3141.1Stls	   overflowing the buffer with carriage returns (\r)
3151.1Stls	o  do not decode "%XY"-style cgi-bin data beyond the "?"
3161.1Stls
3171.15Smrgchanges in bozohttpd 5.15 (20020913):
3181.1Stls	o  add .ogg support -> `application/x-ogg'
3191.1Stls	o  fix CGI requests with "/" in the query part
3201.1Stls
3211.15Smrgchanges in bozohttpd 5.14 (20020823):
3221.1Stls	o  allow -X mode to work for "/"
3231.1Stls	o  work on systems without MADV_SEQUENTIAL
3241.1Stls	o  make a local cut-down copy of "queue.h" (fixes linux & solaris
3251.1Stls	   support at the very least)
3261.1Stls	o  portability fixes for pre-ipv6 socket api systems (eg, solaris 7)
3271.1Stls	o  portability fixes for missing _PATH_DEFPATH, LOG_FTP and __progname
3281.1Stls	o  better documentation on virtual host support
3291.1Stls
3301.15Smrgchanges in bozohttpd 5.13 (20020804):
3311.1Stls	o  support .mp3 files (type audio/mpeg)
3321.1Stls	o  use stat() to find out if something is a directory, for -X mode
3331.1Stls
3341.15Smrgchanges in bozohttpd 5.12 (20020803):
3351.1Stls	o  constification
3361.1Stls	o  fixes & enhancements for directory index mode (-X)
3371.1Stls
3381.15Smrgchanges in bozohttpd 5.11 (20020730):
3391.1Stls	o  more man page fixes from Thomas Klausner
3401.1Stls	   <wiz@danbala.ifoer.tuwien.ac.at>
3411.1Stls	o  de-K&R C-ification
3421.1Stls	o  fix Date: header for daemon mode
3431.1Stls	o  fix core dump when asking for /cgi-bin/ when CGI isn't configured
3441.1Stls	o  use a valid Server: header
3451.1Stls
3461.15Smrgchanges in bozohttpd 5.10 (20020710):
3471.1Stls	- add freebsd support 
3481.1Stls	- fix a couple of header typos
3491.1Stls	- many cgi-bin fixes from lukem@netbsd.org
3501.1Stls	- add -T chrootdir and -U user, plus several minor other cleanups
3511.1Stls	with signals and return values.  from xs@kittenz.org
3521.1Stls	- add -e that does not clear the environment for -T/-U
3531.1Stls	- fix a formatting error noticed by ISIHARA Takanori <ishit@oak.dti.ne.jp>
3541.1Stls
3551.15Smrgchanges in bozohttpd 5.09 (20010922):
3561.1Stls	- add a daemon mode
3571.1Stls	- document how to use bozohttpd in netbsd inetd with more than 40 
3581.1Stls	connections per minute and also with cgibin
3591.1Stls	- man page fixes from wiz@netbsd.org
3601.1Stls
3611.15Smrgchanges in bozohttpd 5.08 (20010812):
3621.1Stls	- add directory index generation support (-X) from ad@netbsd.org
3631.1Stls	- add .pa as an alias for .pac
3641.1Stls	- make server software version configurable (RFC)
3651.1Stls
3661.15Smrgchanges in bozohttpd 5.07 (20010610):
3671.1Stls	- add .png support 
3681.1Stls	- new "-x index.html" flag to change default file
3691.1Stls	- new "-p public_html" flag to change default ~user directory
3701.1Stls	- fixes cgi-bin support and more from chuck@research.att.com
3711.1Stls	- add many new content-types, now support most common ones
3721.1Stls
3731.15Smrgchanges in bozohttpd 5.06 (20000825):
3741.33Smrg	- add IPv6 support from itojun@iijlab.net
3751.1Stls	- man page fixes from jlam@netbsd.org
3761.1Stls
3771.15Smrgchanges in bozohttpd 5.05 (20000815):
3781.1Stls	- fix a virtual host bug, from kleink@netbsd.org
3791.1Stls
3801.15Smrgchanges in bozohttpd 5.04 (20000427):
3811.1Stls	- fix virtual host support; URI takes precedence over Host:
3821.1Stls
3831.15Smrgchanges in bozohttpd 5.03 (20000427):
3841.1Stls	- fix a bug with chdir() 
3851.1Stls
3861.15Smrgchanges in bozohttpd 5.02 (20000426):
3871.54Sandvar	- .pac support from simonb
3881.1Stls
3891.15Smrgchanges in bozohttpd 5.01 (20000421):
3901.1Stls	- .swf support 
3911.1Stls	- virtual hosting support 
392