eris

Very small inetd http server
git clone https://git.woozle.org/neale/eris.git

musvaage  ·  2022-12-15

CHANGES

  1	fix punctuation and typo
  2
  34.4:
  4	Also log when called from stunnel
  5
  64.3.1:
  7	Add .webm mime type
  8
  94.3:
 10	Very stupid CONNECT handling mechanism.
 11
 124.2:
 13	Remove some bugs in CGI's "Status:" code (reported by Alyssa Milburn).
 14	Make extract_header_field less fragile (reported by Alyssa Milburn).
 15	Possibly fix fake_sendfile (reported by Alyssa Milburn).
 16
 174.1:
 18	Fix 0.9 not detected with query_string (Alyssa Milburn).
 19
 204.0:
 21	Fix directory traversal vulnerability (Alyssa Milburn).
 22
 233.1.4:
 24	Have 304 (Not Modified) responses generate a log entry.
 25
 263.1.3:
 27	Have directory indexes generate a log entry.
 28	Remove nop -a option.
 29	Add some accessories in contrib/
 30
 313.1.2:
 32	Change how version is extracted from CHANGES, to deal with
 33		build systems that set CFLAGS.
 34	Stop hating Ryan Finnie.
 35
 363.1.1:
 37	Restructure code to make it easier to package for Debian.
 38		I hate you so much right now, Ryan Finnie.
 39
 403.1:
 41	Add -. flag to disable vhosting
 42	Support server push CGI
 43	Handle busybox tcpsvd
 44	Changed formatting of directory indexing
 45	Handle read timeout
 46	Fix if-modified-since bug with keepalive connections
 47	Change to CGI's directory on exec
 48
 493.0:
 50	More or less a ground-up rewrite.	A few fnord parts remain
 51		here and there.
 52
 532.0:
 54	Replace poll with select, which is more portable and may be
 55		slightly faster; however, it's only called for CGI and by
 56		that point you've lost quite a bit in terms of speed
 57	Remove Accept header parsing: it was broken and the result was
 58		that the Accept header had no effect
 59	Remove the .gz trick: I never used it, but I would not be averse
 60		to adding it back if people liked it
 61	Rename to "eris httpd" to acknowledge fork
 62	Add regression test suite
 63	Replace compile-time options with command-line ones
 64	Fix segfault with directory listing of /
 65	Replace buffer_1 and buffer_2 with stdio
 66	Replace libowfat with libc
 67	Add all patches from (defunct) Debian package
 68	Fix if-modified-since date parsing
 69	Make text content-types use charset=UTF-8
 70	Change default content-type to application/octet-stream
 71	Makefile no longer overrides CC and CPP from parent makes
 72	Don't send Content-type if there's no content
 73	New maintainer: Neale Pickett <neale@woozle.org>
 74
 751.10:
 76	have fallback in case sendfile fails
 77
 781.9:
 79	chdir to cgi's base dir (Kuba Winnicki)
 80	set HTTP_ACCEPT_ENCODING environment variable (Kuba Winnicki)
 81		We actually should export all HTTP headers as HTTP_[header]
 82		Any takers?
 83	Try not to send error message HTTP headers if we already sent the
 84		headers from the CGI (Kuba Winnicki)
 85	<ims -> <=ims (Gerrit Pape)
 86	64-bit file I/O cleanliness
 87	fix HTTP ranges (Joachim Berdal Haga via Gerrit Pape)
 88
 891.8:
 90	keep current environment in CGI (Laurent Bercot)
 91	make fnord-conf use the UID and not the user name (Fridtjof Busse)
 92	fix typo in buffer_putulonglong (Gerrit Pape)
 93	fix CGI POST off-by-two typo (Mark Hopf)
 94	fix gif->png conversion (Thomas Seck)
 95	remove == bashism from fnord-conf (Thomas Seck)
 96	add bittorrent mime type
 97	make authorization data available to CGIs for GET, too (Paul Jarc)
 98	fix conversion of host name to lower case (Gerrit Pape)
 99	add small test cgi: cgi-post.c
100	fix CGI POST bug (Moe Wibble)
101	fix CGI PATH_TRANSLATED bug (Nicolas George)
102	add optional authentication support (Nicolas George, see README.auth)
103	make sure error messages are text/html
104	move /. -> /: conversion before demangling so it can actually be
105		used as security measure for installations that don't use chroot
106
1071.7:
108	add .mov and .qt for quicktime, .mpg for video/mpeg and .wav for audio/x-wav
109	add mmap based file serving (should do zero-copy tcp just like sendfile)
110	add Pragma: no-cache to CGI responses
111	fix (apparently not exploitable) buffer overrun in do_cgi
112		This bug was found by Ralf Wildenhues.	To my knowledge it is
113		impossible to exploit this bug on any platform known to me.
114	fix (harmless) access to uninitialized data
115
1161.6:
117	add support for $PATH_INFO in CGI environment.
118	add .pac for netscape proxy autoconfig
119	add .sig for application/pgp-signature
120
1211.5:
122	fix write timeout handling (found by Lukas Beeler)
123	fix fnord-conf to use the symbolic account name in run script
124		(Sebastian D.B. Krause)
125
1261.4:
127	add dangling symlink based whole-host redirection (see README).	This
128		has the advantage that it can serve normal sites and redirect sites
129		on the same IP.
130	add support for non-TCP UCSPI environments (like ucspi-ssl).	Please
131		get the latest version of my ucspi-tcp IPv6 patch as I violated the
132		UCSPI spec with all versions before 0.88-diff11.
133	change logging from "127.0.0.1 200 23 Links_(0.96;_Unix) none /index.html"
134		to "127.0.0.1 200 23 localhost Links_(0.96;_Unix) none /index.html"
135		(i.e. include the Host: header).	Suggested by Thomas Bader.
136	add "immediate mode".	If you give fnord a command line argument, it
137		will change to that directory and if no "default" directory is
138		given, it will assume there are no virtual hosts and serve from the
139		current directory.	I have a shell script called "http" that does
140			tcpserver -RHl localhost 0 8000 /home/leitner/bin/fnord-idx .
141		to share some directory on my hard drive with some poor Windows
142		users without npoll (http://www.fefe.de/ncp/).	fnord-idx is a new
143		target (a fnord with DIR_LIST) that is auto-built by make.
144
1451.3:
146	make directory listings use non-proportional fonts (thanks, Antonio Dias)
147	fnord will now optionally (default: enabled) normalize the incoming
148		host name, i.e. "www.domain.com" -> "www.domain.com:80".	That
149		should cut down on the number of symbolic links. ;)
150	remove timeout error message.	fnord will not drop the connection
151		without error message.	Mozilla used to display the error message
152		when the user caused another request on the connection with the
153		timeout.
154	Uwe Ohse found two more compilation problems.
155
1561.2:
157	Olaf: I changed my initial CGI-interface to NOT use the filesystem but
158		two pipes.
159	Add whole-host redirect (see README)
160	Olaf: added directory-lists and "index.cgi" support (normal CGI only !
161		"nph-index.cgi" is not supported). Fixed some problematic parts in the
162		CGI-interface (\n -> \r\n converter for http-header and CGI crash
163		handling)
164	Fix gzip encoding bug that only happened with keep-alive
165
1661.1:
167	ship with the parts from libowfat that we actually use
168	minor speed-up.	sendfile is a drag for very small files, so those are
169		now sent through the same buffer the header is sent through.	That
170		sends the whole answer in one TCP packet if you are lucky, even
171		without the TCP_CORK magic from Linux.	Major speed-up for
172		benchmarks ;)
173
1741.0:
175	initial release