view contrib/shttpd/CHANGELOG @ 460:bf8653674ede

Status LEDs preinit rc.d script.
author Aleksandr Rybalko <>
date Mon, 24 Sep 2012 13:59:56 +0300
parents 89de91c025a5
line wrap: on
line source
	fixed POST problem under Windows
	added Windows installer
	couple of minor fixes, sent by shttpd users

	-threads option added: SHTTPD core goes multithreaded
	UNICODE fix for the windows, protect_against_code_disclosure()
	SSL functionality fixed
	added tests for all build variations

	Multithreaded API changed: added shttpd_create_ctlsock() and
	Added Windows service support.
	scalable.c example now builds on UNIX.
	shttpd_listen() is gone.

	Windows GUI is gone.
	New command line options schema.
	shttpd_set_option() could be used to set options at runtime.
	shttpd_init() changed: now shttpd_init(int argc, char *argv[])
	added administrative page.
	added universal -protect option.
	added ACL support, based on IP subnets.

	API is modified (read: broken again!). shttpd_printf() is added.
	Embedded POST handling have changed.
	Fixed IE7 authorization bug.
	Fixed connection timeout bug.
	Reorganized CVS tree.
	Added log window to Windows GUI.

	PATH_INFO support is back. Thanks to James Marshall for contribution
	and testing on his
	CGI proxy script.

	getcwd() fix for solaris, from Guido Cavezzali
	Improved Win32 GUI, put file/directory browse buttons.
	Proper file descriptor close, and FD_CLOEXEC, from Mirko Girotto

1.33	Bugfix. writeremote() timing bug fixed.
	Refactoring: nread,nwritten in struct io renamed to head, tail.
	CGI directory bug (introduced after 1.32) fixed, test added to

	Windows CGI bug fix (SYSTEMROOT environment variable issue).
	CGI interpreter and additional CGI variables can be configured,
	patch from Gero Kuhlmann.
	Windows build includes icon file as well.
	editpass() Windows issue fixed, thanks to Peter Kuo and
	Christopher Adams.

	Refactored the code. Now SHTTPD instance is fully incapsulated
	within the "context".
	Windows CGI code refactored.
	Removed shttpd_watch(), shttpd_setopt(), shttpd_register_mountpoint().
	Modified shttpd_init()
	Added shttpd_listen(), shttpd_add(), shttpd_active(), shttpd_accept(),
	shttpd_get_header(), shttpd_get_env().
	Added scalable.c, example on how to run SHTTPD in scalable manner.

	Removed multithreading. 
	Reorganised examples, put everythting in one example file. 
	shttpd_merge_fds(), shttpd_printf(), shttpd_template(), 
	shttpd_push() are gone.
	added shttpd_watch().
	Fixed CGI under Windows.
	Boolean command line parameters need argument now.
	CGI code refactored.

	added Windows GUI, -DNO_GUI parameter, -g command line switch
	fixed race condition in connection handling, thanks to Mirko Girotto.
	No conditional SSL build anymore. SSL functionality is loaded
	by demand using dynamic linking mechanism.

	fixed DoS hole in parseheaders (possible memory leak when the same
	header in request specified more than once). Thanks to
	Erwin van Doorn for pointing this out.
	'-S' option is gone. Setting up '-s' option (or ssl_certificate in the
	config file) automatically switches shttpd to SSL mode.
	'-V' option added for realtime statistics monitoring.
	By default, no logging is done (access log and error log)
	Windows package is now just zip-ped *.exe and config file, no
	Fixed bug with POST with no data in embedded configuration,
	thanks for Peter Kuo for reporting.
	Fixed PUT handling, thanks to Bright Xu

	S_ISDIR patch, strict Linux compilation, thanks to Ying Zhang
	a bug in embedded POST handling is fixed, thanks to Ying Zhang
	endpwent() is gone, Linux does not like it.
	added shttpd_setopt() and shttpd_register_mountpoint(),
	thanks to Dave Fancella.
	POST problems solved thanks to Bryan Hanks
	Code refactoring.
	Fixed environment preparation for CGI  in spawncgi().
	Support for resume download (Range header).
	stderr from CGI programs was routed to the client, now it  is not.
	Also check for authentification timeout is gone.
	Fixed index substitution bug, thanks to Chris.
	PATH_INFO mechanism is gone also.
	POST support for embedded. Config file support.
	Changed default expiration time to request time +1 hour.
	Fixed do_embedded: multiple user calls.
	Thanks to  Mcken Mak for pointing that out
	Fixed bug with query_string
	Processing of user-defined mimetype file had a bug, fixed.
	Thanks to Oliver Bottcher for reporting that.
	MSIE bug workaround for authorization. CGI senderr() bug fixed.
	Added -A command line option for editing .htpasswd files,
	to eliminate the need of `htdigest' utility.
	Made wrapper function around snprintf().
	Security holes are fixed. Thanks to Adam Zeldis for his
	excellent code review and report.
	Bug in mysocketpair(), fix suggested by David Weibel
	ARM build did not like headers parisng sscanf() format string,
	slightly reimplemented. Nicer directory listing, file sizes
	in human-readable format, thanks to Rasmus Andersson.
	Typo introduced when inetd support was added: shttpd_poll did
	not set sockaddr length before accept(), fixed.
	Added shttpd_template()
	-DEMBEDDED build fixed.
	Fixed PATH_TRANSLATED variable.
	Implemented -I option (inetd mode), thanks to Toby Peterson
	All HTTP headers are exported to CGI as HTTP_* variables.
	CGIs to execute in  their own directories. Thanks to Yair Lenga.
	-u option now takes login name, not numeric UID.
	If -u option  is set, setgid() and setuid() are done.
	Thanks to Ronald Reed.
	Fixed authorization code to work with IE  added shttpd_protect_url()
	Using standard FILENAME_MAX for paths.
	Implemented EMBEDDED MT case.
	Added embedded interface
	Rewrite. Not using vectors for parsing.
	Windows GUI code  was thrown out.
	Support for PUT and DELETE methods.
	Put check for the method  (function setmethod()).
	Memory leak fixed in redirect().
	Support for user-defined mime types file
	Basic authentication is gone. Digest auth (MD5) is used instead.
	Directory Listing support.
	'Kernel' rewritten. there is no global select() anymore.
	win32 GUI settings are stored in HKCU, thanks Ben Truscott
	Fixed CGI headers output (newline was missed).
	Thanks to Arno Schuring and Frash.
	After start, change current dir to docroot.
	Optimized environment build for CGI.
	Added few more env variables (REMOTE_ADDR, USER_AGENT, PATH_INFO, etc).
	Access log file opened once at start time, not on every request.
	Added GUI for Windows
	For regular files, added headers: Content-Length,
	Date, Last-Modified, Etag.
	Fixed win32 CGI: passing environment to spawaned script.
	All replies are now set to HTTP 1.1 instead of HTTP 1.0
	Better error reporting (404, 500).
	Fixed CGI handling for win32,
	when CGI file is a native executable, not a script
	Redirecting errors to a file.
	Fixed 'page contains no data' bug.
	Multiple index files support