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