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