CHANGES revision 1.45
1$NetBSD: CHANGES,v 1.45 2021/02/11 09:23:55 mrg Exp $ 2 3changes in bozohttpd 20210210: 4 o fix various NULL derefs from malformed headers. mostly from 5 <emily@ingalls.rocks>. 6 7changes in bozohttpd 20201014: 8 o also set -D_GNU_SOURCE in Makefile.boot. from 9 hadrien.lacour@posteo.net. 10 o fix array size botch (assertion, not exploitable.) from 11 martin@netbsd.org. 12 o also match %2F as well as %2f. from leah@vuxu.org. 13 o many manual and help fixes. clean ups for higher lint levels, 14 consistency/style clean ups. various option fixes including made 15 -f imply -b. from <henrik@gulbra.net> for freebsd. 16 17changes in bozohttpd 20200912: 18 o add .m4a and .m4v file extensions. 19 20changes in bozohttpd 20200820: 21 o make this work on sun2 by reducing mmap window there. 22 o fix SSL shutdown sequence. from spz@netbsd.org. 23 o add readme support to directory indexing. from jmcneill@netbsd.org 24 o add blocklist(8) support. from jruoho@netbsd.org. 25 26changes in bozohttpd 20190228: 27 o extend timeout facility to ssl and stop servers hanging forever 28 if the client never sends anything. reported by Steffen in netbsd 29 PR#50655. 30 o don't display special files in the directory index. they aren't 31 served, but links to them are generated. 32 o fix CGI '+' parameter handling, some error checking, and a double 33 free. from rajeev_v_pillai@yahoo.com 34 o more directory indexing clean up. from rajeev_v_pillai@yahoo.com 35 36changes in bozohttpd 20181215: 37 o fix .htpasswd bypass for authenticated users. reported by JP, 38 from leot@netbsd.org 39 o avoid possible null dereference when receiving a big request that 40 timeout. reported by maya@netbsd.org, from leot@netbsd.org 41 o fix handling of -T option, from leot@netbsd.org 42 o cleanups and portability improvements, from maya@netbsd.org 43 o change directory indexing to use html tables, from 44 rajeev_v_pillai@yahoo.com 45 46changes in bozohttpd 20181125: 47 o fixes for option parsing introduced in bozohttpd 20181123 48 49changes in bozohttpd 20181121: 50 o add url remap support via .bzremap file, from martin@netbsd.org 51 o handle redirections for any protocol, not just http: 52 o fix a denial of service attack against header contents, which 53 is now bounded at 16KiB. reported by JP 54 o reduce default timeouts, and add expand timeouts to handle the 55 initial line, each header, and the total time spent 56 o add -T option to expose new timeout settings 57 o minor RFC fixes related to timeout handling 58 o fix special file (.htpasswd, .bz*) bypass. reported by JP 59 60changes in bozohttpd 20170201: 61 o fix an infinite loop in cgi processing 62 o fixes and clean up for the testsuite 63 o no longer sends encoding header for compressed formats 64 65changes in bozohttpd 20160517: 66 o add a bozo_get_version() function which returns the version number 67 68changes in bozohttpd 20160415: 69 o add search-word support for CGI 70 o fix a security issue in CGI suffix handler support which would 71 allow remote code execution, from shm@netbsd.org 72 o -C option supports now CGI scripts only 73 74changes in bozohttpd 20151028: 75 o add CGI support for ~user translation (-E switch) 76 o add redirects to ~user translation 77 o fix bugs around ~user translation 78 o add schema detection for absolute redirects 79 o fixed few memory leaks 80 o bunch of minor tweaks 81 o removed -r support 82 o smarter redirects 83 84changes in bozohttpd 20150320: 85 o fix redirection handling 86 o support transport stream (.ts) and video object (.vob) files 87 o directory listings show correct file sizes for large files 88 89changes in bozohttpd 20140717: 90 o properly handle SSL errors 91 92changes in bozohttpd 20140708: 93 o fixes for virtual host support, from rajeev_v_pillai@yahoo.com 94 o avoid printing double errors, from shm@netbsd.org 95 o fix a security issue in basic HTTP authentication which would allow 96 authentication to be bypassed, from shm@netbsd.org 97 98changes in bozohttpd 20140201: 99 o support .svg files 100 o fix a core dump when requests timeout 101 102changes in bozohttpd 20140102: 103 o update a few content types 104 o add support for directly calling lua scripts to handle 105 processes, from mbalmer@netbsd.org 106 o properly escape generated HTML 107 o add authentication for redirections, from martin@netbsd.org 108 o handle chained ssl certifications, from elric@netbsd.org 109 o add basic support for gzipped files, from elric@netbsd.org 110 o properly escape generated URIs 111 112changes in bozohttpd 20111118: 113 o add -P <pidfile> option, from jmmv@netbsd.org 114 o avoid crashes with http basic auth, from pooka@netbsd.org 115 o add support for REDIRECT_STATUS variable, from tls@netbsd.org 116 o support .mp4 files in the default map 117 o directory indexes with files with : are now displayed properly, from 118 reed@netbsd.org 119 o allow -I option to be useful in non-inetd mode as well 120 121changes in bozohttpd 20100920: 122 o properly fully disable multi-file mode for now 123 o fix the -t and -U options when used without the -e option, broken since 124 the library-ifcation 125 o be explicit that logs go to the FTP facility in syslog 126 o use scandir() with alphasort() for sorted directory lists, from moof 127 o fix a serious error in vhost handling; "Host:.." would allow access to 128 the next level directory from the virtual root directory, from seanb 129 o fix some various non standard compile time errors, from rudolf 130 o fix dynamic CGI content maps, from rudolf 131 132changes in bozohttpd 20100617: 133 o fix some compile issues 134 o fix SSL mode. from rtr 135 o fix some cgi-bin issues, as seen with cvsweb 136 o disable multi-file daemon mode for now, it breaks 137 o return 404's instead of 403's when chdir of ~user dirs fail 138 o remove "noreturn" attribute from bozo_http_error() that was 139 causing incorrect runtime behaviour 140 141changes in bozohttpd 20100509: 142 o major rework and clean up of internal interfaces. move the main 143 program into main.c, the remaining parts are useable as library 144 add bindings for lua. by Alistair G. Crooks <agc@netbsd.org> 145 o fix http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=566325 146 147changes in bozohttpd 20090522: 148 o avoid dying in daemon mode for some uncommon, but recoverable, errors 149 o close leaking file descriptors for CGI and daemon mode 150 o handle poll errors properly 151 o don't try to handle more than one request per process yet 152 o add subdirs for build "debug" and "small" versions 153 o clean up a bad merge / duplicate code 154 o make mmap() usage portable, fixes linux & ranges: support 155 o document the -f option 156 o daemon mode now serves 6 files per child 157 158changes in bozohttpd 20090417: 159 o make bozohttpd internally more modular, preparing the way 160 to handle more than one request per process 161 o fix http-auth, set $REMOTE_USER not $REMOTEUSER. also fix 162 cgi-bin with cvsweb, from Holger Weiss <holger@CIS.FU-Berlin.DE> 163 o fix an uninitialised variable use in daemon mode 164 o fix ssl mode with newer OpenSSL 165 o mmap large files in manageable sizes so we can serve any size file 166 o refactor url processing to handle query strings correctly for CGI 167 from Sergey Katsev at Coyote Point 168 o add If-Modified-Since support, from Joerg Sonnenberger 169 <joerg@netbsd.org> 170 o many more manual fixes, from NetBSD 171 172changes in bozohttpd 20080303: 173 o fix some cgi header processing, from <thelsdj@gmail.com> 174 o add simple Range: header processing, from <bad@bsd.de> 175 o man page fixes, from NetBSD 176 o clean up various parts, from NetBSD 177 178changes in bozohttpd 20060710: 179 o prefix some function names with "bozo" 180 o align directory indexing <hr> markers 181 o clean up some code GCC4 grumbled about 182 183changes in bozohttpd 20060517: 184 o don't allow "/.." or "../" files 185 o don't write ":80" into urls for the http port 186 o fix a fd leak when fork() fails 187 o make directory indexing mode not look so ugly 188 o build a text version of the manual page 189 o make "make clean" work properly 190 191changes in bozohttpd 20050410: 192 o fix some off-by-one errors from <roland.illig@gmx.de> 193 o properly support nph- CGI 194 o make content maps case insensitive 195 o fix proto header merging to include the missing comma 196 o major source reorganisation; most features are in separate files now 197 o new -V flag that makes unknown virtualhosts use slashdir 198 from <rumble@ephemeral.org> 199 o HTTP/1.x protocol headers are now properly merged for CGI 200 201changes in bozohttpd 20040808: 202 o CGI status is now properly handled (-a flag has been removed) 203 o CGI file upload support works 204 o %xy translations are no longer ever applied after the first '?', 205 ala RFC2396. from lukem 206 o daemon mode (-b) should no longer hang spinning forever if it 207 sees no children. from lukem 208 o new .bzabsredirect file support. from <martin@netbsd.org> 209 o return a 404 error if we see %00 or %2f (/) 210 o don't print 2 "200" headers for CGI 211 o support .torrent files 212 213changes in bozohttpd 20040218: 214 o new .bzredirect file support for sane directory redirection 215 o new -Z option that enables SSL mode, from <rtr@eterna.com.au> 216 o the -C option has been changed to take two explicit options, rather 217 than a single option with a space separating the suffix and the 218 interpreter. ``-C ".foo /path/to/bar"'' should now be written 219 as ``-C .foo /path/to/bar'' 220 o the -M option has been changed like -C and no longer requires or 221 supports a single argument with space-separated options 222 o with -a, still print the 200 OK. from <rtr@eterna.com.au> 223 o with -r, if a .bzdirect file appears in a directory, allow direct 224 access to this directory 225 226changes in bozohttpd 20031005: 227 o fixes for basic authorisation. from <ecu@ipv42.net> 228 o always display file size in directory index mode 229 o add .xbel, .xml & .xsl -> text/xml mappings. from 230 <wiz@danbala.ifoer.tuwien.ac.at> 231 232changes in bozohttpd 20030626: 233 o fix a recent core dump when given no input 234 o add new -r flag that ensures referrer is set to this host 235 o fix several compile time errors with -DNO_CGIBIN_SUPPORT 236 o fix some man page details. from lukem@wasabisystems.com 237 o re-add a missing memset(), fixing a core dump. from lukem 238 o support HTTP basic authorisation, disabled by default. from lukem 239 o print the port number in redirects and errors. from lukem 240 o only syslog the basename of the program. from lukem 241 o add __attribute__() format checking. from lukem 242 o fix cgibin SCRIPT_NAME to have a leading /. from zakj@nox.cx 243 o simplify some code in -C to avoid a core dump. from lukem 244 o add a .css -> css/text entry to the content_map[]. from zakj@nox.cx 245 246changes in bozohttpd 20030409: 247 o -d without DEBUG enabled only prints one warning and continues 248 o one can now define the C macro SERVER_SOFTWARE when building to 249 change the Server: header and CGI variable of the same name 250 o add new -s flag the force logging output to stderr. from zakj@nox.cx 251 o add new -a flag for CGI bin that stops bozohttpd from outputting 252 any HTTP reply, the CGI program must output these. from zakj@nox.cx 253 o new REQUEST_URI and DATE_GMT environment variables for CGI. from 254 zakj@nox.cx 255 o add a "Makefile.boot" that should work with any make program 256 o build on linux again 257 o fix core dumps when using -C 258 259changes in bozohttpd 20030313: 260 o deprecate -r flag; make this the default and silently ignore -r now 261 o add support for file extentions to call CGI programs (from lukem) 262 o add dynamic support to add new content map entries, allowing both 263 new file types and non /cgi-bin CGI programs to be run with the 264 new -C "suffix cgihandler" and -M "suffix type encoding encoding11" 265 options 266 o in -b mode, set the http date after accept() returns, not before we 267 call accept() 268 o in -b mode, bind all addresses found not just the first one 269 o unsupport old hostname API 270 o in -b mode, set the SO_REUSEADDR socket option (lukem) 271 o allow -x (index.html) mode to work with CGI handlers 272 273changes in bozohttpd 20021106: 274 o add .bz2 support 275 o properly escape <, > and & in error messages, partly from 276 Nicolas Jombart <ecu@mariejeanne.net> 277 o new -H flag to hide .* files in directory index mode 278 o fix buffer reallocation when parsing a request, to avoid 279 overflowing the buffer with carriage returns (\r) 280 o do not decode "%XY"-style cgi-bin data beyond the "?" 281 282changes in bozohttpd 5.15 (20020913): 283 o add .ogg support -> `application/x-ogg' 284 o fix CGI requests with "/" in the query part 285 286changes in bozohttpd 5.14 (20020823): 287 o allow -X mode to work for "/" 288 o work on systems without MADV_SEQUENTIAL 289 o make a local cut-down copy of "queue.h" (fixes linux & solaris 290 support at the very least) 291 o portability fixes for pre-ipv6 socket api systems (eg, solaris 7) 292 o portability fixes for missing _PATH_DEFPATH, LOG_FTP and __progname 293 o better documentation on virtual host support 294 295changes in bozohttpd 5.13 (20020804): 296 o support .mp3 files (type audio/mpeg) 297 o use stat() to find out if something is a directory, for -X mode 298 299changes in bozohttpd 5.12 (20020803): 300 o constification 301 o fixes & enhancements for directory index mode (-X) 302 303changes in bozohttpd 5.11 (20020730): 304 o more man page fixes from Thomas Klausner 305 <wiz@danbala.ifoer.tuwien.ac.at> 306 o de-K&R C-ification 307 o fix Date: header for daemon mode 308 o fix core dump when asking for /cgi-bin/ when CGI isn't configured 309 o use a valid Server: header 310 311changes in bozohttpd 5.10 (20020710): 312 - add freebsd support 313 - fix a couple of header typos 314 - many cgi-bin fixes from lukem@netbsd.org 315 - add -T chrootdir and -U user, plus several minor other cleanups 316 with signals and return values. from xs@kittenz.org 317 - add -e that does not clear the environment for -T/-U 318 - fix a formatting error noticed by ISIHARA Takanori <ishit@oak.dti.ne.jp> 319 320changes in bozohttpd 5.09 (20010922): 321 - add a daemon mode 322 - document how to use bozohttpd in netbsd inetd with more than 40 323 connections per minute and also with cgibin 324 - man page fixes from wiz@netbsd.org 325 326changes in bozohttpd 5.08 (20010812): 327 - add directory index generation support (-X) from ad@netbsd.org 328 - add .pa as an alias for .pac 329 - make server software version configurable (RFC) 330 331changes in bozohttpd 5.07 (20010610): 332 - add .png support 333 - new "-x index.html" flag to change default file 334 - new "-p public_html" flag to change default ~user directory 335 - fixes cgi-bin support and more from chuck@research.att.com 336 - add many new content-types, now support most common ones 337 338changes in bozohttpd 5.06 (20000825): 339 - add IPv6 support from itojun@iijlab.net 340 - man page fixes from jlam@netbsd.org 341 342changes in bozohttpd 5.05 (20000815): 343 - fix a virtual host bug, from kleink@netbsd.org 344 345changes in bozohttpd 5.04 (20000427): 346 - fix virtual host support; URI takes precedence over Host: 347 348changes in bozohttpd 5.03 (20000427): 349 - fix a bug with chdir() 350 351changes in bozohttpd 5.02 (20000426): 352 - .pac spport from simonb 353 354changes in bozohttpd 5.01 (20000421): 355 - .swf support 356 - virtual hosting support 357