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